Data processing apparatus, data processing method, data processing system, and data processing program
The data processing device stabilizes transmission delay times and optimizes data transfer by using RDMA and TCP/IP with thinning and compression/decompression, addressing unstable operations and labor-intensive data transfer in 3D point cloud data transmission.
Patent Information
- Application Number
- JP2024105526
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-28
- Publication Date
- 2026-01-16
AI Technical Summary
Existing data transmission methods for 3D point cloud data, including RDMA and TCP/IP, result in unstable operation due to varying transmission delay times, and transferring large data sets is time-consuming and labor-intensive, especially when analyzing 3D point cloud data requires significant computing resources and is often performed at locations distant from acquisition sites.
A data processing device with multiple communication units (RDMA and TCP/IP) and processing units (thinning and compression/decompression) adjusts data transmission based on network and device specifications to stabilize delay times and reduce data size, using AI for optimization.
Stabilizes data transmission delay times and reduces transmission time by adapting to different communication methods and optimizing data size, enhancing efficiency and reducing labor intensity in data transfer.
Smart Images

Figure 2026006509000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a data processing device, a data processing method, a data processing system, and a data processing program for processing three-dimensional point cloud data generated by measuring roads, railways, buildings, etc. with a measuring device. [Background technology]
[0002] 3D point cloud data is generated by measuring an object using a measuring device such as a laser scanner installed on a moving object such as a vehicle. The 3D point cloud data generated by the measuring device is managed on a server or the like, and is transmitted to the requesting device in response to a request from another device or application that requires the 3D point cloud data.
[0003] As a technique for transmitting three-dimensional point cloud data, for example, Patent Document 1 discloses a technique for reconstructing (data compression, etc.) three-dimensional point cloud data in accordance with the network status, application status, etc., and transmitting the reconstructed data. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Special Publication No. 2023-509730 Summary of the Invention [Problem to be solved by the invention]
[0005] In recent years, RDMA (Remote Direct Memory Access) communication has attracted attention as a technology for reducing latency in data transmission. Unlike commonly used TCP / IP (Transmission Control Protocol / Internet Protocol) data transmission, RDMA data transmission does not involve processing by a CPU (Central Processing Unit), resulting in small processing latency within the device. This allows for a significant reduction in transmission latency. In addition, with the advancement of optical transmission technologies, such as IOWN (Innovative Optical and Wireless Network), RDMA is also becoming widespread between devices located far away.
[0006] Here, some devices connected to a communication network do not support RDMA communication. Therefore, devices that support RDMA communication must switch communication methods depending on the specifications and performance of the receiving device when transmitting data. Furthermore, for example, when performing data transmission that requires real-time performance, it is necessary to adjust the amount of data transmitted per unit time depending on the difference in transmission delay time between the communication methods used, so that the difference in delay time when transmitting similar data is approximately the same regardless of the communication method. According to the technology described in Patent Document 1, it is possible to adjust the amount of data transmitted by reconstructing 3D point cloud data depending on the network status and application status. However, the technology described in Patent Document 1 does not adjust the amount of data transmitted depending on the communication method. Therefore, when switching between multiple communication methods, including RDMA, variations in transmission delay time occur, which may result in unstable operation.
[0007] In addition, analyzing 3D point cloud data requires enormous computing resources, and there are only a limited number of locations (analysis locations) where analysis can be performed; the site where the 3D point cloud data was acquired is often far from the analysis location; and 3D point cloud data is large in size, so transferring it to the analysis location via an internet line takes time. For these reasons, 3D point cloud data is often sent by mail to the necessary locations (analysis locations, service locations that utilize point cloud data), which is time-consuming and labor-intensive.
[0008] The present disclosure has been made in consideration of the above, and aims to provide a data processing device that can stabilize data transmission delay time when multiple communication methods with different processing delay times are used in combination. [Means for solving the problem]
[0009] In order to solve the above-mentioned problems and achieve the objectives, the present disclosure provides a data processing device that transmits, receives, and analyzes three-dimensional point cloud data, characterized by comprising: a first communication processing unit that performs communication corresponding to a first communication method; a second communication processing unit that performs communication corresponding to a second communication method that has a smaller data transmission processing delay time than the first communication method; a thinning processing unit that performs thinning processing on the three-dimensional point cloud data transmitted by the first communication processing unit when a specified thinning execution condition is satisfied; and a compression / decompression unit that performs compression processing on the three-dimensional point cloud data transmitted by the first communication processing unit when a specified compression execution condition is satisfied, and that performs decompression processing on the compressed three-dimensional point cloud data when the first communication processing unit receives the compressed three-dimensional point cloud data. [Effects of the Invention]
[0010] According to the present disclosure, it is possible to obtain an advantageous effect of providing a data processing device capable of stabilizing the data transmission delay time when multiple communication methods with different processing delay times are used in combination. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating a configuration example of a data processing system according to a first embodiment. [Figure 2] FIG. 1 is a diagram illustrating an example of a functional block configuration of a data processing device according to a first embodiment. [Figure 3] 10 is a flowchart showing an example of an operation of the data processing device according to the first embodiment to transmit three-dimensional point cloud data. [Figure 4] 10 is a flowchart illustrating an example of an operation of the data processing device according to the first embodiment to receive three-dimensional point cloud data. [Figure 5] FIG. 10 is a diagram illustrating an example of a functional block configuration of a data processing device according to a second embodiment. [Figure 6] 10 is a flowchart showing an example of an operation of a data processing device according to a second embodiment to transmit three-dimensional point cloud data. [Figure 7] FIG. 10 is a diagram illustrating an example of a functional block configuration of a data processing device according to a third embodiment. [Figure 8] 10 is a flowchart showing an example of an operation of a data processing device according to a third embodiment to transmit three-dimensional point cloud data. [Figure 9] 10 is a flowchart showing an example of an operation of the data processing device according to the third embodiment to receive three-dimensional point cloud data. [Figure 10] FIG. 10 is a diagram illustrating an example of a functional block configuration of a data processing device according to a fourth embodiment. [Figure 11] 10 is a flowchart showing an example of an operation of a data processing device according to a fourth embodiment to transmit three-dimensional point cloud data. [Figure 12] FIG. 13 is a diagram illustrating an example of a functional block configuration of a data processing device according to a fifth embodiment. [Figure 13] FIG. 20 is a diagram illustrating an example of a functional block configuration of a data processing device according to a sixth embodiment. [Figure 14] 13 is a flowchart showing an example of an operation of a data processing device according to a sixth embodiment to transmit three-dimensional point cloud data. [Figure 15] 13 is a flowchart showing an example of an operation of the data processing device according to the sixth embodiment to receive three-dimensional point cloud data. [Figure 16]FIG. 13 is a diagram illustrating an example of a functional block configuration of a data processing device according to a seventh embodiment. [Figure 17] 13 is a flowchart showing a first operation example of the data processing device according to the seventh embodiment. [Figure 18] 13 is a flowchart showing a second operation example of the data processing device according to the seventh embodiment. [Figure 19] 13 is a flowchart showing a third operation example of the data processing device according to the seventh embodiment. [Figure 20] 13 is a flowchart showing a fourth operation example of the data processing device according to the seventh embodiment. [Figure 21] 13 is a flowchart showing a fifth operation example of the data processing device according to the seventh embodiment. [Figure 22] 13 is a flowchart showing a sixth operation example of the data processing device according to the seventh embodiment. [Figure 23] FIG. 1 is a diagram illustrating an example of a control circuit that realizes a data processing device according to a first embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] A data processing device, a data processing method, a data processing system, and a data processing program according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0013] Embodiment 1 FIG. 1 illustrates a configuration example of a data processing system 100 according to a first embodiment. The data processing system 100 includes two communication networks, an RDMA network 50 supporting RDMA communication and the Internet 60, a data processing device 1 connectable to both the RDMA network 50 and the Internet 60, and a data processing device 3 connectable to the Internet 60. The multiple data processing devices 1 and 3 may be located over a wide area. For example, some of the data processing devices 1 and 3 may be installed in urban areas, while the remaining data processing devices 1 and 3 may be installed in remote areas such as suburban areas where renewable energy is used at a high rate. The same applies to the locations of the multiple data processing devices 3. Some or all of the multiple data processing devices 1 and 3 may be located in the cloud. Furthermore, the specifications and performance of the multiple data processing devices 1 do not need to be identical. For example, devices with different processing capabilities may be mixed, or functions requiring computational resources may be installed only in devices with high processing capabilities. The same applies to the multiple data processing devices 3.
[0014] The data processing device 1 and the data processing device 3 have a function to acquire and store three-dimensional point cloud data from a three-dimensional point cloud data measuring device 200 that generates three-dimensional point cloud data. The data processing device 1 and the data processing device 3 also have a function to provide the three-dimensional point cloud data stored in the device to another device (the data processing device 1 or the data processing device 3), and a function to acquire three-dimensional point cloud data stored in the other device from the other device.
[0015] The data processing device 1 includes a communication unit 10 that performs communication via an RDMA network 50 and communication via the Internet 60, and a data management unit 20 that manages the 3D point cloud data acquired directly from the 3D point cloud data measuring device 200 and the 3D point cloud data acquired from another data processing device 1 or data processing device 3. Although not shown in Fig. 1, the data processing device 3 has the same configuration as the data processing device 1. However, the communication unit that configures the data processing device 3 is only capable of TCP / IP communication via the Internet 60.
[0016] When the data processing device 1 provides 3D point cloud data stored in itself to another data processing device 1, it transmits the data to the other data processing device 1 via the RDMA network 50. When the data processing device 1 provides 3D point cloud data stored in itself to a data processing device 3, it transmits the data to the data processing device 3 via the Internet 60. At this time, the data processing device 1 adjusts the size of the data to be transmitted as necessary. A method for adjusting the size of the data to be transmitted will be described later. When the data processing device 1 acquires 3D point cloud data stored in another data processing device 1, it receives the data from the other data processing device 1 via the RDMA network 50. When the data processing device 1 acquires 3D point cloud data stored in a data processing device 3, it receives the data from the data processing device 3 via the Internet 60.
[0017] Fig. 2 is a diagram showing an example of a functional block configuration of the data processing device 1 according to the first embodiment. In Fig. 2, the same components as those in Fig. 1 are denoted by the same reference numerals.
[0018] The communication unit 10 of the data processing device 1 includes a TCP / IP communication processing unit 11 that connects to the Internet 60 and performs TCP / IP communication, an RDMA communication processing unit 12 that connects to the RDMA network 50 and performs RDMA communication, a request transmission / reception unit 14 that transmits and receives various requests to and from other data processing devices 1 or 3, and a network discrimination unit 15 that discriminates the network to be used when transmitting and receiving three-dimensional point cloud data. The request transmission / reception unit 14 and the network discrimination unit 15 constitute the communication control unit 13. Examples of the various requests transmitted and received by the request transmission / reception unit 14 include a request to transmit three-dimensional point cloud data, a request to execute analysis processing on the three-dimensional point cloud data, and a request to transmit the analysis results of the three-dimensional point cloud data.
[0019] In this embodiment, TCP / IP communication is defined as communication corresponding to a first communication method, and RDMA communication is defined as communication corresponding to a second communication method. That is, TCP / IP communication processing unit 11 corresponds to a first communication processing unit that performs communication corresponding to the first communication method, and RDMA communication processing unit 12 corresponds to a second communication processing unit that performs communication corresponding to the second communication method, which has a smaller delay time in data transmission processing than the first communication method.
[0020] The data management unit 20 of the data processing device 1 includes a thinning processing unit 22 that performs thinning processing on 3D point cloud data that requires data size reduction, a compression / decompression unit 23 that performs compression processing on the 3D point cloud data that requires data size reduction and also performs decompression processing on the compressed 3D point cloud data, and a 3D point cloud data storage unit 24 that stores the 3D point cloud data. The thinning processing unit 22 and the compression / decompression unit 23 constitute a data processing unit 21.
[0021] Next, an explanation will be given of the operation of the data processing device 1 transmitting three-dimensional point cloud data to another data processing device 1 or data processing device 3, and the operation of the data processing device 1 receiving three-dimensional point cloud data from another data processing device 1 or data processing device 3. In the following explanation, for convenience of explanation, the data processing device 1 or data processing device 3 that transmits the three-dimensional point cloud data may be referred to as a transmitting-side device, and the data processing device 1 or data processing device 3 that receives the three-dimensional point cloud data may be referred to as a receiving-side device.
[0022] (3D point cloud data transmission operation) FIG. 3 is a flowchart illustrating an example of an operation of the data processing device 1 according to the first embodiment to transmit three-dimensional point cloud data.
[0023] In the operation of transmitting 3D point cloud data, first, the request transmitting / receiving unit 14 receives a 3D point cloud data transmission request from another data processing device 1 or data processing device 3 (step S101). The 3D point cloud data transmission request includes information specifying the requested 3D point cloud data (hereinafter referred to as data specification information). The data specification information is, for example, coordinate information indicating the location where measurement was performed to obtain the 3D point cloud data. Information combining information on the date and time when the measurement was performed and the coordinate information may be used as the data specification information. A space ID (Identifier) that uniquely indicates a certain area in space may also be used as the data specification information.
[0024] Next, the network determination unit 15 determines whether the network of the transmission path of the requested 3D point cloud data is the RDMA network 50 (step S102). The network determination unit 15 determines whether the network of the transmission path is the RDMA network 50, for example, by referring to a table stored in advance. Specifically, the network determination unit 15 stores a table in which information about all data processing devices 1 and 3 constituting the data processing system 100 is registered, and when the request transmission / reception unit 14 receives a 3D point cloud data transmission request, the network determination unit 15 determines whether the device that sent the request is a data processing device 1 capable of RDMA communication by referring to the stored table. Note that the method of determining the network is not limited to this. For example, if the network of the reception path when the 3D point cloud data transmission request is received in step S101 is the RDMA network 50, the network determination unit 15 may determine that the network of the transmission path of the 3D point cloud data is the RDMA network 50. The request to send 3D point cloud data may include information regarding the network of the transmission path of the 3D point cloud data, and the network discrimination unit 15 may check this information to determine whether the network of the transmission path of the 3D point cloud data is an RDMA network 50.
[0025] If the network of the transmission path for the requested 3D point cloud data is RDMA network 50 (step S102: Yes), RDMA communications processing unit 12 transmits the 3D point cloud data by RDMA communications (step S103). Specifically, RDMA communications processing unit 12 reads the requested 3D point cloud data from 3D point cloud data storage unit 24, and transmits it to RDMA network 50 with the receiving device (the other data processing device 1 as the data destination) as the destination.
[0026] On the other hand, if the network of the transmission path of the requested 3D point cloud data is not the RDMA network 50 (step S102: No), the TCP / IP communication processor 11 determines whether or not thinning of the requested 3D point cloud data is necessary (step S104). The TCP / IP communication processor 11 determines that thinning is necessary when, for example, any of the following thinning implementation conditions (1) to (4) is met.
[0027] (1) When the received 3D point cloud data transmission request contains information specifying either "point cloud density" or "data size", or both. (2) If the size of the requested 3D point cloud data is larger than the predetermined size (3) When the time required to complete transmission, calculated based on the size of the requested 3D point cloud data and the line speed of the data transmission path, exceeds the predetermined time. (4) When the data receiving device 3 is unable to receive large amounts of data due to a lack of resources or the like, and a transmission error occurs more than a predetermined number of times in succession.
[0028] If the density of the three-dimensional point cloud data is low and thinning makes it impossible to maintain the minimum required data quality, thinning may not be performed even if the thinning execution conditions are met.
[0029] If the TCP / IP communication processing unit 11 determines that the requested three-dimensional point cloud data needs to be thinned out (step S104: Yes), the thinning processing unit 22 performs thinning processing on the requested three-dimensional point cloud data (step S105).
[0030] If the TCP / IP communications processor 11 determines that the requested 3D point cloud data does not need to be thinned out (step S104: No), or after the thinning out process by the thinning out processor 22 in step S105 is completed, the TCP / IP communications processor 11 determines whether the requested 3D point cloud data needs to be compressed (step S106). The TCP / IP communications processor 11 determines that compression is necessary when, for example, any of the following compression implementation conditions (a) to (d) is met:
[0031] (a) When the received 3D point cloud data transmission request includes information specifying "compression" (b) When the size of the requested 3D point cloud data is larger than the predetermined size (c) When the time required to complete transmission, calculated based on the size of the requested 3D point cloud data and the line speed of the data transmission path, is longer than the predetermined time. (d) When the data receiving side data processing device 3 is in a state where it cannot receive large-sized data due to a lack of resources or the like, and a transmission error occurs consecutively a predetermined number of times or more.
[0032] If the TCP / IP communication processing unit 11 determines that the requested three-dimensional point cloud data needs to be compressed (step S106: Yes), the compression / decompression unit 23 performs compression processing on the requested three-dimensional point cloud data (step S107).
[0033] The compression conditions (b) to (d) used to determine whether compression is necessary are the same as the thinning conditions (2) to (4) used to determine whether thinning is necessary. Therefore, it may be set in advance whether thinning or compression is to be performed with priority when each condition is met. For example, if thinning is set to be performed with priority and the size of the requested 3D point cloud data is larger than a predetermined size, the thinning unit 22 first performs thinning. If the size of the 3D point cloud data after thinning is larger than the predetermined size, that is, if the thinning alone cannot reduce the data size to or below the predetermined size, the compression / decompression unit 23 then performs compression. If the size of the 3D point cloud data after thinning is smaller than the predetermined size, the compression / decompression unit 23 does not perform compression.
[0034] If the TCP / IP communication processing unit 11 determines that compression of the requested 3D point cloud data is unnecessary (step S106: No), or after the compression process by the compression / decompression unit 23 in step S107 is completed, the TCP / IP communication processing unit 11 transmits the 3D point cloud data by TCP / IP communication (step S108). Specifically, the TCP / IP communication processing unit 11 transmits the requested 3D point cloud data, or the size-adjusted 3D point cloud data obtained by performing at least one of thinning and compression on the requested 3D point cloud data, to the Internet 60, addressed to the receiving device (data processing device 3 as the data destination).
[0035] In this way, when transmitting 3D point cloud data to the RDMA network 50, the data processing device 1 transmits the requested 3D point cloud data as is without processing it. When transmitting 3D point cloud data to the Internet 60, the data processing device 1 determines whether thinning and compression are necessary based on an instruction from the requesting data processing device 3, the size of the 3D point cloud data to be transmitted, the state of the communication line via the Internet 60, the state and performance of the requesting data processing device 3, etc., and transmits, according to the determination result, 3D point cloud data after size adjustment obtained by performing one or both of thinning and compression, or 3D point cloud data without size adjustment.
[0036] The determination of whether thinning is necessary in step S104 and the determination of whether compression is necessary in step S106 may be performed using AI (Artificial Intelligence). For example, an external learning device performs machine learning using learning data created based on information such as the communication speed of the line via the Internet 60, the size of the 3D point cloud data to be transmitted, the time required to decompress the compressed data on the receiving side, whether thinning processing is performed, and whether compression processing is performed, to generate a trained model for determining whether thinning processing and compression processing are performed. Using this trained model, the TCP / IP communication processing unit 11 determines whether thinning processing and compression processing are each required.
[0037] (3D point cloud data reception operation) FIG. 4 is a flowchart illustrating an example of an operation of the data processing device 1 according to the first embodiment to receive three-dimensional point cloud data.
[0038] In the operation of receiving 3D point cloud data, first, request transmitting / receiving unit 14 transmits a 3D point cloud data transmission request (step S201). As described in the operation of transmitting 3D point cloud data, the 3D point cloud data transmission request includes data specification information that specifies the 3D point cloud data requested to be transmitted. That is, request transmitting / receiving unit 14 generates a 3D point cloud data transmission request including the data specification information and transmits it to one or both of RDMA network 50 and Internet 60. If request transmitting / receiving unit 14 knows which device holds the requested 3D point cloud data, it generates a 3D point cloud data transmission request addressed to the transmitting device (data processing device 1 or data processing device 3) that holds the requested 3D point cloud data, and transmits it to RDMA network 50 if the destination is data processing device 1, or to Internet 60 if the destination is data processing device 3. In addition, if the request transmission / reception unit 14 does not know which device holds the requested 3D point cloud data, it sends a request to transmit 3D point cloud data to all data processing devices 1 and all data processing devices 3 other than its own device that constitutes the data processing system 100.
[0039] Next, network determination unit 15 determines whether the network of the transmission path for the 3D point cloud data requested in step S201 is RDMA network 50 (step S202). If network determination unit 15 knows which device holds the requested 3D point cloud data, it may make the determination based on the path along which request transmission / reception unit 14 transmitted the 3D point cloud data transmission request in step S201. In other words, if request transmission / reception unit 14 transmitted the 3D point cloud data transmission request to RDMA network 50, network determination unit 15 determines that the network of the transmission path for the 3D point cloud data is RDMA network 50.
[0040] If the network of the transmission path of the requested 3D point cloud data is RDMA network 50 (step S202: Yes), RDMA communication processing unit 12 receives the 3D point cloud data by RDMA communication (step S203). RDMA communication processing unit 12 transfers the received 3D point cloud data to 3D point cloud data storage unit 24, which stores the data.
[0041] On the other hand, if the network of the transmission path for the requested 3D point cloud data is not the RDMA network 50 (step S202: No), the TCP / IP communication processing unit 11 receives the 3D point cloud data via TCP / IP communication (step S204) and determines whether or not decompression of the received 3D point cloud data is necessary, i.e., whether or not the received 3D point cloud data is 3D point cloud data that has been compressed by the transmitting device (step S205).
[0042] If the TCP / IP communication processing unit 11 determines that the received 3D point cloud data needs to be decompressed (step S205: Yes), the compression / decompression unit 23 performs a decompression process on the received 3D point cloud data (step S206). The compression / decompression unit 23 transfers the decompressed 3D point cloud data obtained by performing the decompression process to the 3D point cloud data storage unit 24, which stores the decompressed 3D point cloud data.
[0043] If the TCP / IP communication processing unit 11 determines that it is not necessary to decompress the received 3D point cloud data (step S205: No), the operation ends. In this case, the TCP / IP communication processing unit 11 transfers the 3D point cloud data received in step S204 to the 3D point cloud data storage unit 24, which stores it.
[0044] In this way, when the data processing device 1 receives three-dimensional point cloud data from the Internet 60 rather than the RDMA network 50, it determines whether the received three-dimensional point cloud data has been compressed, and if it receives three-dimensional point cloud data that has been compressed, it performs decompression processing.
[0045] As described above, in the data processing device 1 according to the first embodiment, when transmitting 3D point cloud data held by the data processing device 1 itself to another data processing device 1 capable of RDMA communication, the RDMA communication processing unit 12 transmits the data via the RDMA network 50. When transmitting 3D point cloud data held by the data processing device 1 itself to a data processing device 3 not capable of RDMA communication, the TCP / IP communication processing unit 11 transmits the data via the Internet 60. Furthermore, when transmitting data via the Internet 60, which has a longer latency compared to communication via the RDMA network 50, the data processing device 1 determines whether to perform thinning and compression based on an instruction from the data processing device 3 at the data destination, the size of the 3D point cloud data to be transmitted, the status of the communication line via the Internet 60, the status and performance of the data processing device 3 at the data destination, and performs processing according to the determination result to reduce the data size. This reduces the time required to transmit 3D point cloud data via the Internet 60, and reduces the difference between the data transmission time when transmitting 3D point cloud data via RDMA communication and the data transmission time when transmitting 3D point cloud data via TCP / IP communication. Therefore, it is possible to reduce the difference in data transmission time due to differences in the communication method used when transmitting data, and to stabilize the transmission delay time.
[0046] Embodiment 2 Next, a second embodiment will be described. In this embodiment, the differences from the first embodiment will be mainly described. The configuration of the data processing system according to the second embodiment is the same as that of the first embodiment.
[0047] Fig. 5 is a diagram showing an example of a functional block configuration of a data processing device 1a according to the second embodiment. In Fig. 5, the same components as those in the data processing device 1 (see Fig. 2) described in the first embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1 will be omitted.
[0048] The data processing device 1a has a configuration in which the communication unit 10 of the data processing device 1 according to the first embodiment shown in Fig. 2 is replaced with a communication unit 10a. Also, the communication unit 10a has a configuration in which the RDMA communication processing unit 12 of the communication unit 10 of the data processing device 1 is replaced with an RDMA communication processing unit 12a.
[0049] The data processing device 1 described in the first embodiment transmits requested 3D point cloud data via RDMA communication or TCP / IP communication. In contrast, the data processing device 1a according to the second embodiment, when transmitting requested 3D point cloud data via RDMA communication, also transmits 3D point cloud data that is related to the requested 3D point cloud data and is likely to be requested in the future, if a predetermined condition is met. In other words, when transmitting data via RDMA communication under a condition where a predetermined condition is met, the data processing device 1a transmits not only the requested 3D point cloud data but also other related 3D point cloud data.
[0050] Because 3D point cloud data represents a portion of a measurement target, it is often used in conjunction with 3D point cloud data representing other portions. For example, during road inspections, a measuring device installed on a vehicle traveling on the road may perform measurements and the generated 3D point cloud data may be checked. Such inspections require 3D point cloud data covering the entire inspection area. However, due to limitations on the amount of data that can be transmitted in a single communication, a 3D point cloud data transmission request and data transmission are typically repeated multiple times. For this reason, when the data processing device 1a according to the second embodiment receives a 3D point cloud data transmission request while satisfying predetermined conditions, it also transmits related 3D point cloud data without waiting for the next 3D point cloud data transmission request.
[0051] Fig. 6 is a flowchart showing an example of an operation of the data processing device 1a according to the second embodiment to transmit three-dimensional point cloud data. In Fig. 6, the same step numbers are assigned to the same processes as in the flowchart of Fig. 3, which shows the operation of the data processing device 1 according to the first embodiment to transmit three-dimensional point cloud data. Of the processes shown in Fig. 6, the processes with the same step numbers as in the flowchart of Fig. 3, i.e., steps S101 to S108, will not be described.
[0052] After transmitting the 3D point cloud data via RDMA communication in step S103, the RDMA communications processing unit 12a determines whether the processing loads of both the own device and the receiving device are low, i.e., whether there is sufficient CPU / GPU (Graphics Processing Unit) resources in both the own device and the receiving device (step S111). For example, the RDMA communications processing unit 12a determines that there is sufficient CPU resources when the CPU usage rate of the data processing device 1a is equal to or lower than a predetermined threshold. If the data processing device 1a includes a CPU and a GPU, the RDMA communications processing unit 12a determines that there is sufficient CPU resources when the usage rates of the CPU and the GPU are equal to or lower than a predetermined threshold. The RDMA communications processing unit 12a obtains information about the status of the CPU / GPU resources of the receiving device, for example, by using a 3D point cloud data transmission request. That is, the receiving device transmits a 3D point cloud data transmission request including information about the status of the CPU / GPU resources of the own device, and the request transmission / reception unit 14 receives this request in step S101. In determining whether there is a surplus of CPU / GPU resources, the usage rate of the working memory used when the CPU / GPU performs calculations may also be taken into consideration.
[0053] If there is sufficient CPU / GPU resource in both the RDMA communication device and the receiving device (step S111: Yes), the RDMA communication processing unit 12a transmits 3D point cloud data around the requested location by RDMA communication (step S112). That is, the RDMA communication processing unit 12a transmits 3D point cloud data around the 3D point cloud data transmitted in step S103 to the receiving device. If there are multiple pieces of 3D point cloud data around the 3D point cloud data transmitted in step S103, the RDMA communication processing unit 12a selects and transmits any one of the pieces of 3D point cloud data. The RDMA communication processing unit 12a may transmit all of the multiple pieces of 3D point cloud data around the 3D point cloud data transmitted in step S103 by repeatedly selecting and transmitting one piece of 3D point cloud data around the 3D point cloud data transmitted in step S103. The RDMA communication processing unit 12a may also adjust the range of 3D point cloud data to be transmitted based on the available memory capacity of the RDMA communication device and the receiving device. For example, the larger the free memory capacity of the RDMA communications processing unit 12a's own device and the receiving device, the wider the range of 3D point cloud data it transmits.
[0054] If at least one of the device itself and the receiving device does not have sufficient CPU / GPU resources (step S111: No), the transmission operation ends.
[0055] When the data processing device 1a receives three-dimensional point cloud data, after sending a request to send three-dimensional point cloud data once, it continues to receive the three-dimensional point cloud data without sending a next request, but one receiving operation is the same as the operation in which the data processing device 1 in embodiment 1 receives three-dimensional point cloud data.
[0056] As described above, when transmitting 3D point cloud data in response to a request from a receiving device, the data processing device 1a according to the second embodiment transmits not only the requested 3D point cloud data but also peripheral 3D point cloud data related to the requested 3D point cloud data if the processing loads on both the device itself and the receiving device are low. This eliminates the need for the receiving device to repeatedly transmit 3D point cloud data transmission requests, thereby reducing processing delays and processing loads and enabling efficient transmission of 3D point cloud data.
[0057] Embodiment 3 Next, a third embodiment will be described. In this embodiment, the differences from the first embodiment will be mainly described. The configuration of the data processing system according to the third embodiment is the same as that of the first embodiment.
[0058] In the first embodiment, when the data processing device 1 receives a request to transmit 3D point cloud data, the data processing device 1 is assumed to hold the requested data. However, there may be cases where the requested data itself is not held and processing to prepare the requested data is required. For this reason, in this embodiment, a data processing device that performs processing to prepare the requested data will be described.
[0059] Fig. 7 is a diagram showing an example of a functional block configuration of a data processing device 1b according to the third embodiment. In Fig. 7, the same components as those in the data processing device 1 (see Fig. 2) described in the first embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1 will be omitted.
[0060] The data processing device 1b has a configuration in which the data management unit 20 of the data processing device 1 according to the first embodiment shown in Fig. 2 is replaced with a data management unit 20b. The data management unit 20b also has a registration processing unit 25 and an analysis processing unit 26 added to the data management unit 20 of the data processing device 1, and the registration processing unit 25 and the analysis processing unit 26 operate together with the thinning processing unit 22 and the compression / decompression unit 23 as a data processing unit 21b.
[0061] (3D point cloud data transmission operation) Fig. 8 is a flowchart showing an example of an operation of the data processing device 1b according to the third embodiment to transmit three-dimensional point cloud data. In Fig. 8, the same step numbers are assigned to processes similar to those in the flowchart of Fig. 3, which shows the operation of the data processing device 1 according to the first embodiment to transmit three-dimensional point cloud data. Of the processes shown in Fig. 8, the processes with the same step numbers as those in the flowchart of Fig. 3, i.e., the processes of steps S101 to S108, will not be described. Note that the data processing device 1b does not hold the three-dimensional point cloud data itself specified in the three-dimensional point cloud data transmission request received in step S101, and performs registration processing to prepare the specified three-dimensional point cloud data.
[0062] In the 3D point cloud data transmission operation by the data processing device 1b, after the request transmitting / receiving unit 14 receives a 3D point cloud data transmission request in step S101, the registration processing unit 25 performs registration processing (step S121). In step S121, the registration processing unit 25 generates 3D point cloud data specified in the 3D point cloud data transmission request received by the request transmitting / receiving unit 14 in step S101 based on other 3D point cloud data. For example, if the 3D point cloud data transmission request requests 3D point cloud data for a specific location and multiple 3D point cloud data for the specific location are held, the registration processing unit 25 registers the multiple data for the specific location to generate high-density point cloud data. If the 3D point cloud data contains missing data, the registration processing unit 25 registers multiple 3D data for the same location to fill in the missing data. As an example, if one-way driving data for a round trip is available for point cloud data of a road, the round-trip data is registered to create data that fills in missing data due to an oncoming vehicle or the like during measurement. Furthermore, for example, when a 3D point cloud data transmission request requests 3D point cloud data of a specific range, and the registration processing unit 25 does not hold 3D point cloud data of the requested specific range but holds 3D point cloud data including a portion of the specific range and 3D point cloud data including the remaining range of the specific range, the registration processing unit 25 creates 3D point cloud data of the requested specific range by registering the two held 3D point cloud data. When registering multiple 3D point cloud data, if there is a positional deviation between the 3D point cloud data to be processed, the positional deviation is corrected. The positional deviation is corrected using, for example, an ICP (Iterative Closest Point) algorithm.
[0063] In this way, when the data processing device 1b according to the third embodiment does not hold the 3D point cloud data specified in the 3D point cloud data transmission request, it performs a registration process to create the necessary 3D point cloud data by, for example, combining multiple related 3D point cloud data, and transmits the 3D point cloud data created by the registration process to the receiving device via RDMA communication or TCP / IP communication.
[0064] (3D point cloud data reception operation) Fig. 9 is a flowchart showing an example of an operation of the data processing device 1b according to the third embodiment to receive three-dimensional point cloud data. In Fig. 9, the same step numbers are assigned to the same processes as in the flowchart of Fig. 4, which shows the operation of the data processing device 1 according to the first embodiment to receive three-dimensional point cloud data. Of the processes shown in Fig. 9, the processes with the same step numbers as in the flowchart of Fig. 4, i.e., the processes of steps S201 to S206, will not be described again.
[0065] In the operation of receiving the 3D point cloud data by the data processing device 1b, after executing step S203 or step S206, or after the TCP / IP communication processing unit 11 determines in step S205 that decompression is not necessary, the analysis processing unit 26 performs analysis processing (step S211). In this step S211, the analysis processing unit 26 performs analysis processing such as difference analysis between multiple 3D point cloud data, structure limit analysis, feature extraction, and distance and angle measurement analysis, using the 3D point cloud data received by the TCP / IP communication processing unit 11 or the RDMA communication processing unit 12 and the 3D point cloud data stored in the 3D point cloud data storage unit 24, for example.
[0066] Before the analysis processing unit 26 performs the analysis processing, the registration processing unit 25 may perform a registration processing similar to step S121 in FIG. 8 described above, as necessary, to create 3D point cloud data to be analyzed. For example, if the transmitting device transmits multiple pieces of 3D point cloud data for a requested location without performing the registration processing in step S121 in FIG. 8, i.e., if multiple pieces of 3D point cloud data are received in the response (step S203 or S204) to the 3D point cloud data transmission request transmitted by the request transmitting / receiving unit 14 in step S201 (if multiple pieces of 3D point cloud data for the same location are received), the registration processing unit 25 registers the received multiple pieces of 3D point cloud data. Furthermore, if the data processing device 1b does not need to perform the analysis processing within itself, for example, if the data processing device 1b is configured in advance to have another data processing device 1b perform the analysis processing of the 3D point cloud data, the registration processing unit 25 may terminate its operation after performing the registration processing.
[0067] In this way, when the data processing device 1b of embodiment 3 receives three-dimensional point cloud data via RDMA communication or TCP / IP communication, it performs analysis processing of the received three-dimensional point cloud data, or analysis processing of data that combines the received three-dimensional point cloud data with three-dimensional point cloud data held by the device itself.
[0068] As described above, the data processing device 1b according to the third embodiment is equipped with the registration processing unit 25 and the analysis processing unit 26, and therefore, for example, when a 3D point cloud data transmission request specifying 3D point cloud data that is not held is received, the specified 3D point cloud data can be created based on other 3D point cloud data that is held.
[0069] Embodiment 4 Next, a fourth embodiment will be described. In this embodiment, the differences from the first embodiment will be mainly described. The configuration of the data processing system according to the fourth embodiment is the same as that of the first embodiment.
[0070] Fig. 10 is a diagram showing an example of a functional block configuration of a data processing device 1c according to the fourth embodiment. In Fig. 10, the same components as those in the data processing device 1 (see Fig. 2) described in the first embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1 will be omitted.
[0071] 2 according to the first embodiment is replaced with a communication unit 10c, and the data management unit 20 is replaced with a data management unit 20c. In addition, the communication unit 10c is configured such that the TCP / IP communication processing unit 11 and the RDMA communication processing unit 12 of the communication unit 10 of the data processing device 1 are replaced with a TCP / IP communication processing unit 11c and an RDMA communication processing unit 12c. In addition, the data management unit 20c is configured such that a traveling locus data storage unit 27 is added to the data management unit 20 of the data processing device 1.
[0072] When transmitting three-dimensional point cloud data in response to a request from a receiving device, the TCP / IP communication processing unit 11c and the RDMA communication processing unit 12c also transmit travel trajectory data, which will be described later.
[0073] The traveling trajectory data storage unit 27 stores traveling trajectory data indicating the traveling trajectory of the three-dimensional point cloud data measurement device 200 (see FIG. 1 ), which generates three-dimensional point cloud data. The traveling trajectory data is generated by the three-dimensional point cloud data measurement device 200. The three-dimensional point cloud data measurement device 200 repeatedly acquires its own position information using, for example, a global positioning system (GPS), and stores the acquired series of position information together to generate the traveling trajectory data. The three-dimensional point cloud data measurement device 200 may generate the traveling trajectory data while performing measurements to generate the three-dimensional point cloud data, or may generate the traveling trajectory data constantly, regardless of whether measurements are being performed. The traveling trajectory data stored in the traveling trajectory data storage unit 27 is acquired from the three-dimensional point cloud data measurement device 200 together with the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit 24.
[0074] The traveling trajectory data is stored in the traveling trajectory data storage unit 27 in a state linked to the 3D point cloud data stored in the 3D point cloud data storage unit 24. The traveling trajectory data and the 3D point cloud data may be linked in any manner. For example, they may be linked using a measurement ID assigned to each measurement, the time the measurement was performed, the time the data (3D point cloud data, traveling trajectory data) was generated, a spatial ID, or the like. They may also be linked using two or more pieces of information.
[0075] In the analysis process of 3D point cloud data, information on the location where the data was created may be required. For this reason, when transmitting 3D point cloud data in response to a request from a receiving device, the data processing device 1c according to this embodiment also transmits driving trajectory data linked to the 3D point cloud data to be transmitted.
[0076] Fig. 11 is a flowchart showing an example of an operation of the data processing device 1c according to the fourth embodiment to transmit three-dimensional point cloud data. In Fig. 11, the same step numbers are assigned to the same processes as those in the flowchart of Fig. 3, which shows the operation of the data processing device 1 according to the first embodiment to transmit three-dimensional point cloud data. Of the processes shown in Fig. 11, the processes with the same step numbers as those in the flowchart of Fig. 3, i.e., steps S101 to S102 and S104 to S107, will not be described again.
[0077] In step S102, if network determination unit 15 determines that the network of the transmission route is RDMA network 50 (step S102: Yes), RDMA communication processing unit 12c selects the driving trajectory data linked to the specified 3D point cloud data (step S131). The specified 3D point cloud data is the 3D point cloud data specified by the receiving-side device, that is, the 3D point cloud data specified in the 3D point cloud data transmission request received by request transmission / reception unit 14 in step S101.
[0078] Next, RDMA communications processing unit 12c transmits the 3D point cloud data and the driving trajectory data by RDMA communications (step S132). That is, RDMA communications processing unit 12c transmits the 3D point cloud data specified by the receiving-side device and the driving trajectory data selected in step S131 to RDMA network 50.
[0079] On the other hand, in step S102, if network determination unit 15 determines that the network of the transmission route is not RDMA network 50 (step S102: No), TCP / IP communication processing unit 11c selects the driving trajectory data linked to the specified 3D point cloud data (step S133). The processing of step S133 is the same as the processing of step S131 executed by RDMA communication processing unit 12c.
[0080] After that, when the processes of steps S104 to S107 are completed, the TCP / IP communication processing unit 11c transmits the 3D point cloud data and the driving trajectory data by TCP / IP communication (step S134). The process of this step S134 is the same as the process of step S132 executed by the RDMA communication processing unit 12c, except for the communication method.
[0081] As described above, when transmitting 3D point cloud data in response to a request from a receiving device, the data processing device 1c according to the fourth embodiment also transmits the traveling trajectory data linked to the specified 3D point cloud data. This eliminates the need to transmit the 3D point cloud data and the traveling trajectory data separately, allowing for efficient data transmission. Furthermore, since the linked 3D point cloud data and the traveling trajectory data are transmitted together, the receiving device can easily grasp the correspondence between the received 3D point cloud data and the traveling trajectory data.
[0082] Embodiment 5. Next, a fifth embodiment will be described. In this embodiment, the differences from the first and fourth embodiments will be mainly described. The configuration of the data processing system according to the fifth embodiment is the same as that of the first embodiment.
[0083] Fig. 12 is a diagram showing an example of a functional block configuration of a data processing device 1d according to the fifth embodiment. In Fig. 12, the same components as those in the data processing device 1c (see Fig. 10) described in the fourth embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1c will be omitted.
[0084] The data processing device 1d has a configuration in which the communication unit 10c of the data processing device 1c according to the fourth embodiment shown in Fig. 10 is replaced with a communication unit 10d, and the data management unit 20c is replaced with a data management unit 20d. Furthermore, the communication unit 10d has a configuration in which the TCP / IP communication processing unit 11c and the RDMA communication processing unit 12c of the communication unit 10c of the data processing device 1c are replaced with a TCP / IP communication processing unit 11d and an RDMA communication processing unit 12d. Furthermore, the data management unit 20d has a configuration in which an image data storage unit 28 is added to the data management unit 20c of the data processing device 1c.
[0085] When transmitting three-dimensional point cloud data in response to a request from a receiving device, the TCP / IP communication processing unit 11d and the RDMA communication processing unit 12d also transmit the traveling trajectory data described in the fourth embodiment and the image data described later.
[0086] The image data storage unit 28 stores image data generated by an imaging device such as a camera included in the three-dimensional point cloud data measurement device 200 (see FIG. 1 ), which generates three-dimensional point cloud data. The imaging device periodically or irregularly captures an image of an object to generate image data. The image data stored in the image data storage unit 28 is acquired from the three-dimensional point cloud data measurement device 200 together with the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit 24 and the traveling trajectory data stored in the traveling trajectory data storage unit 27.
[0087] The image data is stored in image data storage unit 28 in a state where it is linked to the three-dimensional point cloud data stored in three-dimensional point cloud data storage unit 24 and the traveling trajectory data stored in traveling trajectory data storage unit 27. The image data is linked to the three-dimensional point cloud data and the traveling trajectory data in the same manner as in the case where the three-dimensional point cloud data and the traveling trajectory data are linked as described in the fourth embodiment.
[0088] The operation of the data processing device 1d to transmit the 3D point cloud data, the driving trajectory data, and the image data to the receiving device is the same as the operation of the data processing device 1c according to the fourth embodiment to transmit the 3D point cloud data and the driving trajectory data (see FIG. 11). Specifically, in steps S131 and S133 of the flowchart in FIG. 11 showing the operation of the data processing device 1c, the data processing device 1d selects the driving trajectory data and the image data associated with the designated 3D point cloud data. In addition, in steps S132 and S134 of the flowchart in FIG. 11, the 3D point cloud data, the driving trajectory data, and the image data are transmitted by a communication method corresponding to the transmission route.
[0089] As described above, when transmitting 3D point cloud data in response to a request from a receiving device, the data processing device 1d according to the fifth embodiment also transmits the travel path data and image data associated with the specified 3D point cloud data, thereby achieving the same effects as those of the fourth embodiment.
[0090] Embodiment 6 Next, a sixth embodiment will be described. In this embodiment, the differences from the first and fourth embodiments will be mainly described. The configuration of the data processing system according to the sixth embodiment is the same as that of the first embodiment.
[0091] Fig. 13 is a diagram showing an example of a functional block configuration of a data processing device 1e according to the sixth embodiment. In Fig. 13, the same components as those in the data processing device 1 (see Fig. 2) described in the first embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1 will be omitted.
[0092] 2 according to the first embodiment is replaced with a communication unit 10e, and the data management unit 20 is replaced with a data management unit 20e. Also, the communication unit 10e is configured such that the TCP / IP communication processing unit 11 and the RDMA communication processing unit 12 of the communication unit 10 of the data processing device 1 are replaced with a TCP / IP communication processing unit 11e and an RDMA communication processing unit 12e. Also, the data management unit 20e is configured such that a pseudo driving trajectory generation unit 29 and a driving trajectory data storage unit 27 are added to the data management unit 20 of the data processing device 1, and the pseudo driving trajectory generation unit 29 operates as the data processing unit 21e together with the thinning processing unit 22 and the compression / decompression unit 23.
[0093] Like the data processing device 1c of embodiment 4, when transmitting three-dimensional point cloud data in response to a request from a receiving device, the data processing device 1e also transmits driving trajectory data linked to the three-dimensional point cloud data to be transmitted.
[0094] In the fourth embodiment, it has been explained that when the receiving device transmits the specified 3D point cloud data, the associated traveling trajectory data is always present. However, there may be cases where the traveling trajectory data associated with the specified 3D point cloud data does not exist for some reason. Therefore, when the traveling trajectory data associated with the specified 3D point cloud data does not exist, the data processing device 1e according to this embodiment generates pseudo traveling trajectory data equivalent to the corresponding traveling trajectory data and transmits the generated pseudo traveling trajectory data.
[0095] When the communication unit 10e transmits three-dimensional point cloud data to which no linked driving trajectory data exists, the pseudo driving trajectory generation unit 29 generates pseudo driving trajectory data equivalent to the driving trajectory data linked to the three-dimensional point cloud data to be transmitted.
[0096] FIG. 14 is a flowchart illustrating an example of an operation of the data processing device 1e according to the sixth embodiment to transmit three-dimensional point cloud data. Specifically, the flowchart in FIG. 14 illustrates an operation of the data processing device 1e to generate pseudo-travel trajectory data and transmit the pseudo-travel trajectory data together with the three-dimensional point cloud data when the data processing device 1e does not hold travel trajectory data linked to the three-dimensional point cloud data. In FIG. 14, the same step numbers are assigned to processes similar to those in the flowchart in FIG. 3, which illustrates the operation of the data processing device 1 according to the first embodiment to transmit three-dimensional point cloud data. Among the processes illustrated in FIG. 14, the processes with the same step numbers as those in the flowchart in FIG. 3, i.e., steps S101 to S102 and S104 to S107, will not be described. It is assumed that the data processing device 1e does not hold travel trajectory data linked to the three-dimensional point cloud data specified in the three-dimensional point cloud data transmission request received in step S101.
[0097] In the operation of transmitting 3D point cloud data by the data processing device 1e, after the request transmitting / receiving unit 14 receives a 3D point cloud data transmission request in step S101, the travel trajectory data associated with the specified 3D point cloud data is not stored in the travel trajectory data storage unit 27, so the pseudo travel trajectory generation unit 29 generates pseudo travel trajectory data corresponding to the travel trajectory data associated with the specified 3D point cloud data (step S141). A method for generating pseudo travel trajectory data by the pseudo travel trajectory generation unit 29 will be described. For example, the pseudo travel trajectory generation unit 29 reads and analyzes the specified 3D point cloud data from the 3D point cloud data storage unit 24 to detect roads, and traces the portions of the point cloud representing the road surface with the highest density, resulting in the pseudo travel trajectory data. Alternatively, the pseudo travel trajectory generation unit 29 analyzes the 3D point cloud data to detect road edges or centerlines, and then connects the detected road edges or centerlines to generate the pseudo travel trajectory data. Furthermore, the pseudo driving trajectory generation unit 29 may generate the pseudo driving trajectory data using AI. For example, machine learning is performed using learning data created based on the 3D point cloud data and the driving trajectory data linked thereto to generate a trained model for creating the pseudo driving trajectory data from the 3D point cloud data, and the pseudo driving trajectory generation unit 29 creates the pseudo driving trajectory data using this trained model and the 3D point cloud data specified by the receiving device.
[0098] In step S102, if network determination unit 15 determines that the network of the transmission path is RDMA network 50 (step S102: Yes), RDMA communication processing unit 12e transmits the specified 3D point cloud data and pseudo driving trajectory data by RDMA communication (step S142). That is, RDMA communication processing unit 12e transmits the 3D point cloud data specified by the receiving-side device and the pseudo driving trajectory data generated in step S141 to RDMA network 50.
[0099] On the other hand, in step S102, network determination unit 15 determines that the network of the transmission route is not RDMA network 50 (step S102: No), and then, when the processes of steps S104 to S107 are completed, TCP / IP communication processing unit 11e transmits the specified 3D point cloud data and pseudo driving trajectory data by TCP / IP communication (step S143). The process of step S143 is the same process as step S142 executed by RDMA communication processing unit 12e.
[0100] In addition, the operation of transmitting three-dimensional point cloud data when there is driving trajectory data linked to the three-dimensional point cloud data specified by the receiving device is the same as the operation of transmitting three-dimensional point cloud data by the data processing device 1c according to the fourth embodiment.
[0101] As described above, the data processing device 1e according to the sixth embodiment receives a 3D point cloud data transmission request from a receiving device, and if there is no traveling trajectory data linked to the 3D point cloud data specified in the received 3D point cloud data transmission request, generates pseudo traveling trajectory data and transmits it together with the 3D point cloud data. As a result, even if there is no traveling trajectory data linked to the 3D point cloud data to be transmitted to the receiving device, it is possible to transmit pseudo traveling trajectory data that is the same as the traveling trajectory data linked to the 3D point cloud data.
[0102] In this embodiment, the data processing device 1e is described as generating and transmitting pseudo-traveling trajectory data if there is no travel trajectory data associated with the 3D point cloud data to be transmitted when transmitting the 3D point cloud data. However, the pseudo-traveling trajectory data can also be generated by the receiving device. Therefore, the case where the receiving device generates the pseudo-traveling trajectory data will be described below.
[0103] FIG. 15 is a flowchart illustrating an example of an operation of the data processing device 1e according to the sixth embodiment to receive three-dimensional point cloud data. Specifically, the flowchart in FIG. 15 illustrates an operation of the data processing device 1e to generate pseudo-travel trajectory data associated with the received three-dimensional point cloud data because the data processing device 1e was unable to receive the travel trajectory data associated with the received three-dimensional point cloud data. In FIG. 15, the same step numbers are assigned to processes similar to those in the flowchart in FIG. 4, which illustrates the operation of the data processing device 1 according to the first embodiment to receive three-dimensional point cloud data. Among the processes illustrated in FIG. 15, the processes with the same step numbers as those in the flowchart in FIG. 4, i.e., steps S201 to S206, will not be described again. It should be noted that the transmitting device does not retain the travel trajectory data associated with the three-dimensional point cloud data specified in the three-dimensional point cloud data transmission request transmitted by the data processing device 1e in step S201, and does not generate and transmit the pseudo-travel trajectory data described above. In other words, the data processing device 1e receives only the three-dimensional point cloud data specified in the three-dimensional point cloud data transmission request sent in step S201, and does not receive any of the driving trajectory data or pseudo driving trajectory data linked to the three-dimensional point cloud data.
[0104] In the operation of receiving the three-dimensional point cloud data by the data processing device 1e, after executing step S203 or step S206, or after the TCP / IP communication processing unit 11e determines in step S205 that decompression is not necessary, the pseudo traveling trajectory generating unit 29 generates pseudo traveling trajectory data (step S221). The pseudo traveling trajectory generating unit 29 generates the pseudo traveling trajectory data in the same manner as in step S141 of the above-mentioned operation of transmitting the three-dimensional point cloud data.
[0105] In this way, it is also possible for the receiving device of the three-dimensional point cloud data to generate pseudo driving trajectory data.
[0106] Embodiment 7 Next, a seventh embodiment will be described. In this embodiment, the differences from the above-described first embodiment will be mainly described. The configuration of the data processing system according to the seventh embodiment is the same as that of the first embodiment.
[0107] Fig. 16 is a diagram showing an example of a functional block configuration of a data processing device 1f according to the seventh embodiment. In Fig. 16, the same components as those in the data processing device 1 (see Fig. 2) described in the first embodiment are denoted by the same reference numerals. The description of the components denoted by the same reference numerals as those in the data processing device 1 will be omitted.
[0108] The data processing device 1f has a configuration in which the communication unit 10 of the data processing device 1 according to the first embodiment shown in FIG. 2 is replaced with a communication unit 10f, and the data management unit 20 is replaced with a data management unit 20f. The communication unit 10f also has a configuration in which the request transmission / reception unit 14 of the communication unit 10 of the data processing device 1 according to the first embodiment is replaced with a request transmission / reception unit 14f, and an analysis execution device determination unit 16 is added, so that the request transmission / reception unit 14f, the network determination unit 15, and the analysis execution device determination unit 16 operate as a communication control unit 13f. The data management unit 20f also has a configuration in which an analysis processing unit 26 and a division processing unit 30 are added to the data management unit 20 of the data processing device 1, and the analysis processing unit 26 and the division processing unit 30, together with the thinning processing unit 22 and the compression / decompression unit 23, operate as a data processing unit 21f. The analysis processing unit 26 of the data processing device 1f is a processing unit similar to the analysis processing unit 26 included in the data processing device 1b (see FIG. 7) described in the third embodiment.
[0109] The data processing device 1b described in the third embodiment acquires 3D point cloud data from a transmitting device and performs analysis processing by combining the acquired data with the 3D point cloud data stored in the data processing device 1b itself. In contrast, the data processing device 1f according to the present embodiment has a function of requesting other data processing devices 1f to perform analysis processing and acquiring the analysis results performed by the other data processing devices 1f. Furthermore, when the data processing device 1f receives a request to perform analysis processing from the other data processing devices 1f, the data processing device 1f performs the analysis processing and transmits the obtained analysis results to the other data processing device 1f that issued the request. The target data for the analysis processing may be 3D point cloud data alone, or may be a combination of 3D point cloud data and associated travel trajectory data, or may be a combination of 3D point cloud data, associated travel trajectory data, and image data. Furthermore, the target data for the analysis processing may be data stored in the data processing device itself or may be data stored in the other data processing device 1f.
[0110] To avoid the explanation from becoming complicated, the present embodiment will be described by taking an example in which the target data for the analysis process is three-dimensional point cloud data.
[0111] The request transmission / reception unit 14f transmits and receives various requests, including a 3D point cloud data analysis request for requesting another data processing device 1f or the data processing device 3 to perform analysis processing on the 3D point cloud data. The analysis execution device determination unit 16 determines an analysis execution device that performs analysis processing on the 3D point cloud data. The analysis execution device determination unit 16 may determine its own device as the analysis execution device, or may determine another data processing device 1f or the data processing device 3 as the analysis execution device. When requesting analysis processing of the 3D point cloud data from multiple devices (another data processing device 1f, the data processing device 3), i.e., when there are multiple analysis execution devices, the division processing unit 30 divides the 3D point cloud data to be analyzed to generate the same number of 3D point cloud data as the number of analysis execution devices. Note that multiple analysis execution devices may each perform different analysis processing on the same 3D point cloud data. To accommodate such cases, the division processing unit 30 may perform not only division but also duplication of the 3D point cloud data to be analyzed. The division processing unit 30 may perform division processing and replication processing on one piece of three-dimensional point cloud data.
[0112] Fig. 17 is a flowchart showing a first operation example of the data processing device 1f according to the seventh embodiment. Fig. 17 shows an operation example in which analysis processing of three-dimensional point cloud data held by another data processing device 1f is performed by another data processing device 1f. In this embodiment, for convenience of explanation, the data processing device 1f or data processing device 3 that requests the performance of the analysis processing may be referred to as a request source device, and the data processing device 1f or data processing device 3 that is requested to perform the analysis processing may be referred to as a request destination device.
[0113] In the 3D point cloud data analysis operation shown in Fig. 17, first, the request transmission / reception unit 14f transmits a 3D point cloud data analysis request (step S301). The processing of this step S301 is the same as step S201 in Fig. 4 described in the first embodiment, except that the transmission target is a 3D point cloud data analysis request. The 3D point cloud data analysis request includes information specifying the analysis processing to be performed. Next, the network determination unit 15 determines whether the network on the transmission path of the 3D point cloud data is the RDMA network 50 (step S302). The processing of this step S302 is the same as step S202 in Fig. 4 described in the first embodiment.
[0114] If the network of the transmission path of the 3D point cloud data is an RDMA network 50 (step S302: Yes), the analysis execution device determination unit 16 determines the analysis execution device and determines whether there are multiple analysis execution devices, i.e., whether the analysis will be performed by multiple devices (step S303).
[0115] The analysis execution device determination unit 16 determines an analysis execution device by taking into consideration the performance (processing capacity) of the data processing device 1f constituting the data processing system, the load state of the device, the line speed of the transmission path of the 3D point cloud data, the eco-friendliness, the amount of greenhouse gas emissions, etc. The eco-friendliness is, for example, the proportion of renewable energy in the total energy (electricity) used by the device. For example, the analysis execution device determination unit 16 calculates an evaluation value for each data processing device 1f constituting the data processing system using the load state of the device, the line speed of the transmission path of the 3D point cloud data, the eco-friendliness, and the amount of greenhouse gas emissions, and determines the data processing device 1f and data processing device 3 having an evaluation value higher than a predetermined threshold as the analysis execution device.
[0116] The analysis execution device determination unit 16 may determine the analysis execution device based on the content of the analysis processing requested to be performed, the specifications of the data processing device 1f and the data processing device 3 (content of the analysis processing that each device can perform), the size of the 3D point cloud data to be analyzed, etc. For example, from among the data processing device 1f and the data processing device 3 that can perform the requested analysis processing, one or more devices with a processing load lower than a predetermined threshold may be selected and determined as the analysis execution device.
[0117] If the analysis is to be performed using multiple devices (step S303: Yes), the division processing unit 30 divides the 3D point cloud data to be analyzed (step S304). The division processing unit 30 may divide the 3D point cloud data equally based on the number of analysis performing devices, or may weight the data taking into account the performance and status of each analysis performing device and divide the 3D point cloud data so that the data has a different size for each analysis performing device. When dividing the 3D point cloud data so that the data has a different size for each analysis performing device, the division processing unit 30 may use AI to determine the size of the data to be analyzed by each analysis performing device. For example, an external learning device performs machine learning using learning data created based on the content of the analysis processing, the size of the 3D point cloud data to be analyzed, the line speed of the transmission path for the 3D point cloud data, the specifications and performance of each of the determined analysis performing devices, and the size of the 3D point cloud data actually transmitted to the analysis performing device, thereby generating a trained model for determining the data size for each analysis performing device when there are multiple analysis performing devices. Using this trained model, the division processing unit 30 determines the size of each of the multiple pieces of 3D point cloud data after division.
[0118] Next, RDMA communication processing unit 12 transmits each of the divided 3D point cloud data to each analysis execution device by RDMA communication (step S305). After that, data processing device 1f waits for each analysis execution device to finish analysis processing (step S306), and receives analysis results from each analysis execution device by RDMA communication (step S307).
[0119] On the other hand, if the analysis is performed by a single device (step S303: No), in step S305, the RDMA communication processing unit 12 transmits the 3D point cloud data to be analyzed to the analysis performing device via RDMA communication. After that, the data processing device 1f waits for the analysis performing device to finish the analysis processing (step S306), and once the analysis processing is performed, receives the analysis results via RDMA communication (step S307).
[0120] If the network of the transmission path of the 3D point cloud data is not the RDMA network 50 (step S302: No), the analysis execution device determination unit 16 determines whether or not the analysis is to be performed by multiple devices (step S308). This process is the same as the process in step S303 described above.
[0121] If the analysis is to be performed by a plurality of devices (step S308: Yes), the division processing unit 30 divides the 3D point cloud data to be analyzed (step S309). This process is the same as the process in step S304 described above.
[0122] The processes in steps S310 to S314 are the same as those in steps S104 to S108 in Fig. 3 described in embodiment 1. The processes in steps S315 and S316 are the same as those in steps S306 and S307 described above, except that TCP / IP communication is performed. The processes in steps S317 and S318 are the same as those in steps S205 and S206 in Fig. 4 described in embodiment 1.
[0123] Fig. 18 is a flowchart showing a second operation example of the data processing device 1f according to the seventh embodiment. Fig. 18 shows an operation example when the data processing device 1f operates as an analysis performing device, that is, when the data processing device 1f performs an analysis process on three-dimensional point cloud data held by another data processing device 1f or the data processing device 3, and transmits the analysis result to the requesting device.
[0124] In the analysis operation of 3D point cloud data shown in Fig. 18, first, the request transmission / reception unit 14f receives a 3D point cloud data analysis request (step S321). The process of this step S321 is the same as step S101 in Fig. 3 described in the first embodiment, except that the received request is a 3D point cloud data analysis request. Next, the network determination unit 15 determines whether the network of the transmission path of the 3D point cloud data is the RDMA network 50 (step S322). The process of this step S322 is the same as step S102 in Fig. 3 described in the first embodiment.
[0125] If the network of the transmission path for the 3D point cloud data is RDMA network 50 (step S322: Yes), RDMA communications processing unit 12 receives the 3D point cloud data via RDMA communications (step S323), and analysis processing unit 26 performs analysis processing on the 3D point cloud data (step S324). Analysis processing unit 26 performs analysis processing on the 3D point cloud data received by RDMA communications processing unit 12 in step S323. At this time, analysis processing unit 26 performs the analysis processing specified in the 3D point cloud data analysis request received by request transmission / reception unit 14f in step S321.
[0126] When the analysis processing by the analysis processing unit 26 is completed, the RDMA communication processing unit 12 transmits the analysis result of the three-dimensional point cloud data by RDMA communication (step S325).
[0127] If the network of the transmission path of the three-dimensional point cloud data is not the RDMA network 50 (step S322: No), the TCP / IP communication processing unit 11 receives the three-dimensional point cloud data through TCP / IP communication (step S326).
[0128] The processes in steps S327 and S328 are similar to those in steps S205 and S206 in FIG. 4 described in the first embodiment.
[0129] Next, the analysis processing unit 26 performs analysis processing on the 3D point cloud data (step S329). The analysis processing unit 26 performs analysis processing on the 3D point cloud data received by the TCP / IP communication processing unit 11 in step S326, or analysis processing on the 3D point cloud data after decompression processing in step S328. At this time, the analysis processing unit 26 performs the analysis processing specified in the 3D point cloud data analysis request received by the request transmission / reception unit 14f in step S321.
[0130] The processing in steps S330 to S334 is the same as that in steps S104 to S108 in FIG. 3 described in the first embodiment, except that the processing target is the result of the analysis processing performed in step S329.
[0131] Fig. 19 is a flowchart showing a third operation example of the data processing device 1f according to the seventh embodiment. Fig. 19 shows an operation example in which another data processing device 1f or the data processing device 3 is requested to perform an analysis process on 3D point cloud data held by the other data processing device 1f or the data processing device 3, and the analysis result is received from the requested device. It is assumed that the data processing device 1f does not know which device holds the 3D point cloud data to be analyzed.
[0132] In the analysis operation of the 3D point cloud data shown in Fig. 19, first, the request transmitting / receiving unit 14f transmits an analysis request for the 3D point cloud data held by the other device (step S341). The processing of this step S341 is the same as step S201 in Fig. 4 described in the first embodiment, except that the transmission target is an analysis request for the 3D point cloud data held by the other device. The analysis request for the 3D point cloud data held by the other device includes information specifying the 3D point cloud data to be analyzed (data specification information) and information specifying the analysis process to be performed. The request transmitting / receiving unit 14f transmits the analysis request for the 3D point cloud data to all data processing devices 1f and all data processing devices 3 other than its own device that constitute the data processing system 100.
[0133] Thereafter, the data processing device 1f waits for the analysis processing by the analysis execution device to finish (step S342), and the network determination unit 15 determines whether the network of the transmission path of the 3D point cloud data is the RDMA network 50 (step S343). The processing of this step S343 is the same processing as step S202 of FIG. 4 described in the first embodiment.
[0134] If the network of the transmission path of the three-dimensional point cloud data is RDMA network 50 (step S343: Yes), RDMA communications processor 12 receives the analysis results of the three-dimensional point cloud data through RDMA communications (step S344).
[0135] If the network of the transmission path of the 3D point cloud data is not the RDMA network 50 (step S343: No), the TCP / IP communication processing unit 11 receives the analysis result of the 3D point cloud data by TCP / IP communication (step S345). The processes of steps S346 and S347 are the same as those of steps S205 and S206 in FIG. 4 described in the first embodiment.
[0136] Fig. 20 is a flowchart showing a fourth operation example of the data processing device 1f according to the seventh embodiment. Fig. 20 shows an operation example in which both the requesting device and the analysis performing device for the analysis processing of the 3D point cloud data held by the data processing device 1f are the other data processing device 1f or the data processing device 3, that is, an operation example in which the data processing device 1f receives a request indicating that the analysis processing of the 3D point cloud data held by the data processing device itself is to be carried out by the other data processing device 1f or the data processing device 3, and transmits the 3D point cloud data specified in the received request to the specified analysis performing device (the other data processing device 1f or the data processing device 3). The analysis performing device is determined by the data processing device 1f holding the 3D point cloud data to be analyzed.
[0137] In the analysis operation of the 3D point cloud data shown in Fig. 20, first, the request transmitting / receiving unit 14f receives an analysis request for the 3D point cloud data held by the own device (step S351). The processing of this step S351 is the same as the processing of step S321 in Fig. 18, except that the received object is an analysis request for the 3D point cloud data held by the own device. The analysis request for the 3D point cloud data held by the own device includes information specifying the 3D point cloud data to be analyzed (data specification information) and information specifying the analysis processing to be performed.
[0138] Next, the request transmitting / receiving unit 14f transmits an analysis request for the 3D point cloud data held by the device itself (step S352). The processing of this step S352 is the same as the processing of step S301 in Fig. 17, except that the transmission target is an analysis request for the 3D point cloud data held by the device itself.
[0139] The processes in steps S302 to S305 and S308 to S314 are the same as those in steps S302 to S305 and S308 to S314 in FIG.
[0140] Fig. 21 is a flowchart showing a fifth operation example of the data processing device 1f according to the seventh embodiment. Fig. 21 shows an operation example in which the data processing device 1f is the device that requests analysis processing, the device that holds the three-dimensional point cloud data that is the target of analysis processing, and the analysis execution device are other data processing devices 1f or the data processing device 3, that is, an operation example in which the data processing device 1f requests the other data processing device 1f or the data processing device 3 to perform analysis processing on the three-dimensional point cloud data that is held by the other data processing device 1f or the data processing device 3, and acquires the analysis results.
[0141] In the analysis operation of the three-dimensional point cloud data shown in Fig. 21, first, the request transmitting / receiving unit 14f transmits a confirmation of the presence or absence of three-dimensional point cloud data (step S361). The processing of this step S361 is the same as step S301 in Fig. 17, except that the transmission target is the confirmation of the presence or absence of three-dimensional point cloud data. The confirmation of the presence or absence of three-dimensional point cloud data includes information (data specification information) indicating the three-dimensional point cloud data that is the target of the analysis processing. The confirmation of the presence or absence of three-dimensional point cloud data is transmitted to all devices (other data processing devices 1f, data processing device 3) that constitute the data processing system 100 to notify them of the three-dimensional point cloud data that is the target of the analysis processing.
[0142] Next, the analysis execution device determination unit 16 determines the device that will perform the data analysis, i.e., the analysis execution device for the 3D point cloud data (step S362). As described above, the analysis execution device determination unit 16 determines the analysis execution device in consideration of the performance (processing capacity) of the data processing device 1 that constitutes the data processing system 100, the load state of the device, the line speed of the transmission path for the 3D point cloud data, the eco-friendliness level, the greenhouse gas emissions, etc.
[0143] Next, the request transmitting / receiving unit 14f transmits an analysis request for the three-dimensional point cloud data (step S363). The processing in step S363 is the same as that in step S301 in Fig. 17. The request transmitting / receiving unit 14f transmits the analysis request for the three-dimensional point cloud data to the device determined as the analysis execution device for the three-dimensional point cloud data by the analysis execution device determination unit 16 in step S362. The analysis request for the three-dimensional point cloud data includes information specifying the three-dimensional point cloud data to be analyzed (data specification information), information specifying the analysis execution device, and information specifying the analysis process to be performed.
[0144] The processing in steps S342 to S347 is the same as that in steps S342 to S347 in FIG.
[0145] Fig. 22 is a flowchart showing a sixth operation example of the data processing device 1f according to the seventh embodiment. Fig. 22 shows another operation example in a case where both the requesting device and the analysis performing device for the analysis processing of the three-dimensional point cloud data held by the data processing device 1f are the other data processing device 1f or the data processing device 3, that is, the case where the data processing device 1f receives a request indicating that the analysis processing of the three-dimensional point cloud data held by the data processing device itself is to be carried out by the other data processing device 1f or the data processing device 3, and transmits the three-dimensional point cloud data specified in the received request to the specified analysis performing device (the other data processing device 1f or the data processing device 3).
[0146] In the analysis operation of 3D point cloud data shown in FIG. 22, first, the request transmission / reception unit 14f receives an analysis request for 3D point cloud data held by the request transmission / reception unit 14f (step S371). The processing of this step S371 is the same as step S321 of FIG. 18, except that the received request is an analysis request for 3D point cloud data held by the request transmission / reception unit 14f. The analysis request for 3D point cloud data held by the request transmission / reception unit 14f in step S371 includes information specifying the 3D point cloud data to be analyzed (data specification information), information specifying the analysis execution device, and information specifying the analysis process to be performed. Note that the analysis request for 3D point cloud data held by the request transmission / reception unit 14f received in step S351 of FIG. 20 and the analysis request for 3D point cloud data held by the request transmission / reception unit 14f received in step S371 differ in the configuration of the included information. The request for analyzing the three-dimensional point cloud data held by the request transmitting / receiving unit 14f in step S371 corresponds to the request for analyzing the three-dimensional point cloud data transmitted in step S363 in FIG.
[0147] The processing of steps S302 to S305 and S308 to S314 in Fig. 22 is the same as the processing of steps S302 to S305 and S308 to S314 in Fig. 20. However, in step S303 in Fig. 22, the analysis execution device determination unit 16 does not perform the processing of determining an analysis execution device. In step S303 in Fig. 22, whether or not the analysis will be performed using multiple devices is determined based on whether or not multiple analysis execution devices are specified in the analysis request for the 3D point cloud data held by the own device, which was received by the request transmission / reception unit 14f in step S371. In other words, the analysis execution device determination unit 16 determines that the analysis will be performed using multiple devices when multiple analysis execution devices are specified by the information specifying the analysis execution device included in the analysis request for the 3D point cloud data held by the own device.
[0148] As described above, the data processing device 1f according to the seventh embodiment has a function of cooperating with other devices (other data processing devices 1f, data processing device 3) to distribute and execute analysis processing of 3D point cloud data held by the data processing device 1f or other devices among the data processing device 1f or other devices. This enables flexible data processing to be executed according to the load state of each device constituting the system, the position of the data to be analyzed within the system, the type of energy used, etc.
[0149] Next, the hardware configurations of the data processing devices 1 to 1f according to the above-mentioned respective embodiments will be described. Since the hardware configurations of the data processing devices 1 to 1f are similar, an example of the hardware configuration of the data processing device 1 according to the first embodiment will be described here.
[0150] The data processing device 1 is realized by a processing circuit. This processing circuit may be dedicated hardware or a control circuit including a memory and a CPU (Central Processing Unit) that executes a program stored in the memory. Here, the memory may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), or a flash memory, a magnetic disk, or an optical disk. When this processing circuit is a control circuit including a CPU, this control circuit may be, for example, a control circuit 90 having a configuration shown in FIG. 23. FIG. 23 is a diagram showing an example of the control circuit 90 that realizes the data processing device 1 according to the first embodiment.
[0151] As shown in FIG. 23 , the control circuit 90 includes a processor 91, which is a CPU, and a memory 92. When the data processing device 1 is realized by the control circuit 90 shown in FIG. 23 , programs for operating the TCP / IP communication processing unit 11, RDMA communication processing unit 12, request transmission / reception unit 14, network discrimination unit 15, thinning processing unit 22, and compression / decompression unit 23 of the data processing device 1 are stored in the memory 92. The processor 91 reads and executes the programs stored in the memory 92 to realize the TCP / IP communication processing unit 11, RDMA communication processing unit 12, request transmission / reception unit 14, network discrimination unit 15, thinning processing unit 22, and compression / decompression unit 23 of the data processing device 1. The programs stored in the memory 92 may be provided to users or the like in a state written on a storage medium such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM, or may be provided via a communication network. The 3D point cloud data storage unit 24 of the data processing device 1 is realized by the memory 92. The memory 92 is also used as a temporary memory for each process performed by the processor 91.
[0152] It is also possible to implement some of the TCP / IP communication processing unit 11, RDMA communication processing unit 12, request transmission / reception unit 14, network discrimination unit 15, thinning processing unit 22, compression / decompression unit 23, and 3D point cloud data storage unit 24 of the data processing device 1 using dedicated hardware, with the remainder being implemented by the control circuit 90. The dedicated hardware here refers to a single circuit, a composite circuit, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit that combines these.
[0153] Although the hardware configuration of the data processing device 1 has been described, the hardware configuration of the data processing device 3 is also similar.
[0154] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or may be combined with other embodiments, or some of the configurations may be omitted or modified without departing from the spirit of the invention. For example, in the seventh embodiment, an example was described in which a plurality of devices cooperate to perform analysis processing of 3D point cloud data, etc., but in this case, it is also possible to perform registration processing, pseudo driving trajectory data generation processing, etc., together.
[0155] Various aspects of the present disclosure are summarized below as appendices.
[0156] (Appendix 1) A data processing device that transmits, receives, and analyzes three-dimensional point cloud data, a first communication processing unit that performs communication corresponding to a first communication method; a second communication processing unit that performs communication corresponding to a second communication method in which a delay time of data transmission processing is smaller than that of the first communication method; a thinning processing unit that performs thinning processing on the 3D point cloud data transmitted by the first communication processing unit when a predetermined thinning execution condition is satisfied; a compression / decompression unit that performs a compression process on the three-dimensional point cloud data transmitted by the first communication processing unit when a predetermined compression execution condition is satisfied, and that performs a decompression process on the three-dimensional point cloud data in a compressed state when the first communication processing unit receives the three-dimensional point cloud data in a compressed state; A data processing device comprising: (Appendix 2) The communication performed by the second communication processing unit is remote direct memory access communication. 2. A data processing device according to claim 1. (Appendix 3) When transmitting three-dimensional point cloud data in response to a request from another data processing device, the second communication processing unit transmits the requested three-dimensional point cloud data and other surrounding three-dimensional point cloud data related to the requested three-dimensional point cloud data. 3. The data processing device according to claim 1 or 2. (Appendix 4) a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a registration processing unit that generates, when the three-dimensional point cloud data requested by another data processing device is not stored in the three-dimensional point cloud data storage unit, the requested three-dimensional point cloud data based on the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit; 3. The data processing device according to claim 1 or 2, comprising: (Appendix 5) a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a travel trajectory data storage unit that stores travel trajectory data of a 3D point cloud data measurement device that generated the 3D point cloud data stored in the 3D point cloud data storage unit; an image data storage unit that stores image data captured by the three-dimensional point cloud data measurement device; Equipped with When transmitting three-dimensional point cloud data in response to a request from another data processing device, the first communication processing unit and the second communication processing unit transmit driving trajectory data and image data associated with the requested three-dimensional point cloud data together with the requested three-dimensional point cloud data. 3. The data processing device according to claim 1 or 2. (Appendix 6) a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a travel trajectory data storage unit that stores travel trajectory data of a 3D point cloud data measurement device that generated the 3D point cloud data stored in the 3D point cloud data storage unit; Equipped with When transmitting three-dimensional point cloud data in response to a request from another data processing device, the first communication processing unit and the second communication processing unit transmit driving trajectory data linked to the requested three-dimensional point cloud data together with the requested three-dimensional point cloud data. 3. The data processing device according to claim 1 or 2. (Appendix 7) a pseudo-traveling trajectory generating unit that generates pseudo-traveling trajectory data corresponding to the traveling trajectory data linked with the three-dimensional point cloud data requested from another data processing device when the traveling trajectory data storage unit does not store the traveling trajectory data linked with the three-dimensional point cloud data requested from another data processing device; 7. The data processing device according to claim 6, comprising: (Appendix 8) The pseudo-traveling trajectory generating unit further has a function of generating traveling trajectory data linked to the three-dimensional point cloud data received by the first communication processing unit or the second communication processing unit based on the three-dimensional point cloud data stored in the traveling trajectory data storage unit. 8. The data processing device according to claim 7, (Appendix 9) an analysis processing unit that analyzes the three-dimensional point cloud data; a request transmission / reception unit that transmits and receives various requests including a three-dimensional point cloud data analysis request for requesting the execution of an analysis process of the three-dimensional point cloud data; Equipped with When the request transmitting / receiving unit receives the three-dimensional point cloud data analysis request, the analysis processing unit performs an analysis process specified in the received three-dimensional point cloud data analysis request on the three-dimensional point cloud data specified in the received three-dimensional point cloud data analysis request. 9. A data processing device according to any one of claims 1 to 8. (Appendix 10) an analysis execution device determination unit that determines an analysis execution device that is another data processing device that performs analysis processing of the 3D point cloud data held by the own device; a division processing unit that performs division processing on three-dimensional point cloud data that is the target of analysis processing to be performed when there are multiple analysis performing devices; Equipped with the first communication processing unit or the second communication processing unit transmits each of the plurality of pieces of divided 3D point cloud data generated by the division processing by the division processing unit to the analysis execution device; 10. The data processing device according to claim 9, (Appendix 11) A data processing method executed by a data processing device that transmits, receives, and analyzes three-dimensional point cloud data, comprising: a first step of performing communication corresponding to a first communication method; a second step of performing communication corresponding to a second communication method having a smaller delay time in data transmission processing compared to the first communication method; a third step of performing a thinning process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined thinning execution condition is satisfied; a fourth step of performing compression processing on the 3D point cloud data transmitted by communication using the first communication method when a predetermined compression execution condition is satisfied; a fifth step of performing a decompression process on the compressed three-dimensional point cloud data when the compressed three-dimensional point cloud data is received through communication using the first communication method; A data processing method comprising: (Appendix 12) A data processing system comprising a plurality of data processing devices that transmit, receive, and analyze three-dimensional point cloud data, The plurality of data processing devices include: a first data processing device capable of communication corresponding to a first communication method; a second data processing device capable of communication corresponding to a first communication method and communication corresponding to a second communication method having a smaller delay time in data transmission processing than the first communication method; Including, The second data processing device When transmitting and receiving three-dimensional point cloud data to and from the first data processing device, communication corresponding to the first communication method is performed, and when transmitting and receiving three-dimensional point cloud data to and from another second data processing device, communication corresponding to the second communication method is performed; If a predetermined thinning execution condition is satisfied, thinning processing is performed on the 3D point cloud data transmitted by communication corresponding to the first communication method; If a predetermined compression implementation condition is satisfied, a compression process is performed on the 3D point cloud data to be transmitted by communication corresponding to the first communication method; When the compressed three-dimensional point cloud data is received through communication corresponding to the first communication method, a decompression process is performed on the compressed three-dimensional point cloud data. A data processing system comprising: (Appendix 13) A data processing program for realizing a data processing device that transmits, receives, and analyzes three-dimensional point cloud data, a first step of performing communication corresponding to a first communication method; a second step of performing communication corresponding to a second communication method having a smaller delay time in data transmission processing compared to the first communication method; a third step of performing a thinning process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined thinning execution condition is satisfied; a fourth step of performing compression processing on the 3D point cloud data transmitted by communication using the first communication method when a predetermined compression execution condition is satisfied; a fifth step of performing a decompression process on the compressed three-dimensional point cloud data when the compressed three-dimensional point cloud data is received through communication using the first communication method; a control circuit constituting the data processing device to execute the above. A data processing program characterized by: [Explanation of symbols]
[0157] 1, 1a, 1b, 1c, 1d, 1e, 1f, 3 Data processing device, 10, 10a, 10c, 10d, 10e, 10f Communication unit, 11, 11c, 11d, 11e TCP / IP communication processing unit, 12, 12a, 12c, 12d, 12e RDMA communication processing unit, 13, 13f Communication control unit, 14, 14f Request transmission / reception unit, 15 Network discrimination unit, 16 Analysis execution device determination unit, 20, 20b, 20c, 20d, 20e, 20f Data management unit, 21, 21b, 21e, 21f Data processing unit, 22 Thinning processing unit, 23 Compression / decompression unit, 24 3D point cloud data storage unit, 25 Registration processing unit, 26 Analysis processing unit, 27 Driving trajectory data storage unit, 28 Image data storage unit, 29 Pseudo driving trajectory generation unit, 30 Division processing unit, 50 RDMA network, 60 Internet, 100 data processing system, 200 3D point cloud data measurement device.
Claims
1. A data processing device that transmits, receives, and analyzes three-dimensional point cloud data, a first communication processing unit that performs communication corresponding to a first communication method; a second communication processing unit that performs communication corresponding to a second communication method in which a delay time of data transmission processing is smaller than that of the first communication method; a thinning processing unit that performs thinning processing on the three-dimensional point cloud data transmitted by the first communication processing unit when a predetermined thinning execution condition is satisfied; a compression / decompression unit that performs a compression process on the three-dimensional point cloud data transmitted by the first communication processing unit when a predetermined compression execution condition is satisfied, and that performs a decompression process on the three-dimensional point cloud data in a compressed state when the first communication processing unit receives the three-dimensional point cloud data in a compressed state; A data processing device comprising:
2. The communication performed by the second communication processing unit is Remote Direct Memory Access communication.
2. The data processing device according to claim 1.
3. when transmitting three-dimensional point cloud data in response to a request from another data processing device, the second communication processing unit transmits the requested three-dimensional point cloud data and other surrounding three-dimensional point cloud data related to the requested three-dimensional point cloud data; 3. The data processing device according to claim 1, wherein:
4. a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a registration processing unit that generates, when the three-dimensional point cloud data requested by another data processing device is not stored in the three-dimensional point cloud data storage unit, the requested three-dimensional point cloud data based on the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit; 3. The data processing device according to claim 1, further comprising:
5. a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a travel locus data storage unit that stores travel locus data of a three-dimensional point cloud data measurement device that generated the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit; an image data storage unit that stores image data captured by the three-dimensional point cloud data measurement device; Equipped with When transmitting three-dimensional point cloud data in response to a request from another data processing device, the first communication processing unit and the second communication processing unit transmit traveling trajectory data and image data associated with the requested three-dimensional point cloud data together with the requested three-dimensional point cloud data.
3. The data processing device according to claim 1, wherein:
6. a three-dimensional point cloud data storage unit that stores three-dimensional point cloud data; a travel locus data storage unit that stores travel locus data of a three-dimensional point cloud data measurement device that generated the three-dimensional point cloud data stored in the three-dimensional point cloud data storage unit; Equipped with When transmitting three-dimensional point cloud data in response to a request from another data processing device, the first communication processing unit and the second communication processing unit transmit traveling trajectory data linked to the requested three-dimensional point cloud data together with the requested three-dimensional point cloud data.
3. The data processing device according to claim 1, wherein:
7. a pseudo-traveling trajectory generating unit that generates pseudo-traveling trajectory data corresponding to the traveling trajectory data linked with the three-dimensional point cloud data requested from the other data processing device when the traveling trajectory data storage unit does not store the traveling trajectory data linked with the three-dimensional point cloud data requested from the other data processing device; 7. The data processing device according to claim 6, further comprising:
8. The pseudo-traveling trajectory generating unit further has a function of generating traveling trajectory data linked to the three-dimensional point cloud data received by the first communication processing unit or the second communication processing unit based on the three-dimensional point cloud data stored in the traveling trajectory data storage unit.
8. The data processing device according to claim 7.
9. an analysis processing unit that analyzes the three-dimensional point cloud data; a request transmission / reception unit that transmits and receives various requests including a three-dimensional point cloud data analysis request for requesting the execution of an analysis process of the three-dimensional point cloud data; Equipped with When the request transmitting / receiving unit receives the three-dimensional point cloud data analysis request, the analysis processing unit performs an analysis process specified in the received three-dimensional point cloud data analysis request on the three-dimensional point cloud data specified in the received three-dimensional point cloud data analysis request.
3. The data processing device according to claim 1, wherein:
10. an analysis execution device determination unit that determines an analysis execution device that is another data processing device that performs analysis processing of the three-dimensional point cloud data held by the own device; a division processing unit that performs division processing on three-dimensional point cloud data that is the target of analysis processing to be performed when there are multiple analysis performing devices; Equipped with the first communication processing unit or the second communication processing unit transmits each of the plurality of pieces of divided three-dimensional point cloud data generated by the division processing by the division processing unit to the analysis execution device; 10. The data processing device according to claim 9.
11. A data processing method executed by a data processing device that transmits, receives, and analyzes three-dimensional point cloud data, comprising: a first step of performing communication corresponding to a first communication method; a second step of performing communication corresponding to a second communication method having a smaller delay time in data transmission processing compared to the first communication method; a third step of performing a thinning process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined thinning execution condition is satisfied; a fourth step of performing a compression process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined compression execution condition is satisfied; a fifth step of performing a decompression process on the compressed three-dimensional point cloud data when the compressed three-dimensional point cloud data is received through communication using the first communication method; A data processing method comprising:
12. A data processing system comprising a plurality of data processing devices that transmit, receive, and analyze three-dimensional point cloud data, The plurality of data processing devices include: a first data processing device capable of communication corresponding to a first communication method; a second data processing device capable of communication corresponding to a first communication method and communication corresponding to a second communication method having a smaller delay time in data transmission processing than the first communication method; Including, The second data processing device When transmitting and receiving three-dimensional point cloud data to and from the first data processing device, communication corresponding to the first communication method is performed, and when transmitting and receiving three-dimensional point cloud data to and from another second data processing device, communication corresponding to the second communication method is performed; If a predetermined thinning execution condition is satisfied, thinning processing is performed on the three-dimensional point cloud data transmitted by communication corresponding to the first communication method; If a predetermined compression execution condition is satisfied, a compression process is performed on the three-dimensional point cloud data to be transmitted by communication corresponding to the first communication method; When the compressed three-dimensional point cloud data is received through communication corresponding to the first communication method, a decompression process is performed on the compressed three-dimensional point cloud data. A data processing system comprising:
13. A data processing program for realizing a data processing device that transmits, receives, and analyzes three-dimensional point cloud data, a first step of performing communication corresponding to a first communication method; a second step of performing communication corresponding to a second communication method having a smaller delay time in data transmission processing compared to the first communication method; a third step of performing a thinning process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined thinning execution condition is satisfied; a fourth step of performing a compression process on the 3D point cloud data transmitted by the communication using the first communication method when a predetermined compression execution condition is satisfied; a fifth step of performing a decompression process on the compressed three-dimensional point cloud data when the compressed three-dimensional point cloud data is received through communication using the first communication method; a control circuit constituting the data processing device to execute the above. A data processing program characterized by:
Citation Information
Patent Citations
Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
JP2023509730A