Information providing system, client device, and method for creating and updating three-dimensional map

The information provision system addresses the inefficiency of three-dimensional data transmission by dividing maps into hierarchical geographical areas, generating a reduced-size map, and transmitting it based on client requests, ensuring efficient and accurate data transfer.

JP2025157578AActive Publication Date: 2025-10-15PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025127784
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-02-02
Filing Date
2025-07-30
Publication Date
2025-10-15
Estimated Expiration
2039-01-31

AI Technical Summary

Technical Problem

Existing methods for transmitting three-dimensional data are inefficient due to the large data size of point clouds, which require effective compression techniques for storage and transmission.

Method used

An information provision system that hierarchically divides a three-dimensional map into geographical areas, generating a second map with reduced data size and transmitting it based on client requests, utilizing spatial elements with predetermined thresholds.

Benefits of technology

Enables efficient transmission of three-dimensional data by reducing data size while maintaining accuracy and enabling precise spatial representation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025157578000001_ABST
    Figure 2025157578000001_ABST
Patent Text Reader

Abstract

To achieve further improvement.SOLUTION: An information providing system that provides a client device mounted on a movable body with a three-dimensional map indicating a situation in a three-dimensional space, includes: a map database that stores a first three-dimensional map in which a space is hierarchically divided on a geographical area basis; a data creator that creates a second three-dimensional map composed of space elements including feature quantities more than or equal to a predetermined threshold value among a plurality of space elements included in the first three-dimensional map and having a data size smaller than that of the first three-dimensional map; and a data transmitter that receives a request from the client device, specifies either the first three-dimensional map or the second three-dimensional map based on request information included in the request, and transmits the specified first three-dimensional map or second three-dimensional map as a three-dimensional map to the client device.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an information transmission method and a client device. [Background technology]

[0002] In the future, devices and services that utilize 3D data are expected to become widespread in a wide range of fields, including computer vision for autonomous operation of automobiles or robots, map information, surveillance, infrastructure inspection, video distribution, etc. 3D data can be acquired in a variety of ways, including distance sensors such as range finders, stereo cameras, or a combination of multiple monocular cameras.

[0003] One method of representing three-dimensional data is a point cloud, which represents the shape of a three-dimensional structure using a group of points in three-dimensional space. A point cloud stores the position and color of the points. Point clouds are expected to become the mainstream method of representing three-dimensional data, but point clouds require a very large amount of data. Therefore, when storing or transmitting three-dimensional data, data compression through encoding is essential, just as with two-dimensional video images (examples include MPEG-4 AVC or HEVC standardized by MPEG).

[0004] In addition, compression of point clouds is partially supported by public libraries that perform point cloud-related processing (Point Cloud Library).

[0005] Furthermore, a technique is known in which three-dimensional map data is used to search for and display facilities located around a vehicle (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0006] [Patent Document 1] International Publication No. 2014 / 020663 Summary of the Invention [Problem to be solved by the invention]

[0007] It is desirable to appropriately transmit such information for creating three-dimensional data.

[0008] An object of the present disclosure is to provide an information transmission method or a client device that can appropriately transmit information for creating three-dimensional data. [Means for solving the problem]

[0009] An information provision system according to one embodiment of the present disclosure is an information provision system that provides a three-dimensional map showing a situation within a three-dimensional space to a client device mounted on a mobile body, and includes: a map database that holds a first three-dimensional map in which space is hierarchically divided into geographical area units; a data generation unit that generates a second three-dimensional map that is composed of spatial elements from among a plurality of spatial elements included in the first three-dimensional map that have features equal to or greater than a predetermined threshold, and has a smaller data size than the first three-dimensional map; and a data transmission unit that receives a request from the client device, identifies either the first three-dimensional map or the second three-dimensional map based on request information included in the request, and transmits the identified first three-dimensional map or the second three-dimensional map to the client device as the three-dimensional map. [Effects of the Invention]

[0010] The present disclosure can provide an information transmission method or a client device that can appropriately transmit information for creating three-dimensional data. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram showing the structure of encoded three-dimensional data according to the first embodiment. [Figure 2] FIG. 2 is a diagram showing an example of a prediction structure between SPCs belonging to the lowest layer of a GOS according to the first embodiment. [Figure 3] FIG. 3 is a diagram showing an example of an inter-layer prediction structure according to the first embodiment. [Figure 4] FIG. 4 is a diagram showing an example of the coding order of the GOS according to the first embodiment. [Figure 5] FIG. 5 is a diagram showing an example of the coding order of GOS according to the first embodiment. [Figure 6] FIG. 6 is a block diagram of a three-dimensional data encoding device according to the first embodiment. [Figure 7] FIG. 7 is a flowchart of the encoding process according to the first embodiment. [Figure 8] FIG. 8 is a block diagram of a three-dimensional data decoding device according to the first embodiment. [Figure 9] FIG. 9 is a flowchart of the decoding process according to the first embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of meta information according to the first embodiment. [Figure 11] FIG. 11 is a diagram illustrating an example of the configuration of the SWLD according to the second embodiment. [Figure 12] FIG. 12 illustrates an example of the operation of the server and the client according to the second embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of the operation of the server and the client according to the second embodiment. [Figure 14] FIG. 14 is a diagram illustrating an example of the operation of the server and the client according to the second embodiment. [Figure 15] FIG. 15 illustrates an example of the operation of the server and the client according to the second embodiment. [Figure 16] FIG. 16 is a block diagram of a three-dimensional data encoding device according to the second embodiment. [Figure 17] FIG. 17 is a flowchart of the encoding process according to the second embodiment. [Figure 18] FIG. 18 is a block diagram of a three-dimensional data decoding device according to the second embodiment. [Figure 19] FIG. 19 is a flowchart of the decoding process according to the second embodiment. [Figure 20] FIG. 20 is a diagram illustrating an example of the configuration of a WLD according to the second embodiment. [Figure 21] FIG. 21 is a diagram illustrating an example of an octree structure of a WLD according to the second embodiment. [Figure 22] FIG. 22 is a diagram illustrating an example of the configuration of the SWLD according to the second embodiment. [Figure 23] FIG. 23 is a diagram illustrating an example of an octree structure of an SWLD according to the second embodiment. [Figure 24] FIG. 24 is a schematic diagram showing transmission and reception of three-dimensional data between vehicles according to the third embodiment. [Figure 25] FIG. 25 is a diagram illustrating an example of three-dimensional data transmitted between vehicles according to the third embodiment. [Figure 26] FIG. 26 is a block diagram of a three-dimensional data creation device according to the third embodiment. [Figure 27] FIG. 27 is a flowchart of a three-dimensional data creation process according to the third embodiment. [Figure 28] FIG. 28 is a block diagram of a three-dimensional data transmission device according to the third embodiment. [Figure 29] FIG. 29 is a flowchart of a three-dimensional data transmission process according to the third embodiment. [Figure 30] FIG. 30 is a block diagram of a three-dimensional data creation device according to the third embodiment. [Figure 31] FIG. 31 is a flowchart of a three-dimensional data creation process according to the third embodiment. [Figure 32] FIG. 32 is a block diagram of a three-dimensional data transmission device according to the third embodiment. [Figure 33] FIG. 33 is a flowchart of a three-dimensional data transmission process according to the third embodiment. [Figure 34] FIG. 34 is a block diagram of a three-dimensional information processing device according to the fourth embodiment. [Figure 35] FIG. 35 is a flowchart of a three-dimensional information processing method according to the fourth embodiment. [Figure 36]FIG. 36 is a flowchart of a three-dimensional information processing method according to the fourth embodiment. [Figure 37] FIG. 37 is a diagram for explaining the transmission process of three-dimensional data according to the fifth embodiment. [Figure 38] FIG. 38 is a block diagram of a three-dimensional data creation device according to the fifth embodiment. [Figure 39] FIG. 39 is a flowchart of a three-dimensional data creation method according to the fifth embodiment. [Figure 40] FIG. 40 is a flowchart of a three-dimensional data creation method according to the fifth embodiment. [Figure 41] FIG. 41 is a flowchart of a display method according to the sixth embodiment. [Figure 42] FIG. 42 is a diagram showing an example of the surrounding environment seen through the windshield according to the sixth embodiment. [Figure 43] FIG. 43 is a diagram showing a display example of a head-up display according to the sixth embodiment. [Figure 44] FIG. 44 is a diagram showing a display example of the head-up display after adjustment according to the sixth embodiment. [Figure 45] FIG. 45 is a diagram showing a configuration of a system according to the seventh embodiment. [Figure 46] FIG. 46 is a block diagram of a client device according to the seventh embodiment. [Figure 47] FIG. 47 is a block diagram of a server according to the seventh embodiment. [Figure 48] FIG. 48 is a flowchart of three-dimensional data creation processing by the client device according to the seventh embodiment. [Figure 49] FIG. 49 is a flowchart of a sensor information transmission process by a client device according to the seventh embodiment. [Figure 50] FIG. 50 is a flowchart of three-dimensional data creation processing by the server according to the seventh embodiment. [Figure 51] FIG. 51 is a flowchart of a three-dimensional map transmission process performed by a server according to the seventh embodiment. [Figure 52] FIG. 52 is a diagram showing a configuration of a modified example of the system according to the seventh embodiment. [Figure 53] FIG. 53 is a diagram illustrating the configurations of a server and a client device according to the seventh embodiment. [Figure 54] FIG. 54 is a diagram illustrating the configurations of a server and a client device according to the eighth embodiment. [Figure 55] FIG. 55 is a flowchart of processing by the client device according to the eighth embodiment. [Figure 56] FIG. 56 is a diagram illustrating a configuration of a sensor information collection system according to the eighth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] An information transmission method according to one aspect of the present disclosure is an information transmission method in a client device mounted on a mobile body, which acquires sensor information indicating the surrounding conditions of the mobile body obtained by a sensor mounted on the mobile body, stores the sensor information in a memory unit, determines whether the mobile body is in an environment where it can transmit the sensor information to a server, and if it is determined that the mobile body is in an environment where it can transmit the sensor information to the server, transmits the sensor information to the server.

[0013] According to this, the information transmission method can appropriately transmit information for creating three-dimensional data.

[0014] For example, the information transmission method may further include creating three-dimensional data of the periphery of the moving object from the sensor information, and estimating a self-position of the moving object using the created three-dimensional data.

[0015] For example, the information transmission method may further include sending a request to the server to send a three-dimensional map, receiving the three-dimensional map from the server, and estimating the self-location using the three-dimensional data and the three-dimensional map.

[0016] According to this, the information transmission method can improve the accuracy of self-location estimation.

[0017] For example, the sensor information may include at least one of information obtained by a laser sensor, a luminance image, an infrared image, a depth image, sensor position information, and sensor velocity information.

[0018] For example, the sensor information may include acquisition location information indicating the location of the mobile object or the sensor when the sensor information was acquired by the sensor.

[0019] For example, the sensor information may include acquisition time information indicating the time when the sensor information was acquired by the sensor.

[0020] For example, the information transmission method may further include acquiring time information from the server, and generating the acquired time information using the acquired time information.

[0021] This allows the acquisition time information of the sensor information transmitted from a plurality of client devices to be synchronized.

[0022] For example, the information transmission method may further receive a sensor information transmission request from the server, the request including specification information specifying a location and time, and if it is determined that the sensor information obtained at the location and time indicated in the specification information is stored in the memory unit and that the mobile body is in an environment where it can transmit the sensor information to the server, the sensor information obtained at the location and time indicated in the specification information may be transmitted to the server.

[0023] For example, the information transmission method may further include deleting the sensor information that has already been transmitted to the server from the storage unit.

[0024] This allows the capacity of the storage unit to be reduced.

[0025] For example, the information transmission method may further include deleting the sensor information from the memory unit when the difference between the position of the moving body or the sensor when the sensor information was acquired by the sensor and the current position of the moving body or the sensor exceeds a predetermined distance.

[0026] This allows the capacity of the storage unit to be reduced.

[0027] For example, the information transmission method may further include deleting the sensor information from the memory unit when the difference between the time when the sensor information was acquired by the sensor and the current time exceeds a predetermined time.

[0028] This allows the capacity of the storage unit to be reduced.

[0029] In addition, a client device according to one aspect of the present disclosure is a client device mounted on a mobile body, and is equipped with a processor and a memory, wherein the processor uses the memory to acquire sensor information indicating the surrounding conditions of the mobile body obtained by a sensor mounted on the mobile body, stores the sensor information in a memory unit, determines whether the mobile body is in an environment where it can transmit the sensor information to a server, and if it determines that the mobile body is in an environment where it can transmit the sensor information to the server, transmits the sensor information to the server.

[0030] This allows the client device to appropriately transmit information for creating three-dimensional data.

[0031] These comprehensive or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium.

[0032] Hereinafter, the embodiments will be described in detail with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components that are not described in an independent claim that represents a superordinate concept will be described as optional components.

[0033] (Embodiment 1) First, the data structure of encoded three-dimensional data (hereinafter also referred to as encoded data) according to this embodiment will be described. Fig. 1 is a diagram showing the structure of encoded three-dimensional data according to this embodiment.

[0034] In this embodiment, a three-dimensional space is divided into spaces (SPCs) corresponding to pictures in video encoding, and three-dimensional data is encoded using the spaces as units. The spaces are further divided into volumes (VLMs) corresponding to macroblocks or the like in video encoding, and prediction and conversion are performed using the VLMs as units. A volume includes a plurality of voxels (VXLs), which are the smallest units to which position coordinates can be associated. Note that prediction, like prediction performed for two-dimensional images, refers to generating predicted three-dimensional data similar to the processing unit to be processed by referring to other processing units, and encoding the difference between the predicted three-dimensional data and the processing unit to be processed. Furthermore, this prediction includes not only spatial prediction that refers to other prediction units at the same time, but also temporal prediction that refers to a prediction unit at a different time.

[0035] For example, when a three-dimensional data encoding device (hereinafter also referred to as an encoding device) encodes a three-dimensional space represented by point cloud data such as a point cloud, it encodes each point of the point cloud or multiple points contained in a voxel collectively according to the size of the voxel. By subdividing the voxels, the three-dimensional shape of the point cloud can be expressed with high precision, and by increasing the voxel size, the three-dimensional shape of the point cloud can be expressed roughly.

[0036] In the following, an example will be described in which the three-dimensional data is a point cloud, but the three-dimensional data is not limited to a point cloud and may be three-dimensional data in any format.

[0037] Alternatively, voxels with a hierarchical structure may be used. In this case, the nth layer may indicate in order whether a sample point exists in the n-1th layer or lower (a layer below the nth layer). For example, when decoding only the nth layer, if a sample point exists in the n-1th layer or lower, the sample point can be decoded by assuming that the sample point exists at the center of the voxel in the nth layer.

[0038] The encoding device also acquires point cloud data using a distance sensor, a stereo camera, a monocular camera, a gyro, an inertial sensor, or the like.

[0039] Similar to video coding, spaces are classified into at least three prediction structures, including independently decodable intra-space (I-SPC), predictive space (P-SPC), and bidirectional space (B-SPC). Spaces also have two types of time information: decoding time and display time.

[0040] As shown in Figure 1, there is a random access unit called a Group Of Space (GOS), which is a processing unit that includes multiple spaces. There is also a World (WLD), which is a processing unit that includes multiple GOS.

[0041] The spatial region occupied by the world is associated with an absolute position on Earth using GPS or latitude and longitude information. This position information is stored as meta information. Note that the meta information may be included in the encoded data or may be transmitted separately from the encoded data.

[0042] Furthermore, within a GOS, all SPCs may be three-dimensionally adjacent, or there may be SPCs that are not three-dimensionally adjacent to other SPCs.

[0043] In the following, the process of encoding, decoding, referencing, etc. of three-dimensional data included in a processing unit such as a GOS, SPC, or VLM will also be simply referred to as encoding, decoding, or referencing the processing unit, etc. The three-dimensional data included in the processing unit includes, for example, at least one pair of a spatial position such as three-dimensional coordinates and a characteristic value such as color information.

[0044] Next, the prediction structure of SPCs in a GOS will be explained. Multiple SPCs in the same GOS or multiple VLMs in the same SPC occupy different spaces, but have the same time information (decoding time and display time).

[0045] Furthermore, the first SPC in a GOS in decoding order is the I-SPC. There are two types of GOS: closed GOS and open GOS. A closed GOS is a GOS that can decode all SPCs in the GOS when decoding starts from the first I-SPC. In an open GOS, some SPCs that appear earlier in the GOS than the first I-SPC refer to a different GOS, and cannot be decoded using only that GOS.

[0046] In addition, in coded data such as map information, WLDs are sometimes decoded in the reverse order of coding, and if there is dependency between GOSs, reverse playback is difficult. Therefore, in such cases, closed GOSs are generally used.

[0047] Furthermore, the GOS has a layer structure in the height direction, and encoding or decoding is performed in order from the SPC in the lower layer.

[0048] Fig. 2 is a diagram showing an example of a prediction structure between SPCs belonging to the lowest layer of a GOS, and Fig. 3 is a diagram showing an example of a prediction structure between layers.

[0049] A GOS contains one or more I-SPCs. Objects such as people, animals, cars, bicycles, traffic lights, and landmark buildings exist in three-dimensional space, and it is particularly effective to encode small objects as I-SPCs. For example, a three-dimensional data decoding device (hereinafter also referred to as a decoding device) decodes only the I-SPCs in the GOS when decoding the GOS with low processing load or at high speed.

[0050] The encoding device may also switch the encoding interval or frequency of occurrence of I-SPC depending on the density of objects in the WLD.

[0051] 3, the encoding device or decoding device encodes or decodes multiple layers in order from the lowest layer (layer 1). This allows, for example, an autonomous vehicle to prioritize data near the ground, which contains more information.

[0052] In addition, encoded data used by drones, etc. may be encoded or decoded in order from the SPC of the highest layer in the height direction within the GOS.

[0053] Alternatively, the encoding or decoding device may encode or decode multiple layers so that the decoding device can roughly grasp the GOS and gradually increase the resolution. For example, the encoding or decoding device may encode or decode layers 3, 8, 1, 9, etc. in that order.

[0054] Next, we will explain how to handle static and dynamic objects.

[0055] In a three-dimensional space, there exist static objects or scenes such as buildings or roads (hereinafter collectively referred to as static objects), and dynamic objects such as cars or people (hereinafter referred to as dynamic objects). Object detection is performed separately by extracting feature points from point cloud data or camera images such as a stereo camera. Here, an example of a method for encoding dynamic objects will be described.

[0056] The first method is to encode static objects without distinguishing between static and dynamic objects, and the second method is to distinguish between static and dynamic objects using identification information.

[0057] For example, GOS is used as the identification unit. In this case, GOS including SPCs that constitute static objects and GOS including SPCs that constitute dynamic objects are distinguished by identification information stored within the coded data or separately from the coded data.

[0058] Alternatively, the SPC may be used as the identification unit, in which case the SPC including the VLM that constitutes a static object and the SPC including the VLM that constitutes a dynamic object are distinguished by the above-mentioned identification information.

[0059] Alternatively, the VLM or VXL may be used as the identification unit, in which case the VLM or VXL containing static objects and the VLM or VXL containing dynamic objects are distinguished by the above-mentioned identification information.

[0060] The encoding device may also encode a dynamic object as one or more VLMs or SPCs, and encode a VLM or SPC containing a static object and an SPC containing a dynamic object as different GOSs. If the size of the GOS varies depending on the size of the dynamic object, the encoding device stores the size of the GOS separately as meta information.

[0061] The encoding device may also encode static objects and dynamic objects independently of each other, and overlay the dynamic objects on a world made up of static objects. In this case, the dynamic object is made up of one or more SPCs, and each SPC corresponds to one or more SPCs that make up the static object on which the SPC is overlaid. Note that the dynamic object may be represented by one or more VLMs or VXLs instead of SPCs.

[0062] The encoding device may also encode static objects and dynamic objects as different streams.

[0063] The encoding device may also generate a GOS that includes one or more SPCs that make up a dynamic object. Furthermore, the encoding device may set the GOS (GOS_M) that includes the dynamic object and the GOS of the static object that corresponds to the spatial region of GOS_M to the same size (occupy the same spatial region). This allows superimposition processing to be performed on a GOS-by-GOS basis.

[0064] A P-SPC or B-SPC that configures a dynamic object may refer to an SPC included in a different GOS that has already been coded. In cases where the position of a dynamic object changes over time and the same dynamic object is coded as a GOS at different times, referencing across GOSs is effective from the viewpoint of compression ratio.

[0065] The encoding device may switch between the first and second methods depending on the intended use of the encoded data. For example, when the encoded three-dimensional data is used as a map, it is desirable to be able to separate dynamic objects, so the encoding device uses the second method. On the other hand, when encoding three-dimensional data of an event such as a concert or sporting event, the encoding device uses the first method if there is no need to separate dynamic objects.

[0066] The decode time and display time of a GOS or SPC can be stored in the coded data or as meta information. The time information of all static objects may be the same. In this case, the actual decode time and display time may be determined by the decoding device. Alternatively, a different value may be assigned as the decode time for each GOS or SPC, and the same value may be assigned as the display time for all. Furthermore, a model may be introduced that ensures that the decoder has a buffer of a predetermined size and can decode without failure if it reads a bitstream at a predetermined bit rate according to the decode time, as in a decoder model used in video coding, such as the HEVC HRD (Hypothetical Reference Decoder).

[0067] Next, we will explain the arrangement of GOS within a world. The coordinates of the three-dimensional space in a world are expressed by three mutually orthogonal coordinate axes (x-axis, y-axis, and z-axis). By establishing a predetermined rule for the encoding order of GOS, encoding can be performed so that spatially adjacent GOS are continuous within the encoded data. For example, in the example shown in Figure 4, GOS within the xz plane are encoded continuously. After encoding of all GOS within a certain xz plane is completed, the value of the y-axis is updated. In other words, as encoding progresses, the world extends in the y-axis direction. Furthermore, the index numbers of GOS are set in the encoding order.

[0068] Here, the three-dimensional space of the world is associated one-to-one with absolute geographical coordinates such as GPS or latitude and longitude. Alternatively, the three-dimensional space may be expressed by relative positions from a preset reference position. The directions of the x-, y-, and z-axes of the three-dimensional space are expressed as direction vectors determined based on the latitude and longitude, and the direction vectors are stored as meta information together with the encoded data.

[0069] The size of the GOS is fixed, and the encoding device stores the size as meta information. The size of the GOS may be changed depending on, for example, whether the location is an urban area or whether the location is indoors or outdoors. That is, the size of the GOS may be changed depending on the quantity or nature of objects that have information value. Alternatively, the encoding device may adaptively change the size of the GOS or the spacing between I-SPCs within the GOS depending on, for example, the density of objects within the same world. For example, the higher the object density, the smaller the GOS size and the shorter the spacing between I-SPCs within the GOS.

[0070] In the example shown in Figure 5, the third to tenth GOS regions have a high density of objects, so the GOS are subdivided to allow finer granularity for random access. Note that the seventh to tenth GOS regions are located behind the third to sixth GOS regions, respectively.

[0071] Next, the configuration and operation flow of the three-dimensional data encoding device according to this embodiment will be described. Fig. 6 is a block diagram of the three-dimensional data encoding device 100 according to this embodiment. Fig. 7 is a flowchart showing an example of the operation of the three-dimensional data encoding device 100.

[0072] 6 generates encoded three-dimensional data 112 by encoding three-dimensional data 111. This three-dimensional data encoding device 100 includes an acquisition unit 101, an encoding region determination unit 102, a division unit 103, and an encoding unit 104.

[0073] As shown in FIG. 7, first, the acquisition unit 101 acquires three-dimensional data 111, which is point cloud data (S101).

[0074] Next, the coding area determination unit 102 determines an area to be coded from the spatial area corresponding to the acquired point cloud data (S102). For example, depending on the position of the user or vehicle, the coding area determination unit 102 determines a spatial area around the position as the area to be coded.

[0075] Next, the dividing unit 103 divides the point cloud data included in the region to be coded into processing units. Here, the processing units are the above-mentioned GOS and SPC, etc. Furthermore, this region to be coded corresponds to, for example, the above-mentioned world. Specifically, the dividing unit 103 divides the point cloud data into processing units based on the size of a preset GOS or the presence or size of a dynamic object (S103). Furthermore, the dividing unit 103 determines the start position of the SPC that is the first in coding order in each GOS.

[0076] Next, the encoding unit 104 generates encoded three-dimensional data 112 by sequentially encoding the plurality of SPCs in each GOS (S104).

[0077] Although an example has been shown in which the area to be coded is divided into GOSs and SPCs and then each GOS is coded, the processing procedure is not limited to the above. For example, a procedure may be used in which the configuration of one GOS is determined, the GOS is coded, and then the configuration of the next GOS is determined.

[0078] In this way, the three-dimensional data encoding device 100 generates encoded three-dimensional data 112 by encoding three-dimensional data 111. Specifically, the three-dimensional data encoding device 100 divides the three-dimensional data into first processing units (GOS), which are random access units and each correspond to a three-dimensional coordinate, divides the first processing units (GOS) into a plurality of second processing units (SPC), and divides the second processing units (SPC) into a plurality of third processing units (VLM). Furthermore, the third processing units (VLM) include one or more voxels (VXL), which are the smallest units to which position information can be associated.

[0079] Next, the three-dimensional data encoding device 100 generates encoded three-dimensional data 112 by encoding each of the plurality of first processing units (GOS). Specifically, the three-dimensional data encoding device 100 encodes each of the plurality of second processing units (SPC) in each first processing unit (GOS). Furthermore, the three-dimensional data encoding device 100 encodes each of the plurality of third processing units (VLM) in each second processing unit (SPC).

[0080] For example, when the first processing unit (GOS) to be processed is a closed GOS, the three-dimensional data encoding device 100 encodes the second processing unit (SPC) to be processed included in the first processing unit (GOS) to be processed by referring to other second processing units (SPC) included in the first processing unit (GOS) to be processed. In other words, the three-dimensional data encoding device 100 does not refer to second processing units (SPC) included in first processing units (GOS) different from the first processing unit (GOS) to be processed.

[0081] On the other hand, if the first processing unit (GOS) to be processed is an open GOS, the second processing unit (SPC) to be processed included in the first processing unit (GOS) to be processed is encoded by referring to other second processing units (SPC) included in the first processing unit (GOS) to be processed, or second processing units (SPC) included in a first processing unit (GOS) different from the first processing unit (GOS) to be processed.

[0082] In addition, the three-dimensional data encoding device 100 selects, as the type of the second processing unit (SPC) to be processed, one of the following: a first type (I-SPC) that does not reference other second processing units (SPCs), a second type (P-SPC) that references one other second processing unit (SPC), or a third type that references two other second processing units (SPCs), and encodes the second processing unit (SPC) to be processed according to the selected type.

[0083] Next, the configuration and operation flow of the three-dimensional data decoding device according to this embodiment will be described. Fig. 8 is a block diagram of the blocks of the three-dimensional data decoding device 200 according to this embodiment. Fig. 9 is a flowchart showing an example of the operation of the three-dimensional data decoding device 200.

[0084] 8 generates decoded three-dimensional data 212 by decoding encoded three-dimensional data 211. Here, the encoded three-dimensional data 211 is, for example, the encoded three-dimensional data 112 generated by the three-dimensional data encoding device 100. This three-dimensional data decoding device 200 includes an acquisition unit 201, a decoding start GOS determination unit 202, a decoding SPC determination unit 203, and a decoding unit 204.

[0085] First, the acquisition unit 201 acquires the encoded 3D data 211 (S201). Next, the decoding start GOS determination unit 202 determines a GOS to be decoded (S202). Specifically, the decoding start GOS determination unit 202 refers to meta information stored in the encoded 3D data 211 or separately from the encoded 3D data, and determines a GOS including an SPC corresponding to a spatial position, object, or time at which decoding starts as the GOS to be decoded.

[0086] Next, the decoding SPC determination unit 203 determines the type (I, P, B) of SPC to be decoded in the GOS (S203). For example, the decoding SPC determination unit 203 determines whether to (1) decode only I-SPC, (2) decode I-SPC and P-SPC, or (3) decode all types. Note that if the type of SPC to be decoded has been determined in advance, such as when all SPCs are to be decoded, this step may not be performed.

[0087] Next, the decoding unit 204 acquires the address position in the encoded 3D data 211 where the first SPC in the GOS in decoding order (the same as the encoding order) starts, acquires the encoded data of the first SPC from the address position, and sequentially decodes each SPC in order starting from the first SPC (S204). Note that the address position is stored in meta information or the like.

[0088] In this way, the three-dimensional data decoding device 200 decodes the decoded three-dimensional data 212. Specifically, the three-dimensional data decoding device 200 generates the decoded three-dimensional data 212 of the first processing units (GOS) by decoding each of the encoded three-dimensional data 211 of the first processing units (GOS), which are random access units and each of which is associated with a three-dimensional coordinate. More specifically, the three-dimensional data decoding device 200 decodes each of the plurality of second processing units (SPC) in each first processing unit (GOS). Furthermore, the three-dimensional data decoding device 200 decodes each of the plurality of third processing units (VLM) in each second processing unit (SPC).

[0089] The following describes the meta information for random access. This meta information is generated by the three-dimensional data encoding device 100 and is included in the encoded three-dimensional data 112 (211).

[0090] In conventional random access for 2D video, decoding starts from the first frame of the random access unit that is close to the specified time. On the other hand, in the world, random access to space (coordinates, objects, etc.) is assumed in addition to time.

[0091] Therefore, to realize random access to at least three elements, coordinates, objects, and time, a table is prepared that associates each element with a GOS index number. Furthermore, the GOS index number is associated with the address of the I-SPC at the beginning of the GOS. Figure 10 shows an example of a table included in the meta information. Note that it is not necessary to use all of the tables shown in Figure 10; it is sufficient to use at least one table.

[0092] Hereinafter, as an example, random access starting from a coordinate will be described. When accessing coordinates (x2, y2, z2), first, the coordinate-GOS table is referenced and it is found that the point with coordinates (x2, y2, z2) is included in the second GOS. Next, the GOS address table is referenced and it is found that the address of the first I-SPC in the second GOS is addr(2). Therefore, the decoding unit 204 obtains data from this address and starts decoding.

[0093] The address may be an address in a logical format or a physical address on a hard disk drive or in memory. Alternatively, information identifying a file segment may be used instead of the address. For example, a file segment is a segmented unit of one or more GOSs.

[0094] Furthermore, if an object spans multiple GOSs, the object-GOS table may indicate multiple GOSs to which the object belongs. If the multiple GOSs are closed GOSs, the encoding device and decoding device can encode or decode in parallel. On the other hand, if the multiple GOSs are open GOSs, the multiple GOSs can reference each other, thereby improving compression efficiency.

[0095] Examples of objects include people, animals, cars, bicycles, traffic lights, landmark buildings, etc. For example, when encoding a world, the three-dimensional data encoding device 100 can extract feature points specific to objects from a three-dimensional point cloud or the like, detect objects based on the feature points, and set the detected objects as random access points.

[0096] In this way, the three-dimensional data encoding device 100 generates first information indicating a plurality of first processing units (GOS) and three-dimensional coordinates associated with each of the plurality of first processing units (GOS). The encoded three-dimensional data 112 (211) includes this first information. The first information further indicates at least one of an object, a time, and a data storage destination associated with each of the plurality of first processing units (GOS).

[0097] The three-dimensional data decoding device 200 acquires first information from the encoded three-dimensional data 211, and uses the first information to identify the encoded three-dimensional data 211 of the first processing unit corresponding to the specified three-dimensional coordinates, object, or time, and decodes the encoded three-dimensional data 211.

[0098] Other examples of meta information will be described below. In addition to the meta information for random access, the three-dimensional data encoding device 100 may generate and store the following meta information. Furthermore, the three-dimensional data decoding device 200 may use this meta information during decoding.

[0099] When using three-dimensional data as map information, a profile may be defined depending on the application, and information indicating the profile may be included in the meta information. For example, profiles for urban areas, suburban areas, or flying objects may be defined, and the maximum or minimum size of the world, SPC, or VLM may be defined for each. For example, for urban areas, more detailed information is required than for suburban areas, so the minimum size of the VLM is set smaller.

[0100] The meta information may include a tag value indicating the type of object. This tag value is associated with the VLM, SPC, or GOS that constitutes the object. For example, a tag value may be set for each type of object, such as a tag value of "0" indicating a "person," a tag value of "1" indicating a "car," and a tag value of "2" indicating a "traffic light." Alternatively, if the type of object is difficult to determine or does not need to be determined, a tag value indicating a property such as size or whether the object is dynamic or static may be used.

[0101] The meta information may also include information indicating the range of the spatial region occupied by the world.

[0102] The meta information may also store the size of the SPC or VXL as header information common to a plurality of SPCs, such as the entire stream of coded data or an SPC in a GOS.

[0103] The meta information may also include identification information for the range sensor or camera used to generate the point cloud, or information indicating the positional accuracy of the points in the point cloud.

[0104] The meta information may also include information indicating whether the world is made up of only static objects or whether it also includes dynamic objects.

[0105] A modification of this embodiment will now be described.

[0106] The encoding device or decoding device may encode or decode two or more different SPCs or GOSs in parallel. The GOSs to be encoded or decoded in parallel can be determined based on meta-information indicating the spatial positions of the GOSs.

[0107] In cases where three-dimensional data is used as a spatial map for vehicles or flying objects moving around, or where such a spatial map is to be generated, the encoding device or decoding device may encode or decode a GOS or SPC contained in a space identified based on GPS, route information, zoom magnification, etc.

[0108] Furthermore, the decoding device may perform decoding in order from the space closest to the current location or the travel route. The encoding device or decoding device may encode or decode a space farther from the current location or the travel route by lowering the priority compared to a closer space. Here, lowering the priority means lowering the processing order, lowering the resolution (thinning out the data before processing), or lowering the image quality (increasing the encoding efficiency, for example, by increasing the quantization step), etc.

[0109] Furthermore, when decoding coded data that has been coded hierarchically in space, the decoding device may decode only the lower layers.

[0110] The decoding device may also decode data preferentially from the lowest layer depending on the zoom factor or purpose of the map.

[0111] In addition, for applications such as self-position estimation or object recognition performed when a car or robot is driving autonomously, the encoding device or decoding device may encode or decode with reduced resolution except for areas within a specific height from the road surface (area where recognition is performed).

[0112] The encoding device may also encode point clouds representing indoor and outdoor spatial shapes separately. For example, by separating the GOS representing the indoor space (indoor GOS) from the GOS representing the outdoor space (outdoor GOS), the decoding device can select the GOS to decode depending on the viewpoint position when using the encoded data.

[0113] The encoding device may also encode indoor and outdoor GOS with nearby coordinates so that they are adjacent in the encoded stream. For example, the encoding device may associate identifiers for the two and store information indicating the associated identifiers in the encoded stream or in separately stored meta information. This allows the decoding device to identify indoor and outdoor GOS with nearby coordinates by referring to the information in the meta information.

[0114] The encoding device may also switch the size of the GOS or SPC between indoor and outdoor GOS. For example, the encoding device may set a smaller GOS size indoors than outdoors. The encoding device may also change the accuracy of extracting feature points from the point cloud or the accuracy of object detection between indoor and outdoor GOS.

[0115] The encoding device may also add information to the encoded data that enables the decoding device to distinguish dynamic objects from static objects. This allows the decoding device to display dynamic objects together with red frames or explanatory text. The decoding device may also display only red frames or explanatory text instead of dynamic objects. The decoding device may also display more specific object types. For example, a red frame may be used for cars and a yellow frame for people.

[0116] Furthermore, the encoding device or decoding device may determine whether to encode or decode dynamic objects and static objects as different SPCs or GOSs depending on the frequency of appearance of dynamic objects, the ratio of static objects to dynamic objects, etc. For example, if the frequency of appearance or ratio of dynamic objects exceeds a threshold, an SPC or GOS in which dynamic objects and static objects are mixed is permitted, and if the frequency of appearance or ratio of dynamic objects does not exceed the threshold, an SPC or GOS in which dynamic objects and static objects are mixed is not permitted.

[0117] When detecting dynamic objects from two-dimensional camera image information rather than from a point cloud, the encoding device may separately acquire information for identifying the detection result (such as a frame or text) and the object position, and encode this information as part of the three-dimensional encoded data. In this case, the decoding device displays auxiliary information (such as a frame or text) indicating the dynamic object by superimposing it on the decoding result of the static object.

[0118] The encoding device may also change the density of the VXL or VLM in the SPC depending on factors such as the complexity of the shape of the static object. For example, the encoding device may set the VXL or VLM to a higher density as the shape of the static object becomes more complex. Furthermore, the encoding device may determine the quantization step, etc., used when quantizing spatial position or color information depending on the density of the VXL or VLM. For example, the encoding device may set a smaller quantization step as the VXL or VLM becomes denser.

[0119] As described above, the encoding device or decoding device according to this embodiment encodes or decodes space in units of spaces each having coordinate information.

[0120] Furthermore, the encoding device and the decoding device perform encoding and decoding in units of volumes within a space. A volume includes voxels, which are the smallest units to which position information can be associated.

[0121] The encoding device and decoding device perform encoding or decoding by associating any elements using a table that associates each element of spatial information, including coordinates, objects, and time, with a GOP, or a table that associates each element with another element. The decoding device determines coordinates using the value of a selected element, identifies a volume, voxel, or space from the coordinates, and decodes the space including the volume or voxel, or the identified space.

[0122] The encoding device also determines a volume, voxel, or space that can be selected by an element through feature point extraction or object recognition, and encodes it as a randomly accessible volume, voxel, or space.

[0123] Spaces are classified into three types: I-SPC, which can be encoded or decoded by itself; P-SPC, which is encoded or decoded by referring to any one processed space; and B-SPC, which is encoded or decoded by referring to any two processed spaces.

[0124] One or more volumes correspond to static or dynamic objects. The space containing the static objects and the space containing the dynamic objects are coded or decoded as different GOSs. That is, the SPC containing the static objects and the SPC containing the dynamic objects are assigned to different GOSs.

[0125] Dynamic objects are encoded or decoded on an object-by-object basis and associated with one or more spaces containing static objects, i.e., multiple dynamic objects are encoded individually, and the resulting encoded data for the multiple dynamic objects is associated with the SPC containing the static objects.

[0126] The encoding device and the decoding device perform encoding or decoding by increasing the priority of the I-SPC in the GOS. For example, the encoding device performs encoding so as to minimize degradation of the I-SPC (so that the original 3D data is reproduced more faithfully after decoding). Also, the decoding device decodes only the I-SPC, for example.

[0127] The encoding device may perform encoding by changing the frequency of using I-SPCs depending on the density or number (quantity) of objects in the world. In other words, the encoding device changes the frequency of selecting I-SPCs depending on the number or density of objects included in the three-dimensional data. For example, the encoding device may use I-spaces more frequently as the density of objects in the world increases.

[0128] Furthermore, the encoding device sets random access points in units of GOS, and stores information indicating the spatial region corresponding to the GOS in the header information.

[0129] The encoding device uses, for example, a default value as the spatial size of the GOS. Note that the encoding device may change the size of the GOS depending on the number (quantity) or density of objects or dynamic objects. For example, the encoding device reduces the spatial size of the GOS as the density or number of objects or dynamic objects increases.

[0130] The space or volume also includes a set of feature points derived using information obtained by sensors such as a depth sensor, a gyroscope, or a camera. The coordinates of the feature points are set at the center positions of the voxels. Furthermore, by subdividing the voxels, it is possible to achieve high accuracy of the position information.

[0131] The feature point group is derived using multiple pictures, each of which has at least two types of time information: actual time information and time information that is the same for multiple pictures associated with the space (e.g., encoding time used for rate control, etc.).

[0132] Also, encoding or decoding is performed in units of GOS, each GOS including one or more spaces.

[0133] The encoding device and the decoding device refer to the spaces in the processed GOS to predict the P space or the B space in the GOS to be processed.

[0134] Alternatively, the encoding device and the decoding device do not refer to a different GOS, but predict the P space or the B space in the GOS to be processed using the processed space in the GOS to be processed.

[0135] Furthermore, the encoding device and the decoding device transmit or receive the encoded stream in units of worlds each including one or more GOSs.

[0136] Furthermore, the GOS has a layer structure in at least one direction within a world, and the encoding device and decoding device encode or decode from the lower layer. For example, a randomly accessible GOS belongs to the lowest layer. A GOS belonging to a higher layer references a GOS belonging to the same layer or lower. In other words, the GOS is spatially divided in a predetermined direction and includes multiple layers, each containing one or more SPCs. The encoding device and decoding device encode or decode each SPC by referring to an SPC included in the same layer as the SPC or in a layer lower than the SPC.

[0137] Furthermore, the encoding device and the decoding device encode or decode consecutive GOSs within a world unit including multiple GOSs. The encoding device and the decoding device write or read information indicating the encoding or decoding order (direction) as metadata. In other words, the encoded data includes information indicating the encoding order of multiple GOSs.

[0138] Furthermore, the encoding device and the decoding device encode or decode two or more different spaces or GOSs in parallel.

[0139] The encoding device and decoding device also encode and decode spatial information (coordinates, size, etc.) of the space or GOS.

[0140] Furthermore, the encoding device and decoding device encode or decode a space or GOS included in a specific space that is specified based on external information related to its own position and / or area size, such as GPS, route information, or magnification.

[0141] The encoding device or decoding device encodes or decodes spaces farther from its own position with lower priority than spaces closer to its own position.

[0142] The encoding device sets one direction of the world according to the magnification or use, and encodes the GOS having a layer structure in that direction. The decoding device decodes the GOS having a layer structure in one direction of the world set according to the magnification or use, preferentially from the lower layer.

[0143] The encoding device varies the feature point extraction, object recognition accuracy, spatial region size, etc., included in the indoor and outdoor spaces. However, the encoding device and decoding device encode or decode the indoor GOS and outdoor GOS that are close in coordinates as adjacent in the world, and also associate their identifiers and encode or decode them.

[0144] (Embodiment 2) When using encoded point cloud data in an actual device or service, it is desirable to transmit and receive the information required for the application in order to reduce network bandwidth. However, until now, such a function has not existed in the encoding structure of 3D data, and no encoding method for this purpose has existed.

[0145] In this embodiment, we will describe a three-dimensional data encoding method and a three-dimensional data encoding device that provide the function of transmitting and receiving only the information necessary for the purpose in encoded data of a three-dimensional point cloud, as well as a three-dimensional data decoding method and a three-dimensional data decoding device that decodes the encoded data.

[0146] A voxel (VXL) having a certain amount of features or more is defined as a feature voxel (FVXL), and a world (WLD) composed of FVXL is defined as a sparse world (SWLD). Figure 11 shows an example of the configuration of a sparse world and a world. The SWLD includes FGOS, which is a GOS composed of FVXL, FSPC, which is an SPC composed of FVXL, and FVLM, which is a VLM composed of FVXL. The data structures and prediction structures of FGOS, FSPC, and FVLM may be the same as those of GOS, SPC, and VLM.

[0147] The feature is a feature that expresses three-dimensional position information of the VXL or visible light information of the VXL position, and is a feature that is often detected especially at corners and edges of three-dimensional objects. Specifically, this feature is a three-dimensional feature or visible light feature as described below, but any feature that expresses the position, brightness, color information, etc. of the VXL may be used.

[0148] As the three-dimensional feature, SHOT feature (Signature of Histograms of OrienTations), PFH feature (Point Feature Histograms), or PPF feature (Point Pair Feature) is used.

[0149] The SHOT feature is obtained by dividing the area around the VXL, calculating the dot product between the reference point and the normal vector of each divided area, and creating a histogram. This SHOT feature has the advantage of being highly dimensional and expressive.

[0150] The PFH feature is obtained by selecting many pairs of points near the VXL, calculating normal vectors from those two points, and creating a histogram. Because the PFH feature is a histogram feature, it is robust against some disturbances and has high expressive power.

[0151] The PPF feature is calculated using normal vectors etc. for each of two VXL points. Since all VXLs are used for this PPF feature, it is robust against occlusion.

[0152] Furthermore, as the feature amount of visible light, SIFT (Scale-Invariant Feature Transform), SURF (Speeded Up Robust Features), HOG (Histogram of Oriented Gradients), or the like, which use information such as brightness gradient information of an image, can be used.

[0153] The SWLD is generated by calculating the above feature values ​​from each VXL of the WLD and extracting the FVXL. Here, the SWLD may be updated every time the WLD is updated, or may be updated periodically after a certain period of time has elapsed, regardless of the timing of updating the WLD.

[0154] A SWLD may be generated for each feature. For example, a separate SWLD may be generated for each feature, such as SWLD1 based on SHOT features and SWLD2 based on SIFT features, and different SWLDs may be used depending on the application. Furthermore, the calculated features of each FVXL may be stored in each FVXL as feature information.

[0155] Next, we explain how to use sparse world learning (SWLD). SWLDs contain only feature voxels (FVXL), so their data size is generally smaller than WLDs, which contain all VXL.

[0156] In applications that use features to achieve certain purposes, using SWLD information instead of WLD information can reduce the time required to read from the hard disk, as well as the bandwidth and transfer time required for network transfer. For example, by storing WLD and SWLD as map information on the server and switching between WLD and SWLD as the map information to be sent in response to a client request, the network bandwidth and transfer time can be reduced. A specific example is shown below.

[0157] 12 and 13 are diagrams illustrating examples of using SWLDs and WLDs. As shown in FIG. 12, when a client 1, which is an in-vehicle device, needs map information for determining its own location, the client 1 sends a request to the server to acquire map data for self-location estimation (S301). The server transmits an SWLD to the client 1 in response to the acquisition request (S302). The client 1 determines its own location using the received SWLD (S303). In this case, the client 1 acquires VXL information around the client 1 using various methods, such as a distance sensor such as a range finder, a stereo camera, or a combination of multiple monocular cameras, and estimates its own location information from the acquired VXL information and SWLD. Here, the self-location information includes the three-dimensional location information and orientation of the client 1.

[0158] 13, when a client 2, which is an in-vehicle device, needs map information for map drawing purposes such as a three-dimensional map, the client 2 sends a request to the server to acquire map data for map drawing (S311). The server transmits a WLD to the client 2 in response to the acquisition request (S312). The client 2 uses the received WLD to draw the map (S313). In this case, the client 2 creates a rendering image using, for example, an image captured by the client 2 using a visible light camera or the like and the WLD acquired from the server, and draws the created image on the screen of a car navigation system or the like.

[0159] As described above, the server sends SWLD to the client for applications that mainly require the feature values ​​of each VXL, such as self-location estimation, and sends WLD to the client for applications that require detailed VXL information, such as map drawing. This enables efficient transmission and reception of map data.

[0160] The client may decide for itself whether it needs a SWLD or a WLD and request the server to send either a SWLD or a WLD. The server may also decide whether to send a SWLD or a WLD depending on the client or network conditions.

[0161] Next, we will explain how to switch between sending and receiving data in the sparse world (SWLD) and the world (WLD).

[0162] Whether to receive a WLD or an SWLD may be switched depending on the network bandwidth. FIG. 14 shows an example of operation in this case. For example, when a low-speed network with limited available network bandwidth, such as an LTE (Long Term Evolution) environment, is used, the client accesses the server via the low-speed network (S321) and acquires an SWLD as map information from the server (S322). On the other hand, when a high-speed network with ample network bandwidth, such as a Wi-Fi (registered trademark) environment, is used, the client accesses the server via the high-speed network (S323) and acquires a WLD from the server (S324). This allows the client to acquire appropriate map information depending on the client's network bandwidth.

[0163] Specifically, the client receives SWLD via LTE when outdoors, and acquires WLD via Wi-Fi (registered trademark) when inside a facility, etc. This allows the client to obtain more detailed map information for the indoor area.

[0164] In this way, the client may request a WLD or SWLD from the server depending on the bandwidth of the network it uses. Alternatively, the client may send information indicating the bandwidth of the network it uses to the server, and the server may send data (WLD or SWLD) suitable for the client depending on the information. Alternatively, the server may determine the network bandwidth of the client and send data (WLD or SWLD) suitable for the client.

[0165] Moreover, whether to receive a WLD or a SWLD may be switched depending on the moving speed. FIG. 15 shows an example of operation in this case. For example, when the client is moving at high speed (S331), the client receives a SWLD from the server (S332). On the other hand, when the client is moving at low speed (S333), the client receives a WLD from the server (S334). This allows the client to acquire map information suited to the speed while suppressing network bandwidth. Specifically, by receiving a SWLD with a small amount of data while traveling on a highway, the client can update rough map information at an appropriate speed. On the other hand, by receiving a WLD while traveling on an ordinary road, the client can acquire more detailed map information.

[0166] In this way, the client may request a WLD or SWLD from the server according to its own moving speed. Alternatively, the client may send information indicating its own moving speed to the server, and the server may send data (WLD or SWLD) suitable for the client according to the information. Alternatively, the server may determine the moving speed of the client and send data (WLD or SWLD) suitable for the client.

[0167] Alternatively, the client may first obtain SWLD from the server and then obtain WLD for important areas within that. For example, when obtaining map data, the client may first obtain rough map information in SWLD, then narrow down the area to areas where features such as buildings, signs, or people frequently appear, and later obtain WLD for the narrowed down area. This allows the client to obtain detailed information for the required area while reducing the amount of data received from the server.

[0168] Alternatively, the server may create a separate SWLD for each object from the WLD, and the client may receive each one depending on the application. This reduces network bandwidth. For example, the server may recognize people or cars from the WLD in advance and create a SWLD for people and a SWLD for cars. The client may receive a SWLD for people if it wants to obtain information about people around it, or a SWLD for cars if it wants to obtain information about cars. The types of SWLDs may also be distinguished by information (such as a flag or type) added to the header, etc.

[0169] Next, the configuration and operation flow of a three-dimensional data encoding device (e.g., a server) according to this embodiment will be described. Fig. 16 is a block diagram of a three-dimensional data encoding device 400 according to this embodiment. Fig. 17 is a flowchart of three-dimensional data encoding processing by the three-dimensional data encoding device 400.

[0170] 16 encodes input three-dimensional data 411 to generate encoded three-dimensional data 413 and 414, which are encoded streams. Here, the encoded three-dimensional data 413 is encoded three-dimensional data corresponding to a WLD, and the encoded three-dimensional data 414 is encoded three-dimensional data corresponding to a SWLD. This three-dimensional data encoding device 400 includes an acquisition unit 401, a coding region determination unit 402, a SWLD extraction unit 403, a WLD encoding unit 404, and a SWLD encoding unit 405.

[0171] As shown in FIG. 17, first, the acquisition unit 401 acquires input three-dimensional data 411, which is point cloud data in a three-dimensional space (S401).

[0172] Next, the coding region determination unit 402 determines a spatial region to be coded based on the spatial region in which the point cloud data exists (S402).

[0173] Next, the SWLD extraction unit 403 defines the spatial region to be coded as a WLD and calculates a feature amount from each VXL included in the WLD.The SWLD extraction unit 403 then extracts VXLs whose feature amounts are equal to or greater than a predetermined threshold, defines the extracted VXLs as FVXLs, and adds the FVXLs to the SWLD to generate extracted three-dimensional data 412 (S403).In other words, extracted three-dimensional data 412 whose feature amounts are equal to or greater than the threshold are extracted from the input three-dimensional data 411.

[0174] Next, the WLD encoding unit 404 generates encoded three-dimensional data 413 corresponding to the WLD by encoding the input three-dimensional data 411 corresponding to the WLD (S404). At this time, the WLD encoding unit 404 adds information to the header of the encoded three-dimensional data 413 to distinguish that the encoded three-dimensional data 413 is a stream including a WLD.

[0175] Furthermore, the SWLD encoding unit 405 generates encoded three-dimensional data 414 corresponding to the SWLD by encoding the extracted three-dimensional data 412 corresponding to the SWLD (S405). At this time, the SWLD encoding unit 405 adds information to the header of the encoded three-dimensional data 414 to distinguish that the encoded three-dimensional data 414 is a stream including an SWLD.

[0176] The order of the process for generating the encoded three-dimensional data 413 and the process for generating the encoded three-dimensional data 414 may be reversed. Also, some or all of these processes may be performed in parallel.

[0177] For example, a parameter called "world_type" is defined as information added to the headers of the encoded 3D data 413 and 414. world_type=0 indicates that the stream includes a WLD, and world_type=1 indicates that the stream includes a SWLD. If many other types are defined, the assigned numerical value may be increased, such as world_type=2. Furthermore, a specific flag may be included in one of the encoded 3D data 413 and 414. For example, a flag indicating that the stream includes a SWLD may be added to the encoded 3D data 414. In this case, the decoding device can determine whether the stream includes a WLD or a SWLD based on the presence or absence of the flag.

[0178] Furthermore, the encoding method used by the WLD encoding unit 404 when encoding the WLD may be different from the encoding method used by the SWLD encoding unit 405 when encoding the SWLD.

[0179] For example, in SWLD, data is thinned out, so that correlation with surrounding data may be lower than in WLD. Therefore, in the encoding method used in SWLD, inter prediction may be prioritized over intra prediction and inter prediction in comparison with the encoding method used in WLD.

[0180] Furthermore, the encoding method used for SWLD and the encoding method used for WLD may differ in the way three-dimensional positions are expressed. For example, in SWLD, the three-dimensional position of FVXL may be expressed by three-dimensional coordinates, and in WLD, the three-dimensional position may be expressed by an octree, which will be described later, or vice versa.

[0181] Furthermore, the SWLD encoding unit 405 performs encoding so that the data size of the encoded three-dimensional data 414 of SWLD is smaller than the data size of the encoded three-dimensional data 413 of WLD. For example, as described above, there is a possibility that correlation between data in SWLD is lower than that in WLD. This may result in a decrease in encoding efficiency, and the data size of the encoded three-dimensional data 414 may be larger than the data size of the encoded three-dimensional data 413 of WLD. Therefore, if the data size of the obtained encoded three-dimensional data 414 is larger than the data size of the encoded three-dimensional data 413 of WLD, the SWLD encoding unit 405 re-encodes the data to regenerate encoded three-dimensional data 414 with a reduced data size.

[0182] For example, the SWLD extraction unit 403 regenerates extracted three-dimensional data 412 with a reduced number of extracted feature points, and the SWLD encoding unit 405 encodes the extracted three-dimensional data 412. Alternatively, the degree of quantization in the SWLD encoding unit 405 may be made coarser. For example, in an octree structure described below, the degree of quantization can be made coarser by rounding the data in the lowest layer.

[0183] Furthermore, if the data size of the encoded three-dimensional data 414 of SWLD cannot be made smaller than the data size of the encoded three-dimensional data 413 of WLD, the SWLD encoding unit 405 may not generate the encoded three-dimensional data 414 of SWLD. Alternatively, the encoded three-dimensional data 413 of WLD may be copied to the encoded three-dimensional data 414 of SWLD. In other words, the encoded three-dimensional data 413 of WLD may be used as is as the encoded three-dimensional data 414 of SWLD.

[0184] Next, the configuration and operation flow of a three-dimensional data decoding device (e.g., a client) according to this embodiment will be described. Fig. 18 is a block diagram of a three-dimensional data decoding device 500 according to this embodiment. Fig. 19 is a flowchart of three-dimensional data decoding processing by the three-dimensional data decoding device 500.

[0185] 18 generates decoded three-dimensional data 512 or 513 by decoding encoded three-dimensional data 511. Here, the encoded three-dimensional data 511 is, for example, the encoded three-dimensional data 413 or 414 generated by the three-dimensional data encoding device 400.

[0186] This three-dimensional data decoding device 500 includes an acquisition unit 501 , a header analysis unit 502 , a WLD decoding unit 503 , and a SWLD decoding unit 504 .

[0187] 19, first, the acquisition unit 501 acquires encoded three-dimensional data 511 (S501). Next, the header analysis unit 502 analyzes the header of the encoded three-dimensional data 511 and determines whether the encoded three-dimensional data 511 is a stream including a WLD or a stream including a SWLD (S502). For example, the determination is made by referring to the world_type parameter described above.

[0188] If the encoded three-dimensional data 511 is a stream including a WLD (Yes in S503), the WLD decoding unit 503 decodes the encoded three-dimensional data 511 to generate decoded three-dimensional data 512 of the WLD (S504). On the other hand, if the encoded three-dimensional data 511 is a stream including an SWLD (No in S503), the SWLD decoding unit 504 decodes the encoded three-dimensional data 511 to generate decoded three-dimensional data 513 of the SWLD (S505).

[0189] Also, similarly to the encoding device, the decoding method used by the WLD decoding unit 503 when decoding the WLD may be different from the decoding method used by the SWLD decoding unit 504 when decoding the SWLD. For example, in the decoding method used for the SWLD, inter prediction, out of intra prediction and inter prediction, may be given priority over the decoding method used for the WLD.

[0190] Furthermore, the decoding method used for SWLD and the decoding method used for WLD may differ in the way of expressing three-dimensional positions. For example, in SWLD, the three-dimensional position of FVXL may be expressed by three-dimensional coordinates, and in WLD, the three-dimensional position may be expressed by an octree, which will be described later, or vice versa.

[0191] Next, we will explain the octree representation, which is a method of representing three-dimensional positions. VXL data included in three-dimensional data is converted into an octree structure and then encoded. Fig. 20 is a diagram showing an example of a VXL in a WLD. Fig. 21 is a diagram showing the octree structure of the WLD shown in Fig. 20. In the example shown in Fig. 20, there are three VXLs (hereinafter referred to as valid VXLs) VXL1 to VXL3 that contain point clouds. As shown in Fig. 21, the octree structure is composed of nodes and leaves. Each node has a maximum of eight nodes or leaves. Each leaf has VXL information. Here, among the leaves shown in Fig. 21, leaves 1, 2, and 3 represent VXL1, VXL2, and VXL3 shown in Fig. 20, respectively.

[0192] Specifically, each node and leaf corresponds to a three-dimensional position. Node 1 corresponds to the entire block shown in FIG. 20. The block corresponding to node 1 is divided into eight blocks, and of the eight blocks, the block containing a valid VXL is set as a node, and the other blocks are set as leaves. The block corresponding to the node is further divided into eight nodes or leaves, and this process is repeated for each level of the tree structure. In addition, all blocks in the lowest level are set as leaves.

[0193] FIG. 22 is a diagram showing an example of an SWLD generated from the WLD shown in FIG. 20. VXL1 and VXL2 shown in FIG. 20 are determined to be FVXL1 and FVXL2 as a result of feature extraction and are added to the SWLD. On the other hand, VXL3 is not determined to be FVXL and is not included in the SWLD. FIG. 23 is a diagram showing the octree structure of the SWLD shown in FIG. 22. In the octree structure shown in FIG. 23, leaf 3 corresponding to VXL3 shown in FIG. 21 is deleted. As a result, node 3 shown in FIG. 21 no longer has a valid VXL and is changed to a leaf. As such, the number of leaves in an SWLD is generally smaller than the number of leaves in a WLD, and the encoded 3D data of the SWLD is also smaller than the encoded 3D data of the WLD.

[0194] A modification of this embodiment will now be described.

[0195] For example, when a client such as an in-vehicle device estimates its own position, it receives a SWLD from a server and estimates its own position using the SWLD, and when detecting an obstacle, it may perform obstacle detection based on three-dimensional information of the surrounding area that it has acquired using various methods such as a distance sensor such as a range finder, a stereo camera, or a combination of multiple monocular cameras.

[0196] In addition, SWLDs generally do not contain VXL data for flat areas. Therefore, the server may store a subsampled world (subWLD) that is a subsample of the WLD for static obstacle detection, and transmit the SWLD and subWLD to the client. This allows the client to perform localization and obstacle detection while reducing network bandwidth.

[0197] Furthermore, when a client wants to quickly draw 3D map data, it may be more convenient for the map information to have a mesh structure. Therefore, the server may generate a mesh from the WLD and store it in advance as a mesh world (MWLD). For example, a client may receive an MWLD when it needs a coarse 3D drawing, and a WLD when it needs a detailed 3D drawing. This reduces network bandwidth.

[0198] Furthermore, although the server sets the VXLs among the VXLs whose feature quantities are equal to or greater than a threshold as FVXLs, FVXLs may be calculated using a different method. For example, the server may determine that the VXLs, VLMs, SPCs, or GOSs constituting a traffic light or intersection are necessary for self-localization, driving assistance, or autonomous driving, and include them in the SWLD as FVXLs, FVLMs, FSPCs, and FGOSs. This determination may also be performed manually. The FVXLs obtained by the above method may be added to the FVXLs set based on the feature quantities. That is, the SWLD extraction unit 403 may further extract data corresponding to objects having predetermined attributes from the input three-dimensional data 411 as extracted three-dimensional data 412.

[0199] Furthermore, the fact that it is necessary for such purposes may be labeled separately from the features. Furthermore, the server may separately store FVXL necessary for self-localization at traffic lights or intersections, driving assistance, autonomous driving, etc. as a higher layer (e.g., lane world) of SWLD.

[0200] The server may also add attributes to the VXL in the WLD for each random access unit or for each predetermined unit. The attributes include, for example, information indicating whether the VXL is necessary or unnecessary for self-location estimation, or information indicating whether the VXL is important as traffic information such as a traffic light or intersection. The attributes may also include a correspondence relationship with a feature (such as an intersection or road) in lane information (such as GDF: Geographic Data Files).

[0201] Furthermore, the following method may be used as a method for updating the WLD or SWLD.

[0202] Updates indicating changes in people, construction, or tree-lined streets (for trucks) are uploaded to the server as point clouds or metadata. The server updates the WLD based on the upload, and then updates the SWLD using the updated WLD.

[0203] In addition, if the client detects an inconsistency between the 3D information it generated during self-location estimation and the 3D information it received from the server, it may send the 3D information it generated to the server along with an update notification. In this case, the server updates the SWLD using the WLD. If the SWLD is not updated, the server determines that the WLD itself is out of date.

[0204] Although information for distinguishing between WLD and SWLD is added to the header information of the coded stream, if there are multiple types of worlds, such as mesh worlds or lane worlds, information for distinguishing between them may be added to the header information. Also, if there are multiple SWLDs with different features, information for distinguishing between them may be added to the header information.

[0205] Furthermore, although the SWLD is described as being composed of FVXL, it may also include VXL that has not been determined to be FVXL. For example, the SWLD may include adjacent VXL that are used when calculating the feature of FVXL. This allows the client to calculate the feature of FVXL when receiving the SWLD, even if feature information is not added to each FVXL in the SWLD. In this case, the SWLD may include information for distinguishing whether each VXL is FVXL or VXL.

[0206] As described above, the three-dimensional data encoding device 400 extracts extracted three-dimensional data 412 (second three-dimensional data) whose feature amount is greater than or equal to a threshold value from input three-dimensional data 411 (first three-dimensional data), and generates encoded three-dimensional data 414 (first encoded three-dimensional data) by encoding the extracted three-dimensional data 412.

[0207] According to this, the three-dimensional data encoding device 400 generates encoded three-dimensional data 414 by encoding data whose feature amount is equal to or greater than a threshold. This allows the amount of data to be reduced compared to when the input three-dimensional data 411 is encoded as is. Therefore, the three-dimensional data encoding device 400 can reduce the amount of data to be transmitted.

[0208] Moreover, the three-dimensional data encoding device 400 further encodes the input three-dimensional data 411 to generate encoded three-dimensional data 413 (second encoded three-dimensional data).

[0209] This allows the three-dimensional data encoding device 400 to selectively transmit the encoded three-dimensional data 413 and the encoded three-dimensional data 414 depending on, for example, the intended use.

[0210] Furthermore, the extracted three-dimensional data 412 is coded by a first coding method, and the input three-dimensional data 411 is coded by a second coding method that is different from the first coding method.

[0211] This allows the three-dimensional data encoding device 400 to use encoding methods suited to the input three-dimensional data 411 and the extracted three-dimensional data 412, respectively.

[0212] Furthermore, in the first encoding method, of intra prediction and inter prediction, inter prediction is given priority over the second encoding method.

[0213] This allows the 3D data encoding device 400 to increase the priority of inter prediction for the extracted 3D data 412, which tends to have low correlation between adjacent data.

[0214] Furthermore, the first and second encoding methods differ in the way they represent three-dimensional positions: for example, the second encoding method represents three-dimensional positions using an octree, while the first encoding method represents three-dimensional positions using three-dimensional coordinates.

[0215] This allows the three-dimensional data encoding device 400 to use a more suitable three-dimensional position representation method for three-dimensional data with different numbers of data (number of VXLs or FVXLs).

[0216] Furthermore, at least one of the encoded three-dimensional data 413 and 414 includes an identifier indicating whether the encoded three-dimensional data is encoded three-dimensional data obtained by encoding the input three-dimensional data 411, or encoded three-dimensional data obtained by encoding a portion of the input three-dimensional data 411. In other words, the identifier indicates whether the encoded three-dimensional data is encoded three-dimensional data 413 of WLD or encoded three-dimensional data 414 of SWLD.

[0217] This allows the decoding device to easily determine whether the acquired encoded three-dimensional data is encoded three-dimensional data 413 or encoded three-dimensional data 414.

[0218] Furthermore, the three-dimensional data encoding device 400 encodes the extracted three-dimensional data 412 so that the amount of data of the encoded three-dimensional data 414 is smaller than the amount of data of the encoded three-dimensional data 413 .

[0219] According to this, the three-dimensional data encoding device 400 can make the data amount of the encoded three-dimensional data 414 smaller than the data amount of the encoded three-dimensional data 413 .

[0220] Furthermore, the three-dimensional data encoding device 400 further extracts data corresponding to an object having a predetermined attribute from the input three-dimensional data 411 as extracted three-dimensional data 412. For example, the object having the predetermined attribute is an object necessary for self-position estimation, driving assistance, automatic driving, or the like, such as a traffic light or an intersection.

[0221] This allows the three-dimensional data encoding device 400 to generate encoded three-dimensional data 414 that includes data required by the decoding device.

[0222] Furthermore, the three-dimensional data encoding device 400 (server) further transmits one of the encoded three-dimensional data 413 and 414 to the client depending on the state of the client.

[0223] This allows the three-dimensional data encoding device 400 to transmit appropriate data depending on the state of the client.

[0224] The state of the client also includes the communication status of the client (for example, the network bandwidth) or the movement speed of the client.

[0225] Furthermore, the three-dimensional data encoding device 400 further transmits one of the encoded three-dimensional data 413 and 414 to the client in response to a request from the client.

[0226] This allows the three-dimensional data encoding device 400 to transmit appropriate data in response to a client request.

[0227] Furthermore, the three-dimensional data decoding device 500 according to this embodiment decodes the encoded three-dimensional data 413 or 414 generated by the three-dimensional data encoding device 400 described above.

[0228] That is, the three-dimensional data decoding device 500 decodes, by a first decoding method, encoded three-dimensional data 414 obtained by encoding extracted three-dimensional data 412 whose feature amount extracted from input three-dimensional data 411 is equal to or greater than a threshold value. Also, the three-dimensional data decoding device 500 decodes, by a second decoding method different from the first decoding method, encoded three-dimensional data 413 obtained by encoding the input three-dimensional data 411.

[0229] According to this, the three-dimensional data decoding device 500 can selectively receive the encoded three-dimensional data 414, which is generated by encoding data whose feature amount is equal to or greater than a threshold, and the encoded three-dimensional data 413, depending on, for example, the intended use. This allows the three-dimensional data decoding device 500 to reduce the amount of data to be transmitted. Furthermore, the three-dimensional data decoding device 500 can use decoding methods suitable for the input three-dimensional data 411 and the extracted three-dimensional data 412, respectively.

[0230] Furthermore, in the first decoding method, of intra prediction and inter prediction, inter prediction is given priority over the second decoding method.

[0231] This allows the 3D data decoding device 500 to increase the priority of inter prediction for extracted 3D data in which the correlation between adjacent data is likely to be low.

[0232] Furthermore, the first and second decoding methods differ in the way they represent three-dimensional positions. For example, the second decoding method represents three-dimensional positions using an octree, while the first decoding method represents three-dimensional positions using three-dimensional coordinates.

[0233] This allows the three-dimensional data decoding device 500 to use a more suitable three-dimensional position representation method for three-dimensional data with different numbers of data (numbers of VXLs or FVXLs).

[0234] Furthermore, at least one of the encoded three-dimensional data 413 and 414 includes an identifier indicating whether the encoded three-dimensional data is encoded three-dimensional data obtained by encoding the input three-dimensional data 411, or encoded three-dimensional data obtained by encoding a portion of the input three-dimensional data 411. The three-dimensional data decoding device 500 identifies the encoded three-dimensional data 413 and 414 by referring to the identifier.

[0235] This allows the three-dimensional data decoding device 500 to easily determine whether the acquired encoded three-dimensional data is the encoded three-dimensional data 413 or the encoded three-dimensional data 414.

[0236] Furthermore, the three-dimensional data decoding device 500 notifies the server of the status of the client (three-dimensional data decoding device 500). The three-dimensional data decoding device 500 receives one of the encoded three-dimensional data 413 and 414 transmitted from the server depending on the status of the client.

[0237] This allows the three-dimensional data decoding device 500 to receive appropriate data depending on the state of the client.

[0238] The state of the client also includes the communication status of the client (for example, the network bandwidth) or the movement speed of the client.

[0239] Furthermore, the three-dimensional data decoding device 500 further requests one of the encoded three-dimensional data 413 and 414 from the server, and receives one of the encoded three-dimensional data 413 and 414 transmitted from the server in response to the request.

[0240] This allows the three-dimensional data decoding device 500 to receive appropriate data according to the application.

[0241] (Embodiment 3) In this embodiment, a method for transmitting and receiving three-dimensional data between vehicles will be described.

[0242] FIG. 24 is a schematic diagram showing how three-dimensional data 607 is transmitted and received between a vehicle 600 and a nearby vehicle 601. As shown in FIG.

[0243] When three-dimensional data is acquired using a sensor (such as a distance sensor such as a range finder, a stereo camera, or a combination of multiple monocular cameras) mounted on the host vehicle 600, an area (hereinafter referred to as an occlusion area 604) where three-dimensional data cannot be created occurs due to obstacles such as surrounding vehicles 601, even though it is within the sensor detection range 602 of the host vehicle 600. Furthermore, the accuracy of autonomous operation increases as the space for acquiring three-dimensional data increases, but the sensor detection range of the host vehicle 600 alone is limited.

[0244] The sensor detection range 602 of the host vehicle 600 includes an area 603 from which three-dimensional data can be acquired and an occlusion area 604. The area from which the host vehicle 600 wishes to acquire three-dimensional data includes the sensor detection range 602 of the host vehicle 600 and other areas. In addition, the sensor detection range 605 of the surrounding vehicle 601 includes the occlusion area 604 and an area 606 that is not included in the sensor detection range 602 of the host vehicle 600.

[0245] The surrounding vehicles 601 transmit information detected by the surrounding vehicles 601 to the host vehicle 600. By acquiring information detected by the surrounding vehicles 601, such as a vehicle ahead, the host vehicle 600 can acquire three-dimensional data 607 of an occlusion region 604 and a region 606 outside the sensor detection range 602 of the host vehicle 600. The host vehicle 600 uses the information acquired by the surrounding vehicles 601 to complement the three-dimensional data of the occlusion region 604 and the region 606 outside the sensor detection range.

[0246] The three-dimensional data used in the autonomous operation of a vehicle or robot is used for self-location estimation, detection of surrounding conditions, or both. For example, for self-location estimation, three-dimensional data generated by the host vehicle 600 based on sensor information of the host vehicle 600 is used. For detection of surrounding conditions, in addition to the three-dimensional data generated by the host vehicle 600, three-dimensional data acquired from a nearby vehicle 601 is also used.

[0247] The nearby vehicle 601 that transmits the three-dimensional data 607 to the host vehicle 600 may be determined according to the state of the host vehicle 600. For example, the nearby vehicle 601 is a vehicle ahead when the host vehicle 600 is traveling straight, an oncoming vehicle when the host vehicle 600 is turning right, and a vehicle behind when the host vehicle 600 is reversing. Also, the driver of the host vehicle 600 may directly specify the nearby vehicle 601 that transmits the three-dimensional data 607 to the host vehicle 600.

[0248] Furthermore, the vehicle 600 may search for a nearby vehicle 601 that possesses three-dimensional data of an area that is included in the space where the vehicle 600 wishes to acquire three-dimensional data 607 but cannot be acquired by the vehicle 600. The area that the vehicle 600 cannot acquire is an occlusion area 604 or an area 606 outside the sensor detection range 602, etc.

[0249] Furthermore, the host vehicle 600 may identify the occlusion region 604 based on sensor information of the host vehicle 600. For example, the host vehicle 600 identifies, as the occlusion region 604, a region included in the sensor detection range 602 of the host vehicle 600 and for which three-dimensional data cannot be created.

[0250] An example of operation will be described below when it is the vehicle ahead that transmits the three-dimensional data 607. Fig. 25 is a diagram showing an example of the three-dimensional data transmitted in this case.

[0251] 25, the three-dimensional data 607 transmitted from the vehicle in front is, for example, a sparse world of point cloud (SWLD). That is, the vehicle in front creates three-dimensional data (point cloud) of WLD from information detected by the sensor of the vehicle in front, and then creates three-dimensional data of SWLD (point cloud) by extracting data whose feature amount is equal to or greater than a threshold value from the three-dimensional data of WLD. The vehicle in front then transmits the created three-dimensional data of SWLD to the host vehicle 600.

[0252] The host vehicle 600 receives the SWLD and merges the received SWLD with the point cloud created by the host vehicle 600.

[0253] The transmitted SWLD has information on absolute coordinates (the position of the SWLD in the coordinate system of the three-dimensional map). The vehicle 600 can realize the merging process by overwriting the point cloud generated by the vehicle 600 based on these absolute coordinates.

[0254] The SWLD transmitted from the nearby vehicle 601 may be the SWLD of an area 606 that is outside the sensor detection range 602 of the host vehicle 600 but within the sensor detection range 605 of the nearby vehicle 601, or the SWLD of an occlusion area 604 for the host vehicle 600, or both. In addition, the transmitted SWLD may be the SWLD of an area among the above SWLDs that the nearby vehicle 601 is using to detect the surrounding situation.

[0255] Furthermore, the surrounding vehicle 601 may change the density of the transmitted point cloud depending on the available communication time based on the speed difference between the vehicle itself 600 and the surrounding vehicle 601. For example, when the speed difference is large and the available communication time is short, the surrounding vehicle 601 may reduce the density (amount of data) of the point cloud by extracting three-dimensional points with large feature amounts from the SWLD.

[0256] Furthermore, detecting the surrounding conditions means determining whether or not there are people, vehicles, road construction equipment, etc., identifying their types, and detecting their positions, movement directions, movement speeds, etc.

[0257] Furthermore, the host vehicle 600 may acquire braking information of the surrounding vehicle 601 instead of or in addition to the three-dimensional data 607 generated by the surrounding vehicle 601. Here, the braking information of the surrounding vehicle 601 is, for example, information indicating whether the accelerator or brake of the surrounding vehicle 601 has been depressed or the degree to which it has been depressed.

[0258] In addition, in the point clouds generated by each vehicle, the three-dimensional space is subdivided into random access units in consideration of low-latency communication between vehicles. On the other hand, in the case of three-dimensional maps, which are map data downloaded from a server, the three-dimensional space is divided into larger random access units compared to the case of vehicle-to-vehicle communication.

[0259] Data for areas that are likely to become occlusion areas, such as the area in front of a leading vehicle or the area behind a trailing vehicle, is divided into small random access units as data for low latency.

[0260] Since the front becomes more important when driving at high speeds, each vehicle creates SWLDs with a narrower field of view in small random access units when driving at high speeds.

[0261] If the SWLD created for transmission by the vehicle in front includes an area from which the vehicle 600 can acquire point clouds, the vehicle in front may reduce the amount of transmission by removing the point clouds from that area.

[0262] Next, the configuration and operation of a three-dimensional data creation device 620, which is a three-dimensional data receiving device according to this embodiment, will be described.

[0263] 26 is a block diagram of a three-dimensional data creation device 620 according to this embodiment. This three-dimensional data creation device 620 is included in the above-described vehicle 600, for example, and creates more detailed third three-dimensional data 636 by combining received second three-dimensional data 635 with first three-dimensional data 632 created by the three-dimensional data creation device 620.

[0264] This three-dimensional data creation device 620 includes a three-dimensional data creation unit 621, a requested range determination unit 622, a search unit 623, a reception unit 624, a decoding unit 625, and a synthesis unit 626. Figure 27 is a flowchart showing the operation of the three-dimensional data creation device 620.

[0265] First, the three-dimensional data creation unit 621 creates first three-dimensional data 632 using sensor information 631 detected by a sensor equipped in the host vehicle 600 (S621). Next, the required range determination unit 622 determines a required range, which is a three-dimensional spatial range for which data is insufficient in the created first three-dimensional data 632 (S622).

[0266] Next, the search unit 623 searches for nearby vehicles 601 that have three-dimensional data within the requested range, and transmits requested range information 633 indicating the requested range to the nearby vehicles 601 identified through the search (S623). Next, the reception unit 624 receives encoded three-dimensional data 634, which is an encoded stream of the requested range, from the nearby vehicles 601 (S624). Note that the search unit 623 may indiscriminately issue a request to all vehicles present within a specific range, and receive the encoded three-dimensional data 634 from those that respond. Furthermore, the search unit 623 may issue a request to objects other than vehicles, such as traffic lights or signs, and receive the encoded three-dimensional data 634 from the objects.

[0267] Next, the decoding unit 625 obtains second three-dimensional data 635 by decoding the received encoded three-dimensional data 634 (S625). Next, the combining unit 626 combines the first three-dimensional data 632 and the second three-dimensional data 635 to create denser third three-dimensional data 636 (S626).

[0268] Next, a description will be given of the configuration and operation of three-dimensional data transmission device 640 according to this embodiment.

[0269] The three-dimensional data transmission device 640 is included in, for example, the above-mentioned surrounding vehicle 601, processes the fifth three-dimensional data 652 created by the surrounding vehicle 601 into sixth three-dimensional data 654 requested by the host vehicle 600, encodes the sixth three-dimensional data 654 to generate encoded three-dimensional data 634, and transmits the encoded three-dimensional data 634 to the host vehicle 600.

[0270] Three-dimensional data transmission device 640 includes three-dimensional data creation unit 641, receiving unit 642, extraction unit 643, encoding unit 644, and transmission unit 645. Figure 29 is a flowchart showing the operation of three-dimensional data transmission device 640.

[0271] First, the three-dimensional data creation unit 641 creates fifth three-dimensional data 652 using sensor information 651 detected by a sensor equipped in the surrounding vehicle 601 (S641). Next, the receiving unit 642 receives the requested range information 633 transmitted from the host vehicle 600 (S642).

[0272] Next, the extraction unit 643 extracts three-dimensional data of the requested range indicated by the requested range information 633 from the fifth three-dimensional data 652, thereby processing the fifth three-dimensional data 652 into sixth three-dimensional data 654 (S643). Next, the encoding unit 644 encodes the sixth three-dimensional data 654 to generate encoded three-dimensional data 634, which is an encoded stream (S644). Then, the transmission unit 645 transmits the encoded three-dimensional data 634 to the host vehicle 600 (S645).

[0273] Here, we will explain an example in which the vehicle 600 is equipped with a three-dimensional data creation device 620 and the surrounding vehicle 601 is equipped with a three-dimensional data transmission device 640, but each vehicle may have the functions of both the three-dimensional data creation device 620 and the three-dimensional data transmission device 640.

[0274] The following describes the configuration and operation when the three-dimensional data creation device 620 is a surrounding situation detection device that realizes detection processing of the surrounding situation of the host vehicle 600. Fig. 30 is a block diagram showing the configuration of the three-dimensional data creation device 620A in this case. The three-dimensional data creation device 620A shown in Fig. 30 further includes a detection area determination unit 627, a surrounding situation detection unit 628, and an autonomous operation control unit 629 in addition to the configuration of the three-dimensional data creation device 620 shown in Fig. 26. The three-dimensional data creation device 620A is also included in the host vehicle 600.

[0275] FIG. 31 is a flowchart of the process of detecting the surrounding conditions of the vehicle 600 by the three-dimensional data creation device 620A.

[0276] First, the three-dimensional data creation unit 621 creates first three-dimensional data 632, which is a point cloud, using sensor information 631 of the detection range of the vehicle 600 detected by a sensor provided in the vehicle 600 (S661). Note that the three-dimensional data creation device 620A may further perform self-position estimation using the sensor information 631.

[0277] Next, the detection area determination unit 627 determines a detection target range, which is a spatial area where it is desired to detect the surrounding situation (S662). For example, the detection area determination unit 627 calculates an area necessary for detecting the surrounding situation to safely perform the autonomous operation according to the autonomous operation (autonomous driving) situation such as the traveling direction and speed of the vehicle 600, and determines the area as the detection target range.

[0278] Next, the required range determination unit 622 determines the occlusion region 604 and a spatial region that is outside the detection range of the sensor of the vehicle 600 but is necessary for detecting the surrounding situation as the required range (S663).

[0279] If the requested range determined in step S663 exists (Yes in S664), the search unit 623 searches for nearby vehicles that have information about the requested range. For example, the search unit 623 may inquire of the nearby vehicles whether they have information about the requested range, or may determine whether the nearby vehicles have information about the requested range based on the positions of the nearby vehicles and the requested range. Next, the search unit 623 transmits a request signal 637 to the nearby vehicles 601 identified by the search, requesting transmission of three-dimensional data. Then, after receiving an authorization signal transmitted from the nearby vehicles 601 indicating that the request of the request signal 637 is accepted, the search unit 623 transmits requested range information 633 indicating the requested range to the nearby vehicles 601 (S665).

[0280] Next, the receiving unit 624 detects the transmission notification of the transmission data 638, which is information relating to the requested range, and receives the transmission data 638 (S666).

[0281] The three-dimensional data creation device 620A may indiscriminately send a request to all vehicles within a specific range without searching for a party to send the request to, and receive the transmission data 638 from any party that responds that it has information about the requested range. Also, the search unit 623 may send a request to an object, such as a traffic light or sign, and receive the transmission data 638 from the object, in addition to a vehicle.

[0282] The transmission data 638 also includes at least one of encoded three-dimensional data 634 generated by the nearby vehicle 601 and obtained by encoding three-dimensional data of the requested range, and a surrounding situation detection result 639 of the requested range. The surrounding situation detection result 639 indicates the positions, moving direction, moving speed, etc. of people and vehicles detected by the nearby vehicle 601. The transmission data 638 may also include information indicating the position, movement, etc. of the nearby vehicle 601. For example, the transmission data 638 may include braking information of the nearby vehicle 601.

[0283] If the received transmission data 638 includes the encoded three-dimensional data 634 (Yes in S667), the decoding unit 625 obtains the second three-dimensional data 635 of the SWLD by decoding the encoded three-dimensional data 634 (S668). In other words, the second three-dimensional data 635 is three-dimensional data (SWLD) generated by extracting data whose feature amount is equal to or greater than a threshold value from the fourth three-dimensional data (WLD).

[0284] Next, the synthesis unit 626 synthesizes the first three-dimensional data 632 and the second three-dimensional data 635 to generate third three-dimensional data 636 (S669).

[0285] Next, the surrounding condition detection unit 628 detects the surrounding condition of the host vehicle 600 using third three-dimensional data 636, which is a point cloud of a spatial region required for surrounding condition detection (S670). Note that, if the received transmission data 638 includes a surrounding condition detection result 639, the surrounding condition detection unit 628 detects the surrounding condition of the host vehicle 600 using the surrounding condition detection result 639 in addition to the third three-dimensional data 636. Also, if the received transmission data 638 includes braking information of the surrounding vehicle 601, the surrounding condition detection unit 628 detects the surrounding condition of the host vehicle 600 using the braking information in addition to the third three-dimensional data 636.

[0286] Next, the autonomous operation control unit 629 controls the autonomous operation (automatic driving) of the vehicle 600 based on the surrounding situation detection result by the surrounding situation detection unit 628 (S671). Note that the surrounding situation detection result may be presented to the driver via a UI (user interface) or the like.

[0287] On the other hand, if the requested range does not exist in step S663 (No in S664), that is, if information on all spatial regions necessary for surrounding condition detection has been created based on the sensor information 631, the surrounding condition detection unit 628 detects the surrounding conditions of the host vehicle 600 using first three-dimensional data 632, which is a point cloud of the spatial regions necessary for surrounding condition detection (S672). Then, the autonomous operation control unit 629 controls the autonomous operation (automated driving) of the host vehicle 600 based on the surrounding condition detection result by the surrounding condition detection unit 628 (S671).

[0288] Furthermore, if the received transmission data 638 does not include the encoded three-dimensional data 634 (No in S667), that is, if the transmission data 638 includes only the surrounding situation detection result 639 or braking information of the surrounding vehicle 601, the surrounding situation detection unit 628 detects the surrounding situation of the host vehicle 600 using the first three-dimensional data 632 and the surrounding situation detection result 639 or braking information (S673). Then, the autonomous operation control unit 629 controls the autonomous operation (automatic driving) of the host vehicle 600 based on the surrounding situation detection result by the surrounding situation detection unit 628 (S671).

[0289] Next, a description will be given of three-dimensional data transmission device 640A that transmits transmission data 638 to three-dimensional data creation device 620A. Fig. 32 is a block diagram of this three-dimensional data transmission device 640A.

[0290] 32 includes a transmission possibility determination unit 646 in addition to the configuration of three-dimensional data transmission device 640 shown in Fig. 28. Furthermore, three-dimensional data transmission device 640A is included in nearby vehicle 601.

[0291] 33 is a flowchart showing an example of the operation of three-dimensional data transmission device 640A. First, three-dimensional data creation unit 641 creates fifth three-dimensional data 652 using sensor information 651 detected by a sensor equipped in nearby vehicle 601 (S681).

[0292] Next, the receiving unit 642 receives a request signal 637 from the vehicle 600 requesting transmission of three-dimensional data (S682). Next, the transmission feasibility determination unit 646 determines whether to accept the request indicated by the request signal 637 (S683). For example, the transmission feasibility determination unit 646 determines whether to accept the request based on content preset by the user. Note that the receiving unit 642 may first receive the other party's request, such as the requested range, and the transmission feasibility determination unit 646 may determine whether to accept the request based on that content. For example, the transmission feasibility determination unit 646 may determine to accept the request if it possesses three-dimensional data within the requested range, and may determine not to accept the request if it does not possess three-dimensional data within the requested range.

[0293] If the request is accepted (Yes in S683), the three-dimensional data transmission device 640A transmits a permission signal to the vehicle 600, and the receiving unit 642 receives requested range information 633 indicating the requested range (S684). Next, the extraction unit 643 extracts a point cloud of the requested range from the fifth three-dimensional data 652, which is a point cloud, and creates transmission data 638 including sixth three-dimensional data 654, which is the SWLD of the extracted point cloud (S685).

[0294] That is, the three-dimensional data transmission device 640A creates seventh three-dimensional data (WLD) from the sensor information 651, and creates fifth three-dimensional data 652 (SWLD) by extracting data whose feature amount is equal to or greater than a threshold value from the seventh three-dimensional data (WLD). Note that the three-dimensional data creation unit 641 may create three-dimensional data of SWLD in advance, and the extraction unit 643 may extract three-dimensional data of SWLD in the requested range from the three-dimensional data of SWLD, or the extraction unit 643 may generate three-dimensional data of SWLD in the requested range from the three-dimensional data of WLD in the requested range.

[0295] Furthermore, the transmission data 638 may include the surrounding situation detection result 639 of the surrounding vehicle 601 within the requested range and braking information of the surrounding vehicle 601. Furthermore, the transmission data 638 may not include the sixth three-dimensional data 654, and may include only at least one of the surrounding situation detection result 639 of the surrounding vehicle 601 within the requested range and braking information of the surrounding vehicle 601.

[0296] If the transmission data 638 includes the sixth three-dimensional data 654 (Yes in S686), the encoding unit 644 generates the encoded three-dimensional data 634 by encoding the sixth three-dimensional data 654 (S687).

[0297] Then, the transmitting unit 645 transmits the transmission data 638 including the encoded three-dimensional data 634 to the vehicle 600 (S688).

[0298] On the other hand, if the transmission data 638 does not include the sixth three-dimensional data 654 (No in S686), the transmission unit 645 transmits the transmission data 638 to the host vehicle 600, which includes at least one of the surrounding situation detection result 639 of the surrounding vehicle 601 within the requested range and braking information of the surrounding vehicle 601 (S688).

[0299] A modification of this embodiment will now be described.

[0300] For example, the information transmitted from the surrounding vehicle 601 does not have to be three-dimensional data created by the surrounding vehicle or the surrounding situation detection result, but may be accurate feature point information of the surrounding vehicle 601 itself. The host vehicle 600 uses this feature point information of the surrounding vehicle 601 to correct the feature point information of the leading vehicle in the point cloud acquired by the host vehicle 600. This allows the host vehicle 600 to improve the matching accuracy when estimating its own position.

[0301] The feature point information of the vehicle in front is, for example, three-dimensional point information consisting of color information and coordinate information. This allows the feature point information of the vehicle in front to be used regardless of the type of sensor of the host vehicle 600, whether it is a laser sensor or a stereo camera.

[0302] The vehicle 600 may use the point cloud of the SWLD not only during transmission but also when calculating the accuracy of its own position estimation. For example, if the sensor of the vehicle 600 is an imaging device such as a stereo camera, the vehicle 600 detects two-dimensional points on an image captured by the camera and estimates its own position using the two-dimensional points. The vehicle 600 also creates a point cloud of surrounding objects at the same time as its own position. The vehicle 600 reprojects the three-dimensional points of the SWLD in the point cloud onto a two-dimensional image and evaluates the accuracy of its own position estimation based on the error between the detected points and the reprojected points on the two-dimensional image.

[0303] In addition, if the sensor of the vehicle 600 is a laser sensor such as LiDAR, the vehicle 600 evaluates the accuracy of its own position estimation based on the error calculated by Iterative Closest Point using the SWLD of the created point cloud and the SWLD of the three-dimensional map.

[0304] In addition, when communication conditions via a base station or server such as 5G are poor, the vehicle 600 may acquire a three-dimensional map from a nearby vehicle 601.

[0305] Furthermore, distant information that cannot be obtained from vehicles surrounding the vehicle 600 may be obtained by vehicle-to-vehicle communication. For example, the vehicle 600 may obtain information about a traffic accident that occurred immediately after it occurred several hundred meters or several kilometers away from an oncoming vehicle by passing by communication, or by a relay method in which the information is transmitted to surrounding vehicles in sequence. At this time, the data format of the transmitted data is transmitted as meta information in the upper layer of the dynamic 3D map.

[0306] Furthermore, the detection results of the surrounding conditions and information detected by the vehicle 600 may be presented to the user through a user interface. For example, the presentation of this information is realized by superimposing it on the screen of a car navigation system or the front window.

[0307] Additionally, a vehicle that does not support autonomous driving and has cruise control may detect nearby vehicles that are driving in autonomous driving mode and follow those nearby vehicles.

[0308] Furthermore, when the vehicle 600 is unable to estimate its own position due to reasons such as the inability to acquire a three-dimensional map or the presence of too many occlusion areas, the vehicle 600 may switch its operation mode from the autonomous driving mode to a mode for tracking nearby vehicles.

[0309] The vehicle being tracked may be equipped with a user interface that warns the user that the vehicle is being tracked and allows the user to specify whether or not to allow the tracking. In this case, a mechanism may be provided in which advertisements are displayed on the tracking vehicle and incentives are paid to the vehicle being tracked.

[0310] Furthermore, the information to be transmitted is based on SWLD, which is three-dimensional data, but may also be information according to the request settings set in the vehicle 600 or the disclosure settings of the vehicle in front. For example, the information to be transmitted may be WLD, which is a dense point cloud, the detection results of the surrounding conditions by the vehicle in front, or braking information of the vehicle in front.

[0311] Furthermore, the vehicle 600 may receive the WLD, visualize the three-dimensional data of the WLD, and present the visualized three-dimensional data to the driver using a GUI. In this case, the vehicle 600 may present information by color coding or the like so that the user can distinguish between the point cloud created by the vehicle 600 and the received point cloud.

[0312] In addition, when the vehicle 600 presents the information detected by the vehicle 600 and the detection results of the surrounding vehicle 601 to the driver via a GUI, the information may be presented in a color-coded manner so that the user can distinguish between the information detected by the vehicle 600 and the received detection results.

[0313] As described above, in the three-dimensional data creation device 620 according to this embodiment, the three-dimensional data creation unit 621 creates first three-dimensional data 632 from sensor information 631 detected by a sensor. The receiving unit 624 receives encoded three-dimensional data 634 in which second three-dimensional data 635 is encoded. The decoding unit 625 obtains the second three-dimensional data 635 by decoding the received encoded three-dimensional data 634. The combining unit 626 creates third three-dimensional data 636 by combining the first three-dimensional data 632 and the second three-dimensional data 635.

[0314] According to this, the three-dimensional data creation device 620 can create detailed third three-dimensional data 636 using the created first three-dimensional data 632 and the received second three-dimensional data 635.

[0315] Furthermore, the synthesis unit 626 synthesizes the first three-dimensional data 632 and the second three-dimensional data 635 to generate third three-dimensional data 636 that is denser than the first three-dimensional data 632 and the second three-dimensional data 635.

[0316] The second three-dimensional data 635 (for example, SWLD) is three-dimensional data generated by extracting data having a feature amount equal to or greater than a threshold value from the fourth three-dimensional data (for example, WLD).

[0317] This allows the three-dimensional data creation device 620 to reduce the amount of three-dimensional data to be transmitted.

[0318] The three-dimensional data creation device 620 further includes a search unit 623 that searches for a transmission device that is the transmission source of the encoded three-dimensional data 634. The reception unit 624 receives the encoded three-dimensional data 634 from the searched transmission device.

[0319] This allows the three-dimensional data creation device 620 to, for example, identify a transmission device that has the required three-dimensional data by searching.

[0320] The three-dimensional data creation device further includes a requested range determination unit 622 that determines a requested range, which is the range of three-dimensional space for which three-dimensional data is requested. The search unit 623 transmits requested range information 633 indicating the requested range to the transmitting device. The second three-dimensional data 635 includes three-dimensional data of the requested range.

[0321] This allows the three-dimensional data creation device 620 to receive the necessary three-dimensional data, and also reduces the amount of three-dimensional data to be transmitted.

[0322] Furthermore, the required range determination unit 622 determines the spatial range including the occlusion region 604 that cannot be detected by the sensor as the required range.

[0323] Furthermore, in the three-dimensional data transmission device 640 according to this embodiment, the three-dimensional data creation unit 641 creates fifth three-dimensional data 652 from sensor information 651 detected by a sensor. The extraction unit 643 creates sixth three-dimensional data 654 by extracting a portion of the fifth three-dimensional data 652. The encoding unit 644 generates encoded three-dimensional data 634 by encoding the sixth three-dimensional data 654. The transmission unit 645 transmits the encoded three-dimensional data 634.

[0324] This allows the three-dimensional data transmission device 640 to transmit the three-dimensional data it has created to other devices, and also reduces the amount of three-dimensional data to be transmitted.

[0325] In addition, the three-dimensional data creation unit 641 creates seventh three-dimensional data (e.g., WLD) from sensor information 651 detected by the sensor, and creates fifth three-dimensional data 652 (e.g., SWLD) by extracting data whose feature amount is greater than or equal to a threshold value from the seventh three-dimensional data.

[0326] This allows the three-dimensional data transmission device 640 to reduce the amount of three-dimensional data to be transmitted.

[0327] The three-dimensional data transmitting device 640 further includes a receiving unit 642 that receives, from the receiving device, requested range information 633 that indicates a requested range, which is the range of three-dimensional space for which three-dimensional data is requested. The extracting unit 643 creates sixth three-dimensional data 654 by extracting three-dimensional data of the requested range from the fifth three-dimensional data 652. The transmitting unit 645 transmits the encoded three-dimensional data 634 to the receiving device.

[0328] This allows the three-dimensional data transmission device 640 to reduce the amount of three-dimensional data to be transmitted.

[0329] (Fourth embodiment) In this embodiment, an abnormal operation in self-location estimation based on a three-dimensional map will be described.

[0330] It is expected that applications such as self-driving cars, or autonomous movement of mobile objects such as robots, drones, and other flying objects will expand in the future. One example of a means to realize such autonomous movement is a method in which a mobile object estimates its own position within a three-dimensional map (self-location estimation) and travels according to the map.

[0331] Self-position estimation can be achieved by matching a three-dimensional map with three-dimensional information about the surroundings of the vehicle (hereinafter referred to as vehicle-detected three-dimensional data) obtained by sensors such as a rangefinder (such as LiDAR) or a stereo camera mounted on the vehicle, and estimating the vehicle's position within the three-dimensional map.

[0332] 3D maps, such as the HD maps proposed by HERE, may include not only 3D point clouds but also 2D map data such as road and intersection shape information, or real-time changing information such as traffic congestion and accidents. 3D maps are made up of multiple layers, including 3D data, 2D data, and real-time changing metadata, and devices can acquire or reference only the necessary data.

[0333] The point cloud data may be the SWLD described above, or may include point group data other than feature points. Furthermore, the transmission and reception of point cloud data is performed in units of one or more random accesses.

[0334] The following methods can be used to match the 3D map with the vehicle-detected 3D data. For example, the device compares the shapes of the point groups in each point cloud and determines that areas with high similarity between feature points are in the same location. Furthermore, if the 3D map is composed of SWLDs, the device performs matching by comparing the feature points that make up the SWLDs with the 3D feature points extracted from the vehicle-detected 3D data.

[0335] Here, to estimate the vehicle's position with high accuracy, (A) it is necessary to acquire a 3D map and 3D vehicle detection data, and (B) the accuracy of these must meet a predetermined standard. However, in the following abnormal cases, neither (A) nor (B) can be met.

[0336] (1) Three-dimensional maps cannot be obtained via communication.

[0337] (2) The 3D map does not exist, or the 3D map is obtained but is corrupted.

[0338] (3) The vehicle's sensor is out of order or the weather is bad, so the accuracy of the generated 3D data detected by the vehicle is insufficient.

[0339] The operation for dealing with these abnormal cases will be described below. Although the operation will be described below using a car as an example, the following method can be applied to any autonomously moving animal, such as a robot or a drone.

[0340] The following describes the configuration and operation of a three-dimensional information processing device according to this embodiment for dealing with abnormal cases in a three-dimensional map or vehicle-detected three-dimensional data. Fig. 34 is a block diagram showing an example configuration of a three-dimensional information processing device 700 according to this embodiment. Fig. 35 is a flowchart of a three-dimensional information processing method by the three-dimensional information processing device 700.

[0341] 34 , the three-dimensional information processing device 700 is mounted on a moving object such as an automobile. As shown in FIG. 34 , the three-dimensional information processing device 700 includes a three-dimensional map acquisition unit 701, a host vehicle detection data acquisition unit 702, an abnormality case determination unit 703, a countermeasure operation determination unit 704, and an operation control unit 705.

[0342] The three-dimensional information processing device 700 may include a two-dimensional or one-dimensional sensor (not shown) for detecting structures or animals around the vehicle, such as a camera for acquiring two-dimensional images or a one-dimensional data sensor using ultrasound or a laser. The three-dimensional information processing device 700 may also include a communication unit (not shown) for acquiring the three-dimensional map via a mobile communication network such as 4G or 5G, or via vehicle-to-vehicle communication or road-to-vehicle communication.

[0343] 35, the three-dimensional map acquisition unit 701 acquires a three-dimensional map 711 of the vicinity of the travel route (S701). For example, the three-dimensional map acquisition unit 701 acquires the three-dimensional map 711 through a mobile communication network, vehicle-to-vehicle communication, or road-to-vehicle communication.

[0344] Next, the host vehicle detection data acquisition unit 702 acquires host vehicle detection three-dimensional data 712 based on the sensor information (S702). For example, the host vehicle detection data acquisition unit 702 generates the host vehicle detection three-dimensional data 712 based on sensor information acquired by a sensor provided in the host vehicle.

[0345] Next, the abnormality case determination unit 703 detects an abnormality case by performing a predetermined check on at least one of the acquired three-dimensional map 711 and the host vehicle detected three-dimensional data 712 (S703). In other words, the abnormality case determination unit 703 determines whether at least one of the acquired three-dimensional map 711 and the host vehicle detected three-dimensional data 712 is abnormal.

[0346] If an abnormal case is detected in step S703 (Yes in S704), the countermeasure operation determination unit 704 determines a countermeasure operation for the abnormal case (S705). Next, the operation control unit 705 controls the operation of each processing unit required to perform the countermeasure operation, such as the three-dimensional map acquisition unit 701 (S706).

[0347] On the other hand, if no abnormal case is detected in step S703 (No in S704), the three-dimensional information processing apparatus 700 ends the process.

[0348] Furthermore, the three-dimensional information processing device 700 uses the three-dimensional map 711 and the vehicle-detected three-dimensional data 712 to estimate the self-position of the vehicle having the three-dimensional information processing device 700. Next, the three-dimensional information processing device 700 automatically drives the vehicle using the result of the self-position estimation.

[0349] In this way, the three-dimensional information processing device 700 acquires map data (three-dimensional map 711) including first three-dimensional position information via a communication path. For example, the first three-dimensional position information is encoded in units of subspaces having three-dimensional coordinate information, and each is a collection of one or more subspaces, and includes multiple random access units that can be independently decoded. For example, the first three-dimensional position information is data (SWLD) in which feature points whose three-dimensional feature amounts are equal to or greater than a predetermined threshold are encoded.

[0350] Furthermore, the three-dimensional information processing device 700 generates second three-dimensional position information (subject vehicle-detected three-dimensional data 712) from the information detected by the sensor. Next, the three-dimensional information processing device 700 performs an abnormality determination process on the first three-dimensional position information or the second three-dimensional position information, thereby determining whether the first three-dimensional position information or the second three-dimensional position information is abnormal.

[0351] When the first three-dimensional position information or the second three-dimensional position information is determined to be abnormal, the three-dimensional information processing apparatus 700 determines a countermeasure action for the abnormality. Next, the three-dimensional information processing apparatus 700 performs control necessary for carrying out the countermeasure action.

[0352] This allows the three-dimensional information processing apparatus 700 to detect an abnormality in the first three-dimensional position information or the second three-dimensional position information and take appropriate action.

[0353] Below, a description will be given of the countermeasure operation for abnormal case 1, which is when the three-dimensional map 711 cannot be acquired via communication.

[0354] A three-dimensional map 711 is necessary for self-location estimation, and if the vehicle does not previously acquire a three-dimensional map 711 corresponding to the route to the destination, the vehicle must acquire the three-dimensional map 711 by communication. However, due to congestion on the communication path or poor radio wave reception, the vehicle may not be able to acquire the three-dimensional map 711 of the traveling route.

[0355] The abnormal case determination unit 703 checks whether three-dimensional maps 711 have been acquired for all sections on the route to the destination or for sections within a predetermined range from the current position, and if they have not been acquired, determines that the situation is abnormal case 1. In other words, the abnormal case determination unit 703 determines whether the three-dimensional map 711 (first three-dimensional position information) can be acquired via a communication path, and if the three-dimensional map 711 cannot be acquired via the communication path, determines that the three-dimensional map 711 is abnormal.

[0356] If it is determined to be abnormal case 1, the countermeasure action determination unit 704 selects one of two types of countermeasure actions: (1) continuing self-location estimation, and (2) stopping self-location estimation.

[0357] First, a specific example of (1) a countermeasure operation when continuing self-location estimation will be described. When continuing self-location estimation, a three-dimensional map 711 of the route to the destination is required.

[0358] For example, the vehicle determines a location where a communication path is available within a range where the three-dimensional map 711 has already been acquired, moves to that location, and acquires the three-dimensional map 711. At this time, the vehicle may acquire all three-dimensional maps 711 up to the destination, or may acquire the three-dimensional map 711 for each random access unit within the upper limit size that can be stored in a recording unit such as the memory or HDD of the vehicle.

[0359] The vehicle may separately acquire the communication state along the route, and if it is predicted that the communication state along the route will be poor, acquire the 3D map 711 of the section with poor communication state in advance before reaching the section, or may acquire the 3D map 711 of the largest possible range. In other words, the 3D information processing device 700 predicts whether the vehicle will enter an area with poor communication state. When it is predicted that the vehicle will enter an area with poor communication state, the 3D information processing device 700 acquires the 3D map 711 before the vehicle enters the area.

[0360] Furthermore, the vehicle may identify a random access unit that constitutes a minimum three-dimensional map 711 necessary for estimating its own position on the route, which has a narrower range than usual, and receive the identified random access unit. In other words, when the three-dimensional information processing device 700 cannot acquire the three-dimensional map 711 (first three-dimensional position information) via the communication path, it may acquire third three-dimensional position information, which has a narrower range than the first three-dimensional position information, via the communication path.

[0361] In addition, when the vehicle is unable to access the distribution server of the three-dimensional map 711, the vehicle may obtain the three-dimensional map 711 from a moving object that has already obtained the three-dimensional map 711 on the route to the destination, such as another vehicle traveling around the vehicle, and that can communicate with the vehicle.

[0362] Next, a specific example of the countermeasure operation when (2) self-location estimation is stopped will be described. In this case, the three-dimensional map 711 on the route to the destination is not required.

[0363] For example, the vehicle notifies the driver that functions such as automatic driving based on self-location estimation cannot be continued, and switches the operating mode to a manual mode in which the driver is responsible for driving.

[0364] Typically, when self-location estimation is performed, autonomous driving is performed, although the level varies depending on the degree of human intervention. On the other hand, the results of self-location estimation can also be used for navigation when a human is driving. Therefore, the results of self-location estimation do not necessarily have to be used for autonomous driving.

[0365] In addition, if the vehicle is unable to use a communication path that it normally uses, such as a mobile communication network such as 4G or 5G, it may check whether it can acquire the three-dimensional map 711 via another communication path, such as road-to-vehicle Wi-Fi (registered trademark) or millimeter wave communication, or vehicle-to-vehicle communication, and switch the communication path to be used to a communication path that can acquire the three-dimensional map 711.

[0366] Furthermore, if the vehicle is unable to acquire the three-dimensional map 711, the vehicle may acquire a two-dimensional map and continue autonomous driving using the two-dimensional map and the vehicle-detected three-dimensional data 712. In other words, if the three-dimensional information processing device 700 is unable to acquire the three-dimensional map 711 via a communication path, the three-dimensional information processing device 700 may acquire map data (two-dimensional map) including two-dimensional position information via a communication path and estimate the vehicle's own position using the two-dimensional position information and the vehicle-detected three-dimensional data 712.

[0367] Specifically, the vehicle uses a two-dimensional map and the vehicle-detected three-dimensional data 712 to estimate its own position, and uses the vehicle-detected three-dimensional data 712 to detect surrounding vehicles, pedestrians, obstacles, and the like.

[0368] Here, map data such as an HD map can include, in addition to a three-dimensional map 711 consisting of a three-dimensional point cloud or the like, two-dimensional map data (two-dimensional map), simplified map data obtained by extracting characteristic information such as road shapes or intersections from the two-dimensional map data, and metadata that represents real-time information such as traffic congestion, accidents, or construction work. For example, the map data has a layer structure in which, from the lowest layer, three-dimensional data (three-dimensional map 711), two-dimensional data (two-dimensional map), and metadata are arranged.

[0369] Here, two-dimensional data has a smaller data size than three-dimensional data. Therefore, even in poor communication conditions, the vehicle may be able to acquire two-dimensional maps. Alternatively, the vehicle may acquire two-dimensional maps of a wide range in a section where communication conditions are good. Therefore, when the communication path conditions are poor and it is difficult to acquire the three-dimensional map 711, the vehicle may receive a layer including the two-dimensional map without receiving the three-dimensional map 711. Note that, since the data size of the metadata is small, for example, the vehicle always receives the metadata regardless of the communication conditions.

[0370] There are, for example, the following two methods for estimating the vehicle's position using a two-dimensional map and the vehicle-detected three-dimensional data 712.

[0371] The first method is a method of matching two-dimensional features. Specifically, the vehicle extracts two-dimensional features from the vehicle-detected three-dimensional data 712 and matches the extracted two-dimensional features with a two-dimensional map.

[0372] For example, the vehicle projects the vehicle-detected 3D data 712 onto the same plane as the 2D map, and matches the obtained 2D data with the 2D map using 2D image features extracted from both.

[0373] When the three-dimensional map 711 includes an SWLD, the three-dimensional map 711 may store two-dimensional feature values ​​on the same plane as the two-dimensional map, along with three-dimensional feature values ​​at feature points in the three-dimensional space. For example, identification information is assigned to the two-dimensional feature values. Alternatively, the two-dimensional feature values ​​are stored in a layer separate from the three-dimensional data and the two-dimensional map, and the vehicle acquires the two-dimensional feature value data along with the two-dimensional map.

[0374] When a two-dimensional map shows information on locations at different heights from the ground (not on the same plane), such as white lines on a road, guardrails, and buildings, within the same map, the vehicle extracts features from multiple height data in the vehicle-detected three-dimensional data 712.

[0375] Furthermore, information indicating the correspondence between feature points in the two-dimensional map and feature points in the three-dimensional map 711 may be stored as meta information of the map data.

[0376] The second method is a method of matching three-dimensional feature amounts. Specifically, the vehicle acquires three-dimensional feature amounts corresponding to feature points in the two-dimensional map, and matches the acquired three-dimensional feature amounts with the three-dimensional feature amounts of the vehicle-detected three-dimensional data 712.

[0377] Specifically, three-dimensional feature amounts corresponding to feature points in the two-dimensional map are stored in the map data. When acquiring the two-dimensional map, the vehicle also acquires these three-dimensional feature amounts. If the three-dimensional map 711 includes an SWLD, by adding information identifying feature points in the SWLD that correspond to feature points in the two-dimensional map, the vehicle can determine the three-dimensional feature amounts to acquire together with the two-dimensional map based on the identification information. In this case, since it is sufficient to represent two-dimensional positions, the amount of data can be reduced compared to when representing three-dimensional positions.

[0378] Furthermore, when estimating the vehicle's own position using a two-dimensional map, the accuracy of the self-position estimation is lower than that using the three-dimensional map 711. Therefore, the vehicle may determine whether autonomous driving can be continued even if the estimation accuracy is lowered, and continue autonomous driving only if it is determined that the vehicle can continue autonomous driving.

[0379] Whether autonomous driving can continue is also affected by the driving environment, such as whether the road the vehicle is traveling on is an urban area or a road with few other vehicles or pedestrians, such as a highway, and the road width or road congestion (vehicle or pedestrian density). Furthermore, markers for recognition by sensors such as cameras can be placed on business premises, in towns, or inside buildings. In these specific areas, markers can be recognized with high accuracy by two-dimensional sensors. Therefore, for example, by including the location information of the markers in a two-dimensional map, self-location estimation can be performed with high accuracy.

[0380] Furthermore, by including identification information in the map indicating whether each area is a specific area, the vehicle can determine whether the vehicle is in a specific area. If the vehicle is in a specific area, the vehicle determines to continue autonomous driving. In this way, the vehicle may determine whether to continue autonomous driving based on the accuracy of self-location estimation when using a two-dimensional map or the vehicle's driving environment.

[0381] In this way, the three-dimensional information processing device 700 determines whether or not to perform automatic driving of the vehicle using the results of estimating the vehicle's self-position using the two-dimensional map and the vehicle-detected three-dimensional data 712, based on the vehicle's driving environment (movement environment of the moving body).

[0382] Furthermore, the vehicle may switch the level (mode) of autonomous driving depending on the accuracy of self-location estimation or the driving environment of the vehicle, rather than on whether autonomous driving can be continued. Switching the level (mode) of autonomous driving here means, for example, limiting the speed, increasing the amount of driver input (lowering the level of autonomous driving), switching to a mode in which driving information from a vehicle ahead is obtained and used as reference, or switching to a mode in which driving information from a vehicle with the same destination is obtained and used as reference.

[0383] The map may also include information associated with the location information that indicates a recommended level of autonomous driving when estimating self-location using a two-dimensional map. The recommended level may be metadata that dynamically changes depending on traffic volume, etc. This allows a vehicle to determine the level simply by acquiring information in the map, without having to determine the level sequentially depending on the surrounding environment, etc. Furthermore, by having multiple vehicles refer to the same map, the autonomous driving level of each vehicle can be maintained constant. Note that the recommended level may not be a recommendation, but a level that must be observed.

[0384] The vehicle may also switch the level of autonomous driving depending on whether a driver is present (whether the vehicle is manned or unmanned). For example, the vehicle may lower the level of autonomous driving if a driver is present and stop if the vehicle is unmanned. The vehicle may determine a safe stopping location by recognizing nearby pedestrians, vehicles, and traffic signs. Alternatively, the map may include location information indicating a safe stopping location for the vehicle, and the vehicle may refer to the location information to determine a safe stopping location.

[0385] Next, a description will be given of the operation to be performed in abnormal case 2, in which the three-dimensional map 711 does not exist or the three-dimensional map 711 is acquired but is damaged.

[0386] The abnormal case determination unit 703 checks whether either (1) three-dimensional map 711 for some or all sections on the route to the destination does not exist on the distribution server to be accessed and cannot be acquired, or (2) some or all of the acquired three-dimensional map 711 is corrupted, and if either of these applies, determines that the situation is abnormal case 2. In other words, the abnormal case determination unit 703 determines whether the data of the three-dimensional map 711 is complete, and if the data of the three-dimensional map 711 is not complete, determines that the three-dimensional map 711 is abnormal.

[0387] If it is determined to be abnormal case 2, the following countermeasures are taken: First, an example of the countermeasures taken when (1) the three-dimensional map 711 cannot be acquired will be described.

[0388] For example, the vehicle sets a route that does not pass through any section where the three-dimensional map 711 does not exist.

[0389] Furthermore, if an alternative route cannot be set because there is no alternative route, or there is an alternative route but the distance is significantly longer, the vehicle sets a route that includes a section that does not have a three-dimensional map 711. Furthermore, in that section, the vehicle notifies the driver that the driving mode will be switched, and switches the driving mode to manual mode.

[0390] (2) If the acquired three-dimensional map 711 is partially or entirely damaged, the following corrective action is taken.

[0391] The vehicle identifies the damaged portion in the three-dimensional map 711, requests data on the damaged portion via communication, acquires the data on the damaged portion, and uses the acquired data to update the three-dimensional map 711. At this time, the vehicle may specify the damaged portion using position information such as absolute coordinates or relative coordinates on the three-dimensional map 711, or may specify the damaged portion using the index number of the random access unit that constitutes the damaged portion. In this case, the vehicle replaces the random access unit that includes the damaged portion with the acquired random access unit.

[0392] Next, a description will be given of the operation to be performed in abnormal case 3, in which the vehicle-detected three-dimensional data 712 cannot be generated due to a malfunction of the vehicle's sensor or bad weather.

[0393] The abnormal case determination unit 703 checks whether the generation error of the host vehicle detected three-dimensional data 712 is within an allowable range, and if it is not within the allowable range, determines that the case is abnormal case 3. In other words, the abnormal case determination unit 703 determines whether the generation accuracy of the host vehicle detected three-dimensional data 712 is equal to or greater than a reference value, and if the generation accuracy of the host vehicle detected three-dimensional data 712 is not equal to or greater than the reference value, determines that the host vehicle detected three-dimensional data 712 is abnormal.

[0394] The following method can be used to check whether the generation error of the subject vehicle detected three-dimensional data 712 is within an allowable range.

[0395] The spatial resolution of the vehicle-detected three-dimensional data 712 during normal operation is determined in advance based on the resolution in the depth direction and scanning direction of the vehicle's three-dimensional sensor, such as a rangefinder or stereo camera, or the density of the point cloud that can be generated. In addition, the vehicle acquires the spatial resolution of the three-dimensional map 711 from meta information included in the three-dimensional map 711, etc.

[0396] The vehicle uses the spatial resolution of both to estimate a reference value for the matching error when matching the vehicle-detected 3D data 712 and the 3D map 711 based on 3D feature amounts, etc. As the matching error, a statistical quantity such as the error in the 3D feature amount for each feature point, the average value of the errors in the 3D feature amounts between multiple feature points, or the error in the spatial distance between multiple feature points can be used. The allowable range of deviation from the reference value is set in advance.

[0397] If the matching error between the vehicle-detected three-dimensional data 712 generated before or during travel and the three-dimensional map 711 is not within the allowable range, the vehicle determines that the abnormality case 3 exists.

[0398] Alternatively, the vehicle may use a test pattern having a known three-dimensional shape for accuracy checks, acquire vehicle-detected three-dimensional data 712 for the test pattern before starting to drive, and determine whether it is abnormal case 3 based on whether the shape error is within the acceptable range.

[0399] For example, the vehicle may perform the above determination every time before starting to drive. Alternatively, the vehicle may obtain time-series changes in the matching error by performing the above determination at regular time intervals while driving. When the matching error is on the rise, the vehicle may determine that the error is abnormal case 3 even if the error is within an acceptable range. Furthermore, if the vehicle predicts an abnormality based on the time-series changes, the vehicle may notify the user of the predicted abnormality, for example, by displaying a message urging inspection or repair. Furthermore, the vehicle may distinguish between an abnormality due to a transient factor such as bad weather and an abnormality due to a sensor failure based on the time-series changes, and notify the user of only the abnormality due to the sensor failure.

[0400] Furthermore, if the vehicle is determined to be in Abnormal Case 3, it will selectively take one of three types of countermeasures: (1) activate an emergency alternative sensor (rescue mode), (2) switch driving modes, or (3) correct the operation of the three-dimensional sensor.

[0401] First, (1) the case where an emergency substitute sensor is activated will be described. The vehicle activates an emergency substitute sensor that is different from the three-dimensional sensor used during normal driving. In other words, if the generation accuracy of the host vehicle detected three-dimensional data 712 is not equal to or greater than a reference value, the three-dimensional information processing device 700 generates host vehicle detected three-dimensional data 712 (fourth three-dimensional position information) from information detected by the substitute sensor that is different from the normal sensor.

[0402] Specifically, when the vehicle acquires the vehicle-detected three-dimensional data 712 using multiple cameras or LiDARs, the vehicle identifies the malfunctioning sensor based on the direction in which the matching error of the vehicle-detected three-dimensional data 712 exceeds the allowable range, and then activates an alternative sensor corresponding to the malfunctioning sensor.

[0403] The alternative sensor may be a three-dimensional sensor, a camera capable of acquiring two-dimensional images, or a one-dimensional sensor such as ultrasonic waves. If the alternative sensor is a sensor other than a three-dimensional sensor, the accuracy of self-location estimation may decrease or self-location estimation may not be possible, so the vehicle may switch the autonomous driving mode depending on the type of alternative sensor.

[0404] For example, if the alternative sensor is a three-dimensional sensor, the vehicle continues in autonomous driving mode. If the alternative sensor is a two-dimensional sensor, the vehicle changes its driving mode from fully autonomous to semi-autonomous, which requires human driving operation. If the alternative sensor is a one-dimensional sensor, the vehicle switches its driving mode to manual mode, which does not perform automatic braking control.

[0405] The vehicle may also switch the autonomous driving mode based on the driving environment. For example, if the alternative sensor is a two-dimensional sensor, the vehicle may continue in the fully autonomous driving mode when traveling on a highway, and switch to the semi-autonomous driving mode when traveling in an urban area.

[0406] Furthermore, even if there are no alternative sensors, the vehicle may continue estimating its own position as long as a sufficient number of feature points can be acquired using only the normally operating sensors. However, since detection in a specific direction becomes impossible, the vehicle switches its driving mode to semi-automated driving or manual mode.

[0407] Next, (2) the countermeasure operation for switching the driving mode will be described. The vehicle switches the driving mode from autonomous driving mode to manual mode. Alternatively, the vehicle may continue autonomous driving until it reaches a safe place to stop, such as a road shoulder, and then stop. The vehicle may also switch the driving mode to manual mode after stopping. In this way, the three-dimensional information processing device 700 switches the autonomous driving mode when the generation accuracy of the vehicle-detected three-dimensional data 712 is not equal to or greater than the reference value.

[0408] Next, we will explain the countermeasure operation (3) of correcting the operation of the 3D sensor. The vehicle identifies the malfunctioning 3D sensor based on the direction in which the matching error occurs, and calibrates the identified sensor. Specifically, when multiple LiDARs or cameras are used as sensors, a portion of the 3D space reconstructed by each sensor overlaps. That is, data for the overlapping portion is acquired by the multiple sensors. The 3D point cloud data acquired for the overlapping portion differs between a normal sensor and a malfunctioning sensor. Therefore, the vehicle corrects the LiDAR origin or adjusts the operation of predetermined locations, such as the camera exposure or focus, so that the malfunctioning sensor can acquire 3D point cloud data equivalent to that of the normal sensor.

[0409] If the matching error falls within the tolerance after the adjustment, the vehicle continues the previous driving mode. On the other hand, if the matching accuracy does not fall within the tolerance after the adjustment, the vehicle takes the above-mentioned countermeasure action of (1) activating the emergency substitute sensor or (2) switching the driving mode.

[0410] In this way, the three-dimensional information processing device 700 corrects the operation of the sensor when the generation accuracy of the own vehicle detected three-dimensional data 712 is not equal to or greater than the reference value.

[0411] A method for selecting a countermeasure action will be described below. The countermeasure action may be selected by a user such as a driver, or may be automatically selected by the vehicle without the intervention of the user.

[0412] The vehicle may also switch control depending on whether a driver is present on board. For example, if a driver is present on board, the vehicle may prioritize switching to manual mode. On the other hand, if no driver is present on board, the vehicle may prioritize a mode in which the vehicle moves to a safe location and stops.

[0413] The information indicating the stopping locations may be included as meta information in the three-dimensional map 711. Alternatively, the vehicle may issue a request for a response regarding the stopping locations to a service that manages operation information of autonomous drivers, and obtain the information indicating the stopping locations.

[0414] Furthermore, when a vehicle is operating on a predetermined route, the vehicle's operation mode may be switched to a mode in which an operator manages the vehicle's operation via a communication channel. In particular, an abnormality in the self-localization function of a vehicle operating in fully autonomous driving mode is highly dangerous. Therefore, when a vehicle detects an abnormality or is unable to correct the detected abnormality, the vehicle notifies a service that manages operation information via a communication channel of the occurrence of the abnormality. The service may notify vehicles operating around the vehicle of the presence of the abnormal vehicle or instruct them to clear nearby stopping areas.

[0415] Furthermore, when an abnormality is detected, the vehicle may travel at a slower speed than normal.

[0416] If the vehicle is an autonomous vehicle that provides a dispatch service such as a taxi, and an abnormality occurs in the vehicle, the vehicle will contact the operation control center and stop in a safe location. The dispatch service will dispatch a replacement vehicle. Alternatively, the user of the dispatch service may drive the vehicle. In these cases, a discount on the fare or the award of bonus points may also be provided.

[0417] Furthermore, in the method for dealing with abnormal case 1, a method for estimating the self-location based on a two-dimensional map has been described, but the self-location may also be estimated using a two-dimensional map under normal circumstances. Fig. 36 is a flowchart of the self-location estimation process in this case.

[0418] First, the vehicle acquires a three-dimensional map 711 of the vicinity of the travel route (S711), and then acquires three-dimensional data 712 detected by the vehicle itself based on sensor information (S712).

[0419] Next, the vehicle determines whether the three-dimensional map 711 is necessary for self-location estimation (S713). Specifically, the vehicle determines whether the three-dimensional map 711 is necessary based on the accuracy of self-location estimation when the two-dimensional map is used and the driving environment. For example, a method similar to the method for dealing with the abnormality case 1 described above is used.

[0420] If it is determined that the three-dimensional map 711 is not necessary (No in S714), the vehicle acquires a two-dimensional map (S715). At this time, the vehicle may also acquire additional information as described in the method for dealing with abnormality case 1. The vehicle may also generate a two-dimensional map from the three-dimensional map 711. For example, the vehicle may generate a two-dimensional map by cutting out an arbitrary plane from the three-dimensional map 711.

[0421] Next, the vehicle estimates its own position using the vehicle-detected three-dimensional data 712 and the two-dimensional map (S716). The method of estimating its own position using the two-dimensional map is, for example, the same as the method described in the above-mentioned method for dealing with abnormality case 1.

[0422] On the other hand, if it is determined that the three-dimensional map 711 is necessary (Yes in S714), the vehicle acquires the three-dimensional map 711 (S717). Next, the vehicle estimates its own position using the vehicle-detected three-dimensional data 712 and the three-dimensional map 711 (S718).

[0423] The vehicle may switch between using the two-dimensional map as the base and using the three-dimensional map 711 as the base, depending on the speed supported by the communication device of the vehicle or the conditions of the communication path. For example, a communication speed required when traveling while receiving the three-dimensional map 711 may be set in advance, and the vehicle may use the two-dimensional map as the base when the communication speed while traveling is equal to or lower than the set value, and may use the three-dimensional map 711 as the base when the communication speed while traveling is higher than the set value. The vehicle may use the two-dimensional map as the base without determining whether to use the two-dimensional map or the three-dimensional map.

[0424] (Embodiment 5) In this embodiment, a method of transmitting three-dimensional data to a following vehicle will be described. Fig. 37 is a diagram showing an example of a target space of three-dimensional data to be transmitted to a following vehicle or the like.

[0425] Vehicle 801 transmits three-dimensional data such as a point cloud contained in a rectangular space 802 of width W, height H, and depth D at a distance L from vehicle 801 ahead of vehicle 801 at time intervals of Δt to a traffic monitoring cloud that monitors road conditions or a following vehicle.

[0426] If a change occurs in the three-dimensional data contained in the space 802 that has been previously transmitted, such as when a vehicle or person enters the space 802 from outside, the vehicle 801 also transmits the three-dimensional data of the space where the change occurred.

[0427] Although Figure 37 shows an example in which the shape of space 802 is a rectangular parallelepiped, space 802 does not necessarily have to be a rectangular parallelepiped as long as it includes the space on the road ahead that is in a blind spot for following vehicles.

[0428] It is desirable to set the distance L to a distance that allows the following vehicle, having received the three-dimensional data, to safely stop. For example, the distance L is set to the sum of the distance the following vehicle travels while it takes to receive the three-dimensional data, the distance the following vehicle travels before it starts to decelerate in response to the received data, and the distance the following vehicle requires to safely stop after starting to decelerate. Since these distances change depending on the speed, the distance L may change depending on the speed V of the vehicle, as in L = a × V + b (a and b are constants).

[0429] The width W is set to a value at least larger than the width of the lane in which the vehicle 801 is traveling. More preferably, the width W is set to a size that includes adjacent spaces such as left and right lanes or shoulder strips.

[0430] The depth D may be a fixed value, or may vary according to the vehicle speed V, such as D=c×V+d (c and d are constants). Furthermore, by setting D so that D>V×Δt, the space to be transmitted can overlap with previously transmitted spaces. This allows the vehicle 801 to more reliably transmit the space on the road to following vehicles and the like without omission.

[0431] In this way, by limiting the three-dimensional data transmitted by vehicle 801 to spaces that are useful to following vehicles, the volume of three-dimensional data transmitted can be effectively reduced, thereby achieving low communication latency and low costs.

[0432] Next, the configuration of a three-dimensional data creation device 810 according to this embodiment will be described. Fig. 38 is a block diagram showing an example of the configuration of a three-dimensional data creation device 810 according to this embodiment. This three-dimensional data creation device 810 is mounted on a vehicle 801, for example. The three-dimensional data creation device 810 transmits and receives three-dimensional data to and from an external traffic monitoring cloud, a leading vehicle, or a following vehicle, and also creates and stores three-dimensional data.

[0433] The three-dimensional data creation device 810 includes a data receiving unit 811, a communication unit 812, a reception control unit 813, a format conversion unit 814, multiple sensors 815, a three-dimensional data creation unit 816, a three-dimensional data synthesis unit 817, a three-dimensional data storage unit 818, a communication unit 819, a transmission control unit 820, a format conversion unit 821, and a data transmission unit 822.

[0434] The data receiving unit 811 receives three-dimensional data 831 from a traffic monitoring cloud or a preceding vehicle. The three-dimensional data 831 includes, for example, information such as a point cloud, visible light image, depth information, sensor position information, or speed information, including areas that cannot be detected by the sensor 815 of the vehicle itself.

[0435] The communication unit 812 communicates with the traffic monitoring cloud or the vehicle ahead, and transmits data transmission requests and the like to the traffic monitoring cloud or the vehicle ahead.

[0436] The reception control unit 813 exchanges information such as compatible formats with the communication destination via the communication unit 812, and establishes communication with the communication destination.

[0437] The format conversion unit 814 generates three-dimensional data 832 by performing format conversion or the like on the three-dimensional data 831 received by the data receiving unit 811. Furthermore, if the three-dimensional data 831 is compressed or encoded, the format conversion unit 814 performs decompression or decoding processing.

[0438] The multiple sensors 815 are a group of sensors such as LiDAR, a visible light camera, or an infrared camera that acquire information about the outside of the vehicle 801, and generate sensor information 833. For example, if the sensor 815 is a laser sensor such as LiDAR, the sensor information 833 is three-dimensional data such as a point cloud (point cloud data). Note that the number of sensors 815 does not need to be multiple.

[0439] The three-dimensional data creation unit 816 generates three-dimensional data 834 from the sensor information 833. The three-dimensional data 834 includes information such as a point cloud, a visible light image, depth information, sensor position information, or velocity information.

[0440] The three-dimensional data synthesis unit 817 synthesizes three-dimensional data 834 created based on the host vehicle's sensor information 833 with three-dimensional data 832 created by the traffic monitoring cloud or a preceding vehicle, etc., to construct three-dimensional data 835 that includes the space ahead of the preceding vehicle that cannot be detected by the host vehicle's sensor 815.

[0441] The three-dimensional data storage unit 818 stores the generated three-dimensional data 835 and the like.

[0442] The communication unit 819 communicates with the traffic monitoring cloud or the following vehicle, and transmits data transmission requests and the like to the traffic monitoring cloud or the following vehicle.

[0443] The transmission control unit 820 exchanges information such as supported formats with the communication destination and establishes communication with the communication destination via the communication unit 819. Furthermore, the transmission control unit 820 determines a transmission region, which is the space of the three-dimensional data to be transmitted, based on the three-dimensional data construction information of the three-dimensional data 832 generated by the three-dimensional data synthesis unit 817 and a data transmission request from the communication destination.

[0444] Specifically, in response to a data transmission request from the traffic monitoring cloud or a following vehicle, the transmission control unit 820 determines a transmission area that includes the space ahead of the vehicle that cannot be detected by the sensor of the following vehicle. The transmission control unit 820 also determines the transmission area by determining whether the transmittable space or the transmitted space has been updated based on the three-dimensional data construction information. For example, the transmission control unit 820 determines the area specified in the data transmission request and in which the corresponding three-dimensional data 835 exists as the transmission area. The transmission control unit 820 then notifies the format conversion unit 821 of the format supported by the communication destination and the transmission area.

[0445] The format conversion unit 821 converts three-dimensional data 836 of the transmission area, out of the three-dimensional data 835 stored in the three-dimensional data storage unit 818, into a format supported by the receiving side, thereby generating three-dimensional data 837. Note that the format conversion unit 821 may reduce the amount of data by compressing or encoding the three-dimensional data 837.

[0446] The data transmission unit 822 transmits three-dimensional data 837 to the traffic monitoring cloud or the following vehicle. This three-dimensional data 837 includes, for example, information such as a point cloud ahead of the vehicle, including blind spots of the following vehicle, visible light images, depth information, or sensor position information.

[0447] Although an example in which format conversion is performed by the format conversion units 814 and 821 has been described, format conversion does not necessarily have to be performed.

[0448] With this configuration, the three-dimensional data creation device 810 externally acquires three-dimensional data 831 of an area that cannot be detected by the sensor 815 of the host vehicle, and generates three-dimensional data 835 by combining the three-dimensional data 831 with three-dimensional data 834 based on sensor information 833 detected by the sensor 815 of the host vehicle. In this way, the three-dimensional data creation device 810 can generate three-dimensional data of an area that cannot be detected by the sensor 815 of the host vehicle.

[0449] In addition, in response to a data transmission request from a traffic monitoring cloud or a following vehicle, the three-dimensional data creation device 810 can transmit three-dimensional data including the space ahead of the vehicle that cannot be detected by the sensors of the following vehicle to the traffic monitoring cloud or the following vehicle, etc.

[0450] Next, a description will be given of the procedure for transmitting three-dimensional data to a following vehicle in the three-dimensional data creation device 810. Fig. 39 is a flowchart showing an example of the procedure for transmitting three-dimensional data to a traffic monitoring cloud or a following vehicle by the three-dimensional data creation device 810.

[0451] First, the three-dimensional data creation device 810 generates and updates three-dimensional data 835 of a space including a space 802 on the road ahead of the vehicle 801 (S801). Specifically, the three-dimensional data creation device 810 constructs three-dimensional data 835 including the space ahead of the vehicle ahead that cannot be detected by the sensor 815 of the vehicle ahead, for example, by combining three-dimensional data 834 created based on sensor information 833 of the vehicle ahead 801 with three-dimensional data 831 created by a traffic monitoring cloud or a vehicle ahead.

[0452] Next, the three-dimensional data creation device 810 determines whether the three-dimensional data 835 included in the transmitted space has changed (S802).

[0453] If a change occurs in the three-dimensional data 835 contained in the space that has already been transmitted, such as when a vehicle or person enters the space from outside (Yes in S802), the three-dimensional data creation device 810 transmits three-dimensional data including the three-dimensional data 835 of the space where the change has occurred to the traffic monitoring cloud or a following vehicle (S803).

[0454] The three-dimensional data creation device 810 may transmit the three-dimensional data of the space where a change has occurred in accordance with the transmission timing of the three-dimensional data transmitted at predetermined intervals, or may transmit the data immediately after detecting the change. In other words, the three-dimensional data creation device 810 may transmit the three-dimensional data of the space where a change has occurred in priority over the three-dimensional data transmitted at predetermined intervals.

[0455] Furthermore, the three-dimensional data creation device 810 may transmit all of the three-dimensional data of the space in which a change has occurred as the three-dimensional data of the space in which a change has occurred, or may transmit only the differences in the three-dimensional data (for example, information on three-dimensional points that have appeared or disappeared, or displacement information of three-dimensional points, etc.).

[0456] Furthermore, the three-dimensional data creation device 810 may transmit metadata regarding the danger avoidance action of the vehicle, such as a sudden braking warning, to the following vehicle prior to transmitting the three-dimensional data of the space where a change has occurred. This allows the following vehicle to recognize the sudden braking of the vehicle ahead at an early stage and to begin danger avoidance action, such as deceleration, at an earlier stage.

[0457] If there is no change in the three-dimensional data 835 contained in the transmitted space (No in S802), or after step S803, the three-dimensional data creation device 810 transmits the three-dimensional data contained in a space of a predetermined shape at a distance L ahead of the vehicle 801 to the traffic monitoring cloud or a following vehicle (S804).

[0458] Furthermore, for example, the processes of steps S801 to S804 are repeatedly performed at predetermined time intervals.

[0459] Furthermore, if there is no difference between the three-dimensional data 835 of the space 802 currently being transmitted and the three-dimensional map, the three-dimensional data creation device 810 does not need to transmit the three-dimensional data 837 of the space 802.

[0460] FIG. 40 is a flowchart showing the operation of the three-dimensional data creation device 810 in this case.

[0461] First, the three-dimensional data creation device 810 generates and updates three-dimensional data 835 of a space including a space 802 on a road ahead of the vehicle 801 (S811).

[0462] Next, the three-dimensional data creation device 810 determines whether the three-dimensional data 835 of the generated space 802 has been updated from the three-dimensional map (S812). That is, the three-dimensional data creation device 810 determines whether there is a difference between the three-dimensional data 835 of the generated space 802 and the three-dimensional map. Here, the three-dimensional map is three-dimensional map information managed by an infrastructure device such as a traffic monitoring cloud. For example, this three-dimensional map is acquired as three-dimensional data 831.

[0463] If there is an update (Yes in S812), the three-dimensional data creation device 810 transmits the three-dimensional data included in the space 802 to the traffic monitoring cloud or the following vehicle in the same manner as described above (S813).

[0464] On the other hand, if there is no update (No in S812), the three-dimensional data creation device 810 does not transmit the three-dimensional data included in the space 802 to the traffic monitoring cloud or the following vehicle (S814). The three-dimensional data creation device 810 may control so that the three-dimensional data of the space 802 is not transmitted by setting the volume of the space 802 to zero. The three-dimensional data creation device 810 may also transmit information indicating that there is no update to the space 802 to the traffic monitoring cloud or the following vehicle.

[0465] As a result, for example, if there are no obstacles on the road, there is no difference between the generated 3D data 835 and the 3D map on the infrastructure side, and no data is transmitted. In this way, transmission of unnecessary data can be suppressed.

[0466] In the above description, an example was given in which the three-dimensional data creation device 810 is mounted on a vehicle, but the three-dimensional data creation device 810 is not limited to being mounted on a vehicle, and may be mounted on any mobile body.

[0467] As described above, three-dimensional data creation device 810 according to this embodiment is mounted on a mobile object equipped with sensor 815 and a communication unit (such as data receiving unit 811 or data transmitting unit 822) that transmits and receives three-dimensional data to and from the outside. Three-dimensional data creation device 810 creates three-dimensional data 835 (second three-dimensional data) based on sensor information 833 detected by sensor 815 and three-dimensional data 831 (first three-dimensional data) received by data receiving unit 811. Three-dimensional data creation device 810 transmits three-dimensional data 837, which is a part of three-dimensional data 835, to the outside.

[0468] This allows the three-dimensional data creation device 810 to generate three-dimensional data of a range that cannot be detected by the vehicle itself. Also, the three-dimensional data creation device 810 can transmit three-dimensional data of a range that cannot be detected by other vehicles to the other vehicles.

[0469] Furthermore, the three-dimensional data creation device 810 repeatedly creates three-dimensional data 835 and transmits three-dimensional data 837 at predetermined intervals. The three-dimensional data 837 is three-dimensional data of a small space 802 of a predetermined size located a predetermined distance L ahead of the current position of the vehicle 801 in the direction of movement of the vehicle 801.

[0470] This limits the range of the three-dimensional data 837 to be transmitted, thereby reducing the amount of three-dimensional data 837 to be transmitted.

[0471] Furthermore, the predetermined distance L changes according to the moving speed V of the vehicle 801. For example, the higher the moving speed V, the longer the predetermined distance L. This allows the vehicle 801 to set an appropriate small space 802 according to the moving speed V of the vehicle 801, and transmit three-dimensional data 837 of the small space 802 to a following vehicle, etc.

[0472] Furthermore, the predetermined size changes according to the moving speed V of the vehicle 801. For example, the higher the moving speed V, the larger the predetermined size. For example, the higher the moving speed V, the larger the depth D, which is the length of the small space 802 in the moving direction of the vehicle. This allows the vehicle 801 to set an appropriate small space 802 according to the moving speed V of the vehicle 801, and transmit three-dimensional data 837 of the small space 802 to a following vehicle, etc.

[0473] Furthermore, the three-dimensional data creation device 810 determines whether there is a change in the three-dimensional data 835 of the small space 802 corresponding to the transmitted three-dimensional data 837. If it determines that there is a change, the three-dimensional data creation device 810 transmits three-dimensional data 837 (fourth three-dimensional data), which is at least a part of the three-dimensional data 835 that has changed, to an external following vehicle or the like.

[0474] This allows the vehicle 801 to transmit three-dimensional data 837 of the space where the change has occurred to the following vehicle, etc.

[0475] Furthermore, the three-dimensional data creation device 810 transmits the three-dimensional data 837 (fourth three-dimensional data) that has changed in priority over the regular three-dimensional data 837 (third three-dimensional data) that is periodically transmitted. Specifically, the three-dimensional data creation device 810 transmits the three-dimensional data 837 (fourth three-dimensional data) that has changed before transmitting the regular three-dimensional data 837 (third three-dimensional data) that is periodically transmitted. In other words, the three-dimensional data creation device 810 transmits the three-dimensional data 837 (fourth three-dimensional data) that has changed non-periodically, without waiting for the regular three-dimensional data 837 to be transmitted.

[0476] This allows the vehicle 801 to preferentially transmit the three-dimensional data 837 of the space where a change has occurred to the following vehicles, etc., so that the following vehicles, etc. can quickly make decisions based on the three-dimensional data.

[0477] Furthermore, the changed three-dimensional data 837 (fourth three-dimensional data) indicates the difference between the three-dimensional data 835 of the small space 802 corresponding to the transmitted three-dimensional data 837 and the changed three-dimensional data 835. This makes it possible to reduce the amount of three-dimensional data 837 to be transmitted.

[0478] Furthermore, if there is no difference between the three-dimensional data 837 of the small space 802 and the three-dimensional data 831 of the small space 802, the three-dimensional data creation device 810 does not transmit the three-dimensional data 837 of the small space 802. Furthermore, the three-dimensional data creation device 810 may transmit information indicating that there is no difference between the three-dimensional data 837 of the small space 802 and the three-dimensional data 831 of the small space 802 to the outside.

[0479] This makes it possible to prevent unnecessary three-dimensional data 837 from being transmitted, thereby reducing the amount of three-dimensional data 837 to be transmitted.

[0480] (Embodiment 6) In this embodiment, a display device and a display method for displaying information obtained from a three-dimensional map or the like, and a storage device and a storage method for a three-dimensional map or the like will be described.

[0481] For automatic driving of a vehicle or autonomous movement of a robot, a mobile object such as a car or a robot utilizes a 3D map obtained by communication with a server or other vehicles, and 2D images or 3D data detected by the vehicle obtained from sensors mounted on the vehicle. Of these data, the data that a user wants to view or save may differ depending on the situation. Below, a display device that switches the display depending on the situation will be described.

[0482] 41 is a flowchart showing an outline of a display method using a display device. The display device is mounted on a moving body such as a car or a robot. In the following, an example will be described in which the moving body is a vehicle (automobile).

[0483] First, the display device determines whether to display two-dimensional surrounding information or three-dimensional surrounding information according to the driving situation of the vehicle (S901). The two-dimensional surrounding information corresponds to the first surrounding information in the claims, and the three-dimensional surrounding information corresponds to the second surrounding information in the claims. Here, the surrounding information is information showing the surroundings of the moving object, such as an image seen in a predetermined direction from the vehicle or a map of the surroundings of the vehicle.

[0484] Two-dimensional surrounding information is information generated using two-dimensional data. Here, two-dimensional data refers to two-dimensional map information or images. For example, the two-dimensional surrounding information is a map of the vehicle's surroundings obtained from a two-dimensional map, or an image obtained by a camera mounted on the vehicle. Furthermore, the two-dimensional surrounding information does not include, for example, three-dimensional information. In other words, if the two-dimensional surrounding information is a map of the vehicle's surroundings, the map does not include information in the height direction. Furthermore, if the two-dimensional surrounding information is an image obtained by a camera, the image does not include information in the depth direction.

[0485] The three-dimensional surrounding information is information generated using three-dimensional data. Here, the three-dimensional data is, for example, a three-dimensional map. The three-dimensional data may be information indicating the three-dimensional position or three-dimensional shape of an object around the vehicle, obtained from another vehicle or a server, or detected by the vehicle itself. For example, the three-dimensional surrounding information is a two-dimensional or three-dimensional image or map of the area around the vehicle generated using a three-dimensional map. The three-dimensional surrounding information may also include, for example, three-dimensional information. For example, if the three-dimensional surrounding information is an image of the area in front of the vehicle, the image may include information indicating the distance to an object in the image. Alternatively, the image may display, for example, a pedestrian or the like behind the vehicle ahead. The three-dimensional surrounding information may also be information indicating the distance or the pedestrian or the like superimposed on an image obtained from a sensor mounted on the vehicle. The three-dimensional surrounding information may also be information indicating height information superimposed on a two-dimensional map.

[0486] Furthermore, three-dimensional data may be displayed three-dimensionally, or two-dimensional images or two-dimensional maps obtained from the three-dimensional data may be displayed on a two-dimensional display or the like.

[0487] If it is determined in step S901 that three-dimensional peripheral information is to be displayed (Yes in S902), the display device displays the three-dimensional peripheral information (S903). On the other hand, if it is determined in step S901 that two-dimensional peripheral information is to be displayed (No in S902), the display device displays the two-dimensional peripheral information (S904). In this way, the display device displays the three-dimensional peripheral information or two-dimensional peripheral information determined to be displayed in step S901.

[0488] Specific examples will be described below. In a first example, the display device switches the surrounding information to be displayed depending on whether the vehicle is being driven automatically or manually. Specifically, during automatic driving, the driver does not need to know detailed surrounding road information, so the display device displays two-dimensional surrounding information (for example, a two-dimensional map). On the other hand, during manual driving, three-dimensional surrounding information (for example, a three-dimensional map) is displayed so that the driver can see detailed surrounding road information for safe driving.

[0489] Furthermore, during autonomous driving, in order to show the user what information the vehicle is driving based on, the display device may display information that has influenced the driving operation (e.g., SWLD used for self-location estimation, lanes, road signs, and surrounding situation detection results, etc.). For example, the display device may display this information in addition to a two-dimensional map.

[0490] The peripheral information displayed during automated driving and manual driving is merely an example, and the display device may display three-dimensional peripheral information during automated driving and two-dimensional peripheral information during manual driving. Furthermore, the display device may display metadata or peripheral situation detection results in addition to a two-dimensional or three-dimensional map or image during at least one of automated driving and manual driving, or may display metadata or peripheral situation detection results instead of a two-dimensional or three-dimensional map or image. Here, metadata is information indicating the three-dimensional position or three-dimensional shape of an object acquired from a server or another vehicle. Furthermore, peripheral situation detection results are information indicating the three-dimensional position or three-dimensional shape of an object detected by the vehicle.

[0491] In a second example, the display device switches the displayed peripheral information depending on the driving environment. For example, the display device switches the displayed peripheral information depending on the brightness of the outside world. Specifically, when the area around the vehicle is bright, the display device displays two-dimensional images obtained by a camera mounted on the vehicle, or three-dimensional peripheral information created using the two-dimensional images. On the other hand, when the area around the vehicle is dark, the display device displays three-dimensional peripheral information created using lidar or millimeter-wave radar, because the two-dimensional images obtained from the camera mounted on the vehicle are dark and difficult to view.

[0492] The display device may also switch the displayed surrounding information depending on the driving area, which is the area the vehicle is currently in. For example, the display device displays three-dimensional surrounding information to provide the user with information on surrounding buildings in tourist spots, urban areas, or near the destination. On the other hand, the display device displays two-dimensional surrounding information in mountainous areas or suburban areas, where it is considered that detailed surrounding information is often not necessary.

[0493] The display device may also switch the displayed surrounding information based on weather conditions. For example, the display device may display three-dimensional surrounding information created using a camera or LIDAR when the weather is clear. On the other hand, the display device may display three-dimensional surrounding information created using millimeter-wave radar when it is raining or foggy, because three-dimensional surrounding information created using a camera or LIDAR is prone to contain noise.

[0494] The display switching may be performed automatically by the system or manually by the user.

[0495] In addition, the three-dimensional surrounding information is generated from one or more of the following data: dense point cloud data generated based on WLD, mesh data generated based on MWLD, sparse data generated based on SWLD, lane data generated based on Lane World, two-dimensional map data including three-dimensional shape information of roads and intersections, and metadata or vehicle detection results including three-dimensional position or three-dimensional shape information that changes in real time.

[0496] As described above, WLD is three-dimensional point cloud data, and SWLD is data obtained by extracting point clouds from WLD whose feature values ​​are equal to or greater than a threshold. MWLD is data having a mesh structure generated from WLD. Lane World is data obtained by extracting point clouds from WLD whose feature values ​​are equal to or greater than a threshold and that are necessary for self-localization, driving assistance, autonomous driving, etc.

[0497] Here, MWLD and SWLD have smaller data volumes than WLD. Therefore, when more detailed data is required, WLD is used, and when not, MWLD or SWLD is used, thereby appropriately reducing the amount of communication data and processing. Furthermore, Lane World has smaller data volumes than SWLD. Therefore, by using Lane World, the amount of communication data and processing can be further reduced.

[0498] Furthermore, although the above describes an example of switching between two-dimensional peripheral information and three-dimensional peripheral information, the display device may switch the type of data (WLD, SWLD, etc.) used to generate the three-dimensional peripheral information based on the above conditions. In other words, in the above description, the display device may display three-dimensional peripheral information generated from first data (e.g., WLD or SWLD) with a larger amount of data when displaying three-dimensional peripheral information, and may display three-dimensional peripheral information generated from second data (e.g., SWLD or lane world) with a smaller amount of data than the first data when displaying two-dimensional peripheral information, instead of the two-dimensional peripheral information.

[0499] Furthermore, the display device displays the two-dimensional surrounding information or the three-dimensional surrounding information, for example, on a two-dimensional display, a head-up display, or a head-mounted display mounted on the vehicle. Alternatively, the display device may transmit the two-dimensional surrounding information or the three-dimensional surrounding information to a mobile terminal such as a smartphone via wireless communication and display it. In other words, the display device is not limited to being mounted on a mobile body, but may be any device that operates in conjunction with the mobile body. For example, when a user carrying a display device such as a smartphone boards or drives a mobile body, information about the mobile body, such as the position of the mobile body based on the self-location estimation of the mobile body, is displayed on the display device, or this information is displayed on the display device together with the surrounding information.

[0500] Furthermore, when displaying a three-dimensional map, the display device may render the three-dimensional map and display it as two-dimensional data, or may display it as three-dimensional data using a three-dimensional display or a three-dimensional hologram.

[0501] Next, a method for saving a three-dimensional map will be described. For automatic driving of a car or autonomous movement of a robot, a mobile body such as a car or a robot utilizes a three-dimensional map obtained by communication with a server or other cars, two-dimensional images obtained from sensors mounted on the car, or three-dimensional data detected by the car itself. Of these data, the data that a user wants to view or save is thought to differ depending on the situation. Below, a method for saving data according to the situation will be described.

[0502] The storage device is mounted on a moving body such as a car or a robot. In the following, an example will be described in which the moving body is a vehicle (automobile). The storage device may also be included in the display device described above.

[0503] In a first example, the storage device determines whether to store a 3D map based on the region. By storing the 3D map in the vehicle's storage medium, autonomous driving becomes possible within the stored space without communication with a server. However, due to limitations in storage capacity, only limited data can be stored. Therefore, the storage device limits the region to be stored as follows:

[0504] For example, the storage device may preferentially store 3D maps of areas frequently passed through, such as a commute route or the area around one's home. This eliminates the need to obtain data for frequently used areas each time, effectively reducing the amount of communication data. Prioritizing storage means storing data with higher priority within a predetermined storage capacity. For example, if new data cannot be stored within the storage capacity, data with a lower priority than the new data is deleted.

[0505] Alternatively, the storage device may preferentially store 3D maps of areas with poor communication environments, which eliminates the need to acquire data via communication in areas with poor communication environments, thereby reducing the occurrence of cases where 3D maps cannot be acquired due to poor communication.

[0506] Alternatively, the storage device may preferentially store 3D maps of areas with heavy traffic, thereby enabling priority storage of 3D maps of areas with a high incidence of accidents. This prevents a decrease in the accuracy of automated driving or driving assistance in such areas due to poor communication, which would otherwise prevent 3D maps from being acquired.

[0507] Alternatively, the storage device may preferentially store 3D maps of areas with low traffic volume. Here, in areas with low traffic volume, it is highly likely that the autonomous driving mode that automatically follows the vehicle ahead will not be available. This may result in cases where more detailed surrounding information is required. Therefore, by preferentially storing 3D maps of areas with low traffic volume, the accuracy of autonomous driving or driving assistance in such areas can be improved.

[0508] The above-mentioned storage methods may be combined. The area in which these three-dimensional maps are to be preferentially stored may be automatically determined by the system or may be designated by the user.

[0509] The storage device may also delete 3D maps that have been stored for a predetermined period of time or update them with the latest data, thereby preventing old map data from being used. When updating map data, the storage device may compare the old map with the new map to detect differential regions, which are spatial regions where differences exist, and add data for the differential regions of the new map to the old map or remove data for the differential regions from the old map to update only the data for the changed regions.

[0510] In this example, the stored three-dimensional map is used for autonomous driving. Therefore, by using SWLD as this three-dimensional map, the amount of communication data can be reduced. Note that the three-dimensional map is not limited to SWLD, and other types of data such as WLD may also be used.

[0511] In a second example, the storage device stores a three-dimensional map based on an event.

[0512] For example, the storage device may store special events encountered during driving as a 3D map, allowing the user to later view details of the event. Examples of events stored as 3D maps are shown below. The storage device may also store 3D surrounding information generated from the 3D map.

[0513] For example, the storage device stores three-dimensional maps before and after a collision accident, or when a danger is detected.

[0514] Alternatively, the storage device stores three-dimensional maps of distinctive scenes, such as beautiful landscapes, crowded places, or tourist spots.

[0515] The events to be saved may be automatically determined by the system or may be specified in advance by the user. For example, machine learning may be used as a method for determining the events to be saved.

[0516] In this example, the stored three-dimensional map is used for viewing. Therefore, by using WLD as this three-dimensional map, high-quality images can be provided. Note that the three-dimensional map is not limited to WLD, and may be other types of data such as SWLD.

[0517] A method for the display device to control the display in response to the user will be described below. When the display device superimposes and displays the surrounding situation detection results obtained through vehicle-to-vehicle communication on a map, the display device may represent the surrounding vehicles as wireframes or by adding transparency to the surrounding vehicles, so that detected objects behind the surrounding vehicles can be seen. Alternatively, the display device may display an image from a bird's-eye view, so that the vehicle, surrounding vehicles, and surrounding situation detection results can be seen from above.

[0518] When using a head-up display to superimpose the results of surrounding situation detection or point cloud data onto the surrounding environment seen through the windshield as shown in Fig. 42, the position at which the information is superimposed may be shifted depending on the user's posture, body shape, or eye position. Fig. 43 is a diagram showing an example of the head-up display when the position is shifted.

[0519] To correct such misalignment, the display device detects the user's posture, body shape, or eye position using information from an in-vehicle camera or a sensor mounted on the seat. The display device adjusts the position at which information is superimposed based on the detected user's posture, body shape, or eye position. Figure 44 shows an example of the display on the head-up display after adjustment.

[0520] The user may manually adjust the superimposition position using a control device installed in the vehicle.

[0521] The display device may also display safe locations on a map in the event of a disaster and present the location to the user. Alternatively, the vehicle may inform the user of the details of the disaster and that the vehicle will be heading to a safe location, and then automatically drive to the safe location.

[0522] For example, a vehicle may set its destination to an area with a high altitude above sea level so as not to be caught in a tsunami when an earthquake occurs. In this case, the vehicle may acquire information about roads that have become impassable due to the earthquake by communicating with a server, and may take steps according to the nature of the disaster, such as taking a route that avoids those roads.

[0523] Furthermore, the autonomous driving may include multiple modes such as a travel mode and a drive mode.

[0524] In travel mode, the vehicle determines a route to the destination, taking into consideration factors such as fast arrival time, low fare, short distance traveled, and low energy consumption, and then drives automatically along the determined route.

[0525] In Drive mode, the vehicle automatically determines a route to arrive at the destination at the time specified by the user. For example, when the user sets the destination and arrival time, the vehicle will determine a route that will take the user to nearby tourist spots and arrive at the destination at the set time, and then automatically drive along the determined route.

[0526] (Embodiment 7) In the fifth embodiment, an example has been described in which a client device such as a vehicle transmits three-dimensional data to another vehicle or a server such as a traffic monitoring cloud. In this embodiment, the client device transmits sensor information obtained by a sensor to the server or another client device.

[0527] First, the configuration of a system according to this embodiment will be described. Fig. 45 is a diagram showing the configuration of a system for transmitting and receiving 3D maps and sensor information according to this embodiment. This system includes a server 901 and client devices 902A and 902B. When there is no need to distinguish between the client devices 902A and 902B, they will also be referred to as client device 902.

[0528] The client device 902 is, for example, an in-vehicle device mounted on a mobile object such as a vehicle. The server 901 is, for example, a traffic monitoring cloud or the like, and is capable of communicating with a plurality of client devices 902.

[0529] The server 901 transmits a three-dimensional map composed of a point cloud to the client device 902. Note that the composition of the three-dimensional map is not limited to a point cloud, and may represent other three-dimensional data such as a mesh structure.

[0530] The client device 902 transmits sensor information acquired by the client device 902 to the server 901. The sensor information includes, for example, at least one of LiDAR acquisition information, a visible light image, an infrared image, a depth image, sensor position information, and speed information.

[0531] Data transmitted between the server 901 and the client device 902 may be compressed to reduce data size, or may remain uncompressed to maintain data accuracy. When compressing data, a three-dimensional compression method based on an octree structure, for example, can be used for point clouds. Also, a two-dimensional image compression method can be used for visible light images, infrared images, and depth images. Examples of two-dimensional image compression methods include MPEG-4 AVC or HEVC, which are standardized by MPEG.

[0532] Furthermore, the server 901 transmits the three-dimensional map managed by the server 901 to the client device 902 in response to a three-dimensional map transmission request from the client device 902. Note that the server 901 may transmit the three-dimensional map without waiting for a three-dimensional map transmission request from the client device 902. For example, the server 901 may broadcast the three-dimensional map to one or more client devices 902 that are in a predetermined space. Furthermore, the server 901 may transmit a three-dimensional map appropriate for the position of the client device 902 to the client device 902 that has received a transmission request once, at regular intervals. Furthermore, the server 901 may transmit the three-dimensional map to the client device 902 every time the three-dimensional map managed by the server 901 is updated.

[0533] The client device 902 issues a request to send a three-dimensional map to the server 901. For example, when the client device 902 wants to estimate its own position while driving, the client device 902 sends a request to send a three-dimensional map to the server 901.

[0534] In the following cases, the client device 902 may issue a request to the server 901 to transmit a three-dimensional map. If the three-dimensional map held by the client device 902 is old, the client device 902 may issue a request to the server 901 to transmit a three-dimensional map. For example, if a certain period of time has passed since the client device 902 obtained the three-dimensional map, the client device 902 may issue a request to the server 901 to transmit a three-dimensional map.

[0535] The client device 902 may issue a request to the server 901 to transmit a three-dimensional map a certain time before the client device 902 leaves the space shown in the three-dimensional map held by the client device 902. For example, when the client device 902 is located within a predetermined distance from the boundary of the space shown in the three-dimensional map held by the client device 902, the client device 902 may issue a request to the server 901 to transmit a three-dimensional map. Furthermore, when the movement route and movement speed of the client device 902 are known, the time when the client device 902 will leave the space shown in the three-dimensional map held by the client device 902 may be predicted based on these.

[0536] If the error in aligning the three-dimensional data created by the client device 902 from sensor information with the three-dimensional map is equal to or greater than a certain level, the client device 902 may issue a request to the server 901 to send the three-dimensional map.

[0537] The client device 902 transmits sensor information to the server 901 in response to a request to transmit sensor information transmitted from the server 901. Note that the client device 902 may transmit sensor information to the server 901 without waiting for a request to transmit sensor information from the server 901. For example, once the client device 902 receives a request to transmit sensor information from the server 901, the client device 902 may periodically transmit the sensor information to the server 901 for a certain period of time. Furthermore, if the error in aligning the three-dimensional data created by the client device 902 based on the sensor information with the three-dimensional map obtained from the server 901 is equal to or greater than a certain level, the client device 902 may determine that a change may have occurred in the three-dimensional map around the client device 902, and may transmit this information along with the sensor information to the server 901.

[0538] The server 901 issues a request to transmit sensor information to the client device 902. For example, the server 901 receives location information of the client device 902, such as GPS, from the client device 902. When the server 901 determines, based on the location information of the client device 902, that the client device 902 is approaching a space with little information in the three-dimensional map managed by the server 901, the server 901 issues a request to transmit sensor information to the client device 902 in order to generate a new three-dimensional map. The server 901 may also issue a request to transmit sensor information when it wants to update the three-dimensional map, when it wants to check road conditions during snowfall or a disaster, when it wants to check traffic congestion, or when it wants to check the status of incidents and accidents, etc.

[0539] Furthermore, the client device 902 may set the amount of data of the sensor information to be transmitted to the server 901 depending on the communication state or bandwidth at the time of receiving a request to transmit the sensor information from the server 901. Setting the amount of data of the sensor information to be transmitted to the server 901 means, for example, increasing or decreasing the amount of the data itself or appropriately selecting a compression method.

[0540] 46 is a block diagram showing an example of the configuration of the client device 902. The client device 902 receives a three-dimensional map composed of a point cloud or the like from the server 901, and estimates the self-position of the client device 902 from three-dimensional data created based on sensor information of the client device 902. The client device 902 also transmits the acquired sensor information to the server 901.

[0541] The client device 902 includes a data receiving unit 1011, a communication unit 1012, a reception control unit 1013, a format conversion unit 1014, multiple sensors 1015, a three-dimensional data creation unit 1016, a three-dimensional image processing unit 1017, a three-dimensional data storage unit 1018, a format conversion unit 1019, a communication unit 1020, a transmission control unit 1021, and a data transmission unit 1022.

[0542] The data receiving unit 1011 receives a three-dimensional map 1031 from the server 901. The three-dimensional map 1031 is data including a point cloud such as a WLD or SWLD. The three-dimensional map 1031 may include either compressed data or uncompressed data.

[0543] The communication unit 1012 communicates with the server 901 and transmits data transmission requests (for example, requests to transmit a three-dimensional map) to the server 901.

[0544] The reception control unit 1013 exchanges information such as compatible formats with the communication destination via the communication unit 1012, and establishes communication with the communication destination.

[0545] The format conversion unit 1014 generates a three-dimensional map 1032 by performing format conversion and the like on the three-dimensional map 1031 received by the data receiving unit 1011. Furthermore, if the three-dimensional map 1031 is compressed or encoded, the format conversion unit 1014 performs decompression or decoding processing. Note that if the three-dimensional map 1031 is uncompressed data, the format conversion unit 1014 does not perform decompression or decoding processing.

[0546] The multiple sensors 1015 are a group of sensors, such as LiDAR, a visible light camera, an infrared camera, or a depth sensor, that acquire information about the outside of the vehicle on which the client device 902 is mounted, and generate sensor information 1033. For example, if the sensor 1015 is a laser sensor such as LiDAR, the sensor information 1033 is three-dimensional data such as a point cloud (point cloud data). Note that the number of sensors 1015 does not need to be multiple.

[0547] The three-dimensional data creation unit 1016 creates three-dimensional data 1034 of the surroundings of the vehicle based on the sensor information 1033. For example, the three-dimensional data creation unit 1016 creates point cloud data with color information of the surroundings of the vehicle using information acquired by LiDAR and visible light images acquired by a visible light camera.

[0548] The three-dimensional image processing unit 1017 performs a process of estimating the vehicle's own position using a three-dimensional map 1032 such as a received point cloud and three-dimensional data 1034 of the surroundings of the vehicle generated from the sensor information 1033. The three-dimensional image processing unit 1017 may generate three-dimensional data 1035 of the surroundings of the vehicle by combining the three-dimensional map 1032 and the three-dimensional data 1034, and perform a process of estimating the vehicle's own position using the generated three-dimensional data 1035.

[0549] The three-dimensional data storage unit 1018 stores a three-dimensional map 1032, three-dimensional data 1034, three-dimensional data 1035, and the like.

[0550] The format conversion unit 1019 generates sensor information 1037 by converting the sensor information 1033 into a format supported by the receiving side. The format conversion unit 1019 may reduce the amount of data by compressing or encoding the sensor information 1037. The format conversion unit 1019 may omit the process if format conversion is not necessary. The format conversion unit 1019 may also control the amount of data to be transmitted in accordance with a specified transmission range.

[0551] The communication unit 1020 communicates with the server 901 and receives data transmission requests (sensor information transmission requests) and the like from the server 901.

[0552] The transmission control unit 1021 exchanges information such as compatible formats with the communication destination via the communication unit 1020, and establishes communication.

[0553] The data transmission unit 1022 transmits the sensor information 1037 to the server 901. The sensor information 1037 includes information acquired by a plurality of sensors 1015, such as information acquired by a LiDAR, a luminance image acquired by a visible light camera, an infrared image acquired by an infrared camera, a depth image acquired by a depth sensor, sensor position information, and speed information.

[0554] Next, the configuration of the server 901 will be described. Fig. 47 is a block diagram showing an example configuration of the server 901. The server 901 receives sensor information transmitted from the client device 902 and creates three-dimensional data based on the received sensor information. The server 901 uses the created three-dimensional data to update the three-dimensional map managed by the server 901. In addition, in response to a request from the client device 902 to transmit the three-dimensional map, the server 901 transmits the updated three-dimensional map to the client device 902.

[0555] The server 901 includes a data receiving unit 1111, a communication unit 1112, a receiving control unit 1113, a format conversion unit 1114, a three-dimensional data creation unit 1116, a three-dimensional data synthesis unit 1117, a three-dimensional data storage unit 1118, a format conversion unit 1119, a communication unit 1120, a transmission control unit 1121, and a data transmission unit 1122.

[0556] The data receiving unit 1111 receives sensor information 1037 from the client device 902. The sensor information 1037 includes, for example, information acquired by a LiDAR, a luminance image acquired by a visible light camera, an infrared image acquired by an infrared camera, a depth image acquired by a depth sensor, sensor position information, and speed information.

[0557] The communication unit 1112 communicates with the client device 902 and transmits a data transmission request (for example, a request to transmit sensor information) to the client device 902 .

[0558] The reception control unit 1113 exchanges information such as compatible formats with the communication destination via the communication unit 1112, and establishes communication.

[0559] If the received sensor information 1037 is compressed or encoded, the format conversion unit 1114 performs decompression or decoding processing to generate the sensor information 1132. Note that if the sensor information 1037 is uncompressed data, the format conversion unit 1114 does not perform decompression or decoding processing.

[0560] The three-dimensional data creation unit 1116 creates three-dimensional data 1134 of the periphery of the client device 902 based on the sensor information 1132. For example, the three-dimensional data creation unit 1116 creates point cloud data with color information of the periphery of the client device 902 using information acquired by the LiDAR and visible light images acquired by the visible light camera.

[0561] A three-dimensional data synthesis unit 1117 synthesizes three-dimensional data 1134 created based on sensor information 1132 with a three-dimensional map 1135 managed by the server 901, thereby updating the three-dimensional map 1135.

[0562] The three-dimensional data storage unit 1118 stores a three-dimensional map 1135 and the like.

[0563] The format conversion unit 1119 generates the three-dimensional map 1031 by converting the three-dimensional map 1135 into a format supported by the receiving side. The format conversion unit 1119 may reduce the amount of data by compressing or encoding the three-dimensional map 1135. The format conversion unit 1119 may also omit processing if format conversion is not necessary. The format conversion unit 1119 may also control the amount of data to be transmitted in accordance with the designation of the transmission range.

[0564] The communication unit 1120 communicates with the client device 902 and receives a data transmission request (a request to transmit a three-dimensional map) or the like from the client device 902 .

[0565] The transmission control unit 1121 exchanges information such as compatible formats with the communication destination via the communication unit 1120, and establishes communication.

[0566] The data transmission unit 1122 transmits the three-dimensional map 1031 to the client device 902. The three-dimensional map 1031 is data including a point cloud such as a WLD or SWLD. The three-dimensional map 1031 may include either compressed data or uncompressed data.

[0567] Next, we will explain the operational flow of the client device 902. Fig. 48 is a flowchart showing the operation of the client device 902 when acquiring a three-dimensional map.

[0568] First, the client device 902 requests the server 901 to transmit a three-dimensional map (such as a point cloud) (S1001). At this time, the client device 902 may also transmit location information of the client device 902 obtained by GPS or the like, thereby requesting the server 901 to transmit a three-dimensional map related to the location information.

[0569] Next, the client device 902 receives the three-dimensional map from the server 901 (S1002). If the received three-dimensional map is compressed data, the client device 902 decodes the received three-dimensional map to generate an uncompressed three-dimensional map (S1003).

[0570] Next, the client device 902 creates three-dimensional data 1034 of the surroundings of the client device 902 from sensor information 1033 obtained by the multiple sensors 1015 (S1004). Next, the client device 902 estimates its own position using the three-dimensional map 1032 received from the server 901 and the three-dimensional data 1034 created from the sensor information 1033 (S1005).

[0571] 49 is a flowchart showing the operation of the client device 902 when transmitting sensor information. First, the client device 902 receives a request to transmit sensor information from the server 901 (S1011). Upon receiving the transmission request, the client device 902 transmits sensor information 1037 to the server 901 (S1012). Note that, when the sensor information 1033 includes multiple pieces of information obtained by multiple sensors 1015, the client device 902 may generate the sensor information 1037 by compressing each piece of information using a compression method suitable for that piece of information.

[0572] Next, the operation flow of the server 901 will be described. Fig. 50 is a flowchart showing the operation when the server 901 acquires sensor information. First, the server 901 requests the client device 902 to transmit sensor information (S1021). Next, the server 901 receives the sensor information 1037 transmitted from the client device 902 in response to the request (S1022). Next, the server 901 creates three-dimensional data 1134 using the received sensor information 1037 (S1023). Next, the server 901 reflects the created three-dimensional data 1134 in the three-dimensional map 1135 (S1024).

[0573] 51 is a flowchart showing the operation of the server 901 when transmitting a three-dimensional map. First, the server 901 receives a request to transmit a three-dimensional map from the client device 902 (S1031). Having received the request to transmit the three-dimensional map, the server 901 transmits a three-dimensional map 1031 to the client device 902 (S1032). At this time, the server 901 may extract a three-dimensional map of the vicinity based on the location information of the client device 902 and transmit the extracted three-dimensional map. The server 901 may also compress the three-dimensional map made up of a point cloud using, for example, a compression method with an octree structure, and transmit the compressed three-dimensional map.

[0574] A modification of this embodiment will now be described.

[0575] The server 901 uses the sensor information 1037 received from the client device 902 to create three-dimensional data 1134 of the vicinity of the position of the client device 902. Next, the server 901 matches the created three-dimensional data 1134 with a three-dimensional map 1135 of the same area managed by the server 901, thereby calculating the difference between the three-dimensional data 1134 and the three-dimensional map 1135. If the difference is equal to or greater than a predetermined threshold, the server 901 determines that some abnormality has occurred in the vicinity of the client device 902. For example, when ground subsidence occurs due to a natural disaster such as an earthquake, a large difference may occur between the three-dimensional map 1135 managed by the server 901 and the three-dimensional data 1134 created based on the sensor information 1037.

[0576] The sensor information 1037 may include information indicating at least one of the sensor type, sensor performance, and sensor model number. A class ID or the like according to the sensor performance may also be added to the sensor information 1037. For example, if the sensor information 1037 is information acquired by a LiDAR, an identifier may be assigned to the sensor performance, such as Class 1 for a sensor capable of acquiring information with an accuracy of several millimeters, Class 2 for a sensor capable of acquiring information with an accuracy of several centimeters, and Class 3 for a sensor capable of acquiring information with an accuracy of several meters. The server 901 may also estimate the sensor performance information and the like from the model number of the client device 902. For example, if the client device 902 is installed in a vehicle, the server 901 may determine the sensor specification information from the vehicle model. In this case, the server 901 may acquire vehicle model information in advance, or the information may be included in the sensor information. The server 901 may also use the acquired sensor information 1037 to switch the degree of correction for the three-dimensional data 1134 created using the sensor information 1037. For example, if the sensor performance is high accuracy (class 1), the server 901 does not perform correction on the three-dimensional data 1134. If the sensor performance is low accuracy (class 3), the server 901 applies correction according to the accuracy of the sensor to the three-dimensional data 1134. For example, the server 901 increases the degree (strength) of correction as the accuracy of the sensor decreases.

[0577] The server 901 may simultaneously issue requests to send sensor information to multiple client devices 902 in a certain space. When the server 901 receives multiple pieces of sensor information from multiple client devices 902, the server 901 does not need to use all of the sensor information to create the three-dimensional data 1134, and may select the sensor information to use, for example, depending on the performance of the sensor. For example, when updating the three-dimensional map 1135, the server 901 may select high-precision sensor information (Class 1) from the multiple pieces of sensor information it has received, and create the three-dimensional data 1134 using the selected sensor information.

[0578] The server 901 is not limited to a server such as a traffic monitoring cloud, but may be another client device (mounted in a vehicle). Figure 52 is a diagram showing the system configuration in this case.

[0579] For example, client device 902C issues a request to transmit sensor information to nearby client device 902A and acquires the sensor information from client device 902A. Client device 902C then creates three-dimensional data using the acquired sensor information from client device 902A and updates the three-dimensional map of client device 902C. This allows client device 902C to generate a three-dimensional map of the space that can be acquired from client device 902A by taking advantage of the performance of client device 902C. For example, such a case is likely to occur when client device 902C has high performance.

[0580] In this case, the client device 902A that provided the sensor information is granted the right to obtain the high-precision 3D map generated by the client device 902C. The client device 902A receives the high-precision 3D map from the client device 902C in accordance with the right.

[0581] In addition, client device 902C may issue requests to send sensor information to multiple nearby client devices 902 (client device 902A and client device 902B). If the sensor of client device 902A or client device 902B is high performance, client device 902C can create three-dimensional data using the sensor information obtained by this high performance sensor.

[0582] 53 is a block diagram showing the functional configuration of the server 901 and the client device 902. The server 901 includes, for example, a 3D map compression / decoding processing unit 1201 that compresses and decodes 3D maps, and a sensor information compression / decoding processing unit 1202 that compresses and decodes sensor information.

[0583] The client device 902 includes a three-dimensional map decoding processor 1211 and a sensor information compression processor 1212. The three-dimensional map decoding processor 1211 receives encoded data of the compressed three-dimensional map and decodes the encoded data to acquire the three-dimensional map. The sensor information compression processor 1212 compresses the sensor information itself instead of three-dimensional data created from the acquired sensor information, and transmits the encoded data of the compressed sensor information to the server 901. With this configuration, the client device 902 only needs to internally include a processing unit (device or LSI) that performs processing to decode the three-dimensional map (point cloud, etc.), and does not need to internally include a processing unit that performs processing to compress the three-dimensional data of the three-dimensional map (point cloud, etc.). This allows the cost and power consumption of the client device 902 to be reduced.

[0584] As described above, the client device 902 according to this embodiment is mounted on a mobile body and generates three-dimensional data 1034 of the surroundings of the mobile body from sensor information 1033 indicating the surrounding conditions of the mobile body, which is obtained by the sensor 1015 mounted on the mobile body. The client device 902 estimates the self-position of the mobile body using the generated three-dimensional data 1034. The client device 902 transmits the acquired sensor information 1033 to the server 901 or another mobile body 902.

[0585] According to this, the client device 902 transmits the sensor information 1033 to the server 901 or the like. This may reduce the amount of data to be transmitted compared to when transmitting three-dimensional data. Furthermore, since the client device 902 does not need to perform processing such as compression or encoding of the three-dimensional data, the amount of processing by the client device 902 can be reduced. Therefore, the client device 902 can reduce the amount of data to be transmitted or simplify the device configuration.

[0586] Furthermore, the client device 902 further transmits a request to the server 901 to send a three-dimensional map, and receives a three-dimensional map 1031 from the server 901. The client device 902 estimates its own location using the three-dimensional data 1034 and the three-dimensional map 1032.

[0587] The sensor information 1033 includes at least one of information obtained by a laser sensor, a luminance image, an infrared image, a depth image, sensor position information, and sensor speed information.

[0588] The sensor information 1033 also includes information indicating the performance of the sensor.

[0589] Furthermore, the client device 902 encodes or compresses the sensor information 1033, and transmits the encoded or compressed sensor information 1037 to the server 901 or another mobile body 902. This allows the client device 902 to reduce the amount of data to be transmitted.

[0590] For example, the client device 902 includes a processor and a memory, and the processor uses the memory to perform the above-described processing.

[0591] Furthermore, server 901 according to this embodiment is capable of communicating with client device 902 mounted on the mobile object, and receives sensor information 1037 indicating the surrounding conditions of the mobile object, obtained by sensor 1015 mounted on the mobile object, from client device 902. Server 901 creates three-dimensional data 1134 of the surroundings of the mobile object from the received sensor information 1037.

[0592] According to this, the server 901 creates three-dimensional data 1134 using the sensor information 1037 transmitted from the client device 902. This may reduce the amount of data to be transmitted compared to when the client device 902 transmits the three-dimensional data. Furthermore, since the client device 902 does not need to perform processing such as compression or encoding of the three-dimensional data, the amount of processing by the client device 902 can be reduced. Therefore, the server 901 can reduce the amount of data to be transmitted or simplify the device configuration.

[0593] Furthermore, the server 901 further transmits a request to the client device 902 to transmit the sensor information.

[0594] The server 901 also updates a three-dimensional map 1135 using the created three-dimensional data 1134 and transmits the three-dimensional map 1135 to the client device 902 in response to a request from the client device 902 to transmit the three-dimensional map 1135.

[0595] The sensor information 1037 includes at least one of information obtained by a laser sensor, a luminance image, an infrared image, a depth image, sensor position information, and sensor speed information.

[0596] The sensor information 1037 also includes information indicating the performance of the sensor.

[0597] Furthermore, the server 901 further corrects the three-dimensional data in accordance with the performance of the sensor, thereby enabling the three-dimensional data creation method to improve the quality of the three-dimensional data.

[0598] Furthermore, when receiving sensor information, the server 901 receives a plurality of pieces of sensor information 1037 from a plurality of client devices 902, and selects the sensor information 1037 to be used to create the three-dimensional data 1134 based on a plurality of pieces of information indicating the performance of the sensors included in the plurality of pieces of sensor information 1037. This allows the server 901 to improve the quality of the three-dimensional data 1134.

[0599] Furthermore, the server 901 decodes or decompresses the received sensor information 1037, and creates three-dimensional data 1134 from the decoded or decompressed sensor information 1132. This allows the server 901 to reduce the amount of data to be transmitted.

[0600] For example, the server 901 includes a processor and a memory, and the processor uses the memory to perform the above-described processing.

[0601] (Embodiment 8) In this embodiment, a modification of the seventh embodiment will be described. Fig. 54 is a diagram showing the configuration of a system according to this embodiment. The system shown in Fig. 54 includes a server 2001, a client device 2002A, and a client device 2002B.

[0602] Client device 2002A and client device 2002B are mounted on a moving body such as a vehicle, and transmit sensor information to server 2001. Server 2001 transmits a three-dimensional map (point cloud) to client device 2002A and client device 2002B.

[0603] The client device 2002A includes a sensor information acquisition unit 2011, a storage unit 2012, and a data transmission permission determination unit 2013. The client device 2002B has a similar configuration. In the following description, when there is no need to distinguish between the client device 2002A and the client device 2002B, they will also be referred to as the client device 2002.

[0604] FIG. 55 is a flowchart showing the operation of client device 2002 according to this embodiment.

[0605] The sensor information acquisition unit 2011 acquires various types of sensor information using a sensor (sensor group) mounted on the mobile object. That is, the sensor information acquisition unit 2011 acquires sensor information indicating the surrounding conditions of the mobile object, obtained by the sensor (sensor group) mounted on the mobile object. The sensor information acquisition unit 2011 also stores the acquired sensor information in the storage unit 2012. This sensor information includes at least one of LiDAR acquisition information, visible light images, infrared images, and depth images. The sensor information may also include at least one of sensor position information, speed information, acquisition time information, and acquisition location information. The sensor position information indicates the position of the sensor that acquired the sensor information. The speed information indicates the speed of the mobile object when the sensor acquired the sensor information. The acquisition time information indicates the time when the sensor information was acquired by the sensor. The acquisition location information indicates the position of the mobile object or the sensor when the sensor information was acquired by the sensor.

[0606] Next, the data transmission possibility determination unit 2013 determines whether the mobile object (client device 2002) is in an environment where it can transmit sensor information to the server 2001 (S2002). For example, the data transmission possibility determination unit 2013 may use information such as GPS to identify the location and time of the client device 2002 and determine whether data transmission is possible. Alternatively, the data transmission possibility determination unit 2013 may determine whether data transmission is possible based on whether connection to a specific access point is possible.

[0607] When the client device 2002 determines that the mobile object is in an environment where it can transmit sensor information to the server 2001 (Yes in S2002), the client device 2002 transmits the sensor information to the server 2001 (S2003). In other words, when the client device 2002 is in a situation where it can transmit the sensor information to the server 2001, the client device 2002 transmits the sensor information it holds to the server 2001. For example, a millimeter wave access point capable of high-speed communication is installed at an intersection or the like. When the client device 2002 enters the intersection, it uses millimeter wave communication to transmit the sensor information it holds to the server 2001 at high speed.

[0608] Next, the client device 2002 deletes the sensor information that has been transmitted to the server 2001 from the storage unit 2012 (S2004). Note that the client device 2002 may delete the sensor information that has not been transmitted to the server 2001 if the sensor information satisfies a predetermined condition. For example, the client device 2002 may delete the sensor information from the storage unit 2012 when the acquisition time of the stored sensor information becomes older than a predetermined time from the current time. That is, the client device 2002 may delete the sensor information from the storage unit 2012 when the difference between the time when the sensor information was acquired by the sensor and the current time exceeds a predetermined time. Furthermore, the client device 2002 may delete the sensor information from the storage unit 2012 when the acquisition location of the stored sensor information becomes more than a predetermined distance away from the current location. That is, the client device 2002 may delete the sensor information from the storage unit 2012 when the difference between the position of the mobile object or sensor when the sensor information was acquired by the sensor and the current position of the mobile object or sensor exceeds a predetermined distance. This makes it possible to reduce the capacity of the storage unit 2012 of the client device 2002 .

[0609] If the client device 2002 has not yet completed acquiring the sensor information (No in S2005), the client device 2002 repeats the processes from step S2001 onwards. If the client device 2002 has completed acquiring the sensor information (Yes in S2005), the client device 2002 ends the process.

[0610] Furthermore, the client device 2002 may select the sensor information to be transmitted to the server 2001 in accordance with the communication conditions. For example, when high-speed communication is possible, the client device 2002 transmits sensor information (e.g., LiDAR acquired information) having a large size stored in the storage unit 2012 with priority. When high-speed communication is difficult, the client device 2002 transmits sensor information (e.g., visible light images) having a small size stored in the storage unit 2012 with a high priority. This allows the client device 2002 to efficiently transmit the sensor information stored in the storage unit 2012 to the server 2001 in accordance with the network conditions.

[0611] Furthermore, the client device 2002 may acquire time information indicating the current time and location information indicating the current location from the server 2001. Furthermore, the client device 2002 may determine the acquisition time and acquisition location of the sensor information based on the acquired time information and location information. That is, the client device 2002 may acquire time information from the server 2001 and generate acquisition time information using the acquired time information. Furthermore, the client device 2002 may acquire location information from the server 2001 and generate acquisition location information using the acquired location information.

[0612] For example, with regard to time information, the server 2001 and the client device 2002 synchronize their time using a mechanism such as NTP (Network Time Protocol) or PTP (Precision Time Protocol). This allows the client device 2002 to acquire accurate time information. Furthermore, since time can be synchronized between the server 2001 and multiple client devices, the time in the sensor information acquired by different client devices 2002 can be synchronized. Therefore, the server 2001 can handle sensor information that indicates synchronized time. Note that the time synchronization mechanism may be any method other than NTP or PTP. Furthermore, GPS information may be used as the time information and location information.

[0613] The server 2001 may acquire sensor information from multiple client devices 2002 by specifying a time or a location. For example, when an accident occurs, the server 2001 broadcasts a sensor information transmission request to multiple client devices 2002 by specifying the time and location of the accident to search for clients who were nearby. Then, the client devices 2002 that have sensor information for the corresponding time and location transmit the sensor information to the server 2001. That is, the client device 2002 receives a sensor information transmission request from the server 2001, including designation information that designates the location and time. When the client device 2002 determines that the sensor information obtained at the location and time indicated by the designation information is stored in the memory unit 2012 and that a mobile object is in an environment where it can transmit sensor information to the server 2001, the client device 2002 transmits the sensor information obtained at the location and time indicated by the designation information to the server 2001. In this way, the server 2001 can acquire sensor information related to the occurrence of an accident from multiple client devices 2002 and use it for accident analysis, etc.

[0614] Note that the client device 2002 may refuse to transmit the sensor information when receiving a sensor information transmission request from the server 2001. Also, the client device 2002 may set in advance which of the multiple pieces of sensor information are transmittable. Alternatively, the server 2001 may inquire of the client device 2002 each time whether or not it is possible to transmit the sensor information.

[0615] In addition, points may be awarded to client device 2002 that transmits sensor information to server 2001. These points can be used to pay for, for example, gasoline purchases, EV (Electric Vehicle) charging fees, highway tolls, or rental car fees. After acquiring the sensor information, server 2001 may delete information for identifying client device 2002 that transmitted the sensor information. For example, this information may be information such as the network address of client device 2002. This allows the sensor information to be anonymized, so that the user of client device 2002 can transmit the sensor information from client device 2002 to server 2001 with peace of mind. In addition, server 2001 may be composed of multiple servers. For example, by sharing sensor information among multiple servers, even if one server fails, the other servers can communicate with client device 2002. This makes it possible to avoid service interruptions due to server failures.

[0616] Furthermore, the specified location specified in the sensor information transmission request indicates the location where an accident occurred, etc., and may differ from the location of the client device 2002 at the specified time specified in the sensor information transmission request. Therefore, the server 2001 can specify a range, such as within XX meters, as the specified location and request information acquisition from the client device 2002 that is located within that range. Similarly, for the specified time, the server 2001 may specify a range, such as within N seconds before and after a certain time. This allows the server 2001 to acquire sensor information from the client device 2002 that was located "at a location: within XX meters of absolute position S, from time: tN to t+N." When transmitting three-dimensional data such as LiDAR data, the client device 2002 may transmit data generated immediately after time t.

[0617] Furthermore, the server 2001 may separately specify, as the specified location, information indicating the location of the client device 2002 from which sensor information is to be acquired and the location from which the sensor information is desired. For example, the server 2001 specifies that sensor information covering at least a range of YYm from the absolute position S is to be acquired from the client device 2002 that is located within XXm of the absolute position S. When selecting three-dimensional data to transmit, the client device 2002 selects one or more randomly accessible units of three-dimensional data that include at least the sensor information in the specified range. Furthermore, when transmitting visible light images, the client device 2002 may transmit multiple temporally consecutive image data that include at least a frame immediately before or after time t.

[0618] When the client device 2002 can use multiple physical networks, such as 5G or WiFi, or multiple modes in 5G, to transmit sensor information, the client device 2002 may select a network to use according to the priority order notified by the server 2001. Alternatively, the client device 2002 itself may select a network that can ensure an appropriate bandwidth based on the size of the data to be transmitted. Alternatively, the client device 2002 may select a network to use based on the cost of transmitting data, etc. Furthermore, the transmission request from the server 2001 may include information indicating a transmission deadline, such as a request that the client device 2002 transmit if it can start transmission by time T. If the server 2001 is unable to acquire sufficient sensor information within the deadline, the server 2001 may issue a transmission request again.

[0619] The sensor information may include header information indicating characteristics of the sensor data along with compressed or uncompressed sensor data. The client device 2002 may transmit the header information to the server 2001 via a physical network or communication protocol different from that for transmitting the sensor data. For example, the client device 2002 transmits the header information to the server 2001 prior to transmitting the sensor data. The server 2001 determines whether to acquire the sensor data of the client device 2002 based on an analysis result of the header information. For example, the header information may include information indicating the point cloud acquisition density, elevation angle, or frame rate of the LiDAR, or the resolution, signal-to-noise ratio, or frame rate of the visible light image. This allows the server 2001 to acquire sensor information from the client device 2002 having sensor data of the determined quality.

[0620] As described above, client device 2002 is mounted on a mobile object, acquires sensor information indicating the surrounding conditions of the mobile object obtained by a sensor mounted on the mobile object, and stores the sensor information in storage unit 2012. Client device 2002 determines whether the mobile object is in an environment where it can transmit the sensor information to server 2001, and if it determines that the mobile object is in an environment where it can transmit the sensor information to the server, transmits the sensor information to server 2001.

[0621] Furthermore, the client device 2002 creates three-dimensional data of the surroundings of the mobile object from the sensor information, and estimates the mobile object's own position using the created three-dimensional data.

[0622] Furthermore, the client device 2002 further transmits a request to the server 2001 to send a three-dimensional map, and receives the three-dimensional map from the server 2001. The client device 2002 estimates its own location using the three-dimensional data and the three-dimensional map.

[0623] The above processing by the client device 2002 may be realized as an information transmission method in the client device 2002.

[0624] The client device 2002 may also include a processor and a memory, and the processor may use the memory to perform the above processing.

[0625] Next, a sensor information collection system according to this embodiment will be described. Fig. 56 is a diagram showing the configuration of the sensor information collection system according to this embodiment. As shown in Fig. 56, the sensor information collection system according to this embodiment includes a terminal 2021A, a terminal 2021B, a communication device 2022A, a communication device 2022B, a network 2023, a data collection server 2024, a map server 2025, and a client device 2026. When there is no particular need to distinguish between the terminal 2021A and the terminal 2021B, they are also referred to as terminal 2021. When there is no particular need to distinguish between the communication devices 2022A and 2022B, they are also referred to as communication device 2022.

[0626] The data collection server 2024 collects data such as sensor data obtained by a sensor provided in the terminal 2021 as position-related data associated with a position in three-dimensional space.

[0627] The sensor data is, for example, data acquired by using a sensor provided in the terminal 2021, such as the state of the surroundings of the terminal 2021 or the state of the inside of the terminal 2021. The terminal 2021 transmits to the data collection server 2024 sensor data collected from one or more sensor devices that are located in positions that can communicate directly with the terminal 2021 or that can communicate via one or more relay devices using the same communication method.

[0628] The data included in the location-related data may include, for example, information indicating the operating status of the terminal itself or a device included in the terminal, an operation log, a service usage status, etc. Furthermore, the data included in the location-related data may include information associating an identifier of the terminal 2021 with the location or movement route of the terminal 2021, etc.

[0629] The information indicating a position included in the position-related data is associated with information indicating a position in three-dimensional data such as three-dimensional map data, etc. The information indicating a position will be described in detail later.

[0630] The position-related data may include, in addition to position information indicating a position, at least one of the time information described above and information indicating the attributes of the data included in the position-related data or the type of sensor that generated the data (e.g., model number). The position information and time information may be stored in a header field of the position-related data or in a header field of a frame that stores the position-related data. Furthermore, the position information and time information may be transmitted and / or stored separately from the position-related data as metadata associated with the position-related data.

[0631] The map server 2025 is connected to, for example, the network 2023, and transmits three-dimensional data such as three-dimensional map data in response to requests from other devices such as the terminal 2021. As described in the above-mentioned embodiments, the map server 2025 may also have a function of updating the three-dimensional data using sensor information transmitted from the terminal 2021.

[0632] The data collection server 2024 is connected to the network 2023, for example, and collects location-related data from other devices such as the terminal 2021, and stores the collected location-related data in a storage device internally or in another server. The data collection server 2024 also transmits the collected location-related data or metadata of three-dimensional map data generated based on the location-related data to the terminal 2021 in response to a request from the terminal 2021.

[0633] The network 2023 is a communication network such as the Internet. The terminal 2021 is connected to the network 2023 via a communication device 2022. The communication device 2022 communicates with the terminal 2021 by using one communication method or by switching between multiple communication methods. The communication device 2022 is, for example, (1) a base station such as LTE (Long Term Evolution), (2) an access point (AP) such as WiFi or millimeter wave communication, (3) a gateway of an LPWA (Low Power Wide Area) network such as SIGFOX, LoRaWAN, or Wi-SUN, or (4) a communication satellite that communicates using a satellite communication method such as DVB-S2.

[0634] The base station may communicate with the terminal 2021 using a method classified as LPWA, such as NB-IoT (Narrow Band-IoT) or LTE-M, or may communicate with the terminal 2021 by switching between these methods.

[0635] Here, an example is given in which the terminal 2021 has a function for communicating with a communication device 2022 that uses two types of communication methods, and communicates with the map server 2025 or the data collection server 2024 using one of these communication methods, or by switching between these multiple communication methods and the communication device 2022 that is the direct communication partner; however, the configuration of the sensor information collection system and the terminal 2021 is not limited to this. For example, the terminal 2021 may not have a communication function for multiple communication methods, but may have a function for communicating using any one of the communication methods. Furthermore, the terminal 2021 may support three or more communication methods. Furthermore, each terminal 2021 may support a different communication method.

[0636] The terminal 2021 has, for example, the configuration of the client device 902 shown in Fig. 46. The terminal 2021 performs position estimation such as its own position using the received three-dimensional data. The terminal 2021 also generates position-related data by associating the sensor data acquired from the sensor with the position information obtained by the position estimation process.

[0637] The location information added to the location-related data indicates, for example, a location in a coordinate system used in three-dimensional data. For example, the location information is a coordinate value expressed as latitude and longitude values. In this case, the terminal 2021 may include, in the location information, information indicating the coordinate system that serves as the basis for the coordinate value, and the three-dimensional data used for location estimation, along with the coordinate value. The coordinate value may also include altitude information.

[0638] Furthermore, the position information may be associated with a data unit or a spatial unit that can be used to encode the three-dimensional data. Examples of such units include WLD, GOS, SPC, VLM, and VXL. In this case, the position information is expressed by an identifier for identifying a data unit, such as an SPC, that corresponds to the position-related data. The position information may also include, in addition to an identifier for identifying a data unit, such as an SPC, information indicating three-dimensional data obtained by encoding a three-dimensional space that includes the data unit, such as the SPC, or information indicating a detailed position within the SPC. The information indicating the three-dimensional data may be, for example, the file name of the three-dimensional data.

[0639] In this way, by generating location-related data associated with location information based on location estimation using three-dimensional data, the system can assign location information to the sensor information with higher accuracy than when location information based on the self-location of the client device (terminal 2021) acquired using GPS is added to the sensor information. As a result, even when the location-related data is used by another device for another service, it may be possible to more accurately identify the location corresponding to the location-related data in real space by performing location estimation based on the same three-dimensional data.

[0640] In the present embodiment, the data transmitted from the terminal 2021 is location-related data, but the data transmitted from the terminal 2021 may be data that is not associated with location information. That is, the transmission and reception of the three-dimensional data or sensor data described in other embodiments may be performed via the network 2023 described in the present embodiment.

[0641] Next, different examples of location information indicating a position in a three-dimensional or two-dimensional real space or map space will be described. The location information added to the location-related data may be information indicating a relative position with respect to a feature point in the three-dimensional data. Here, the feature point serving as the reference for the location information is, for example, a feature point encoded as SWLD and notified to the terminal 2021 as three-dimensional data.

[0642] The information indicating the relative position with respect to the feature point may be expressed as a vector from the feature point to the point indicated by the position information, and may indicate the direction and distance from the feature point to the point indicated by the position information. Alternatively, the information indicating the relative position with respect to the feature point may be information indicating the amount of displacement along each of the X-axis, Y-axis, and Z-axis from the feature point to the point indicated by the position information. Furthermore, the information indicating the relative position with respect to the feature point may be information indicating the distance from each of three or more feature points to the point indicated by the position information. Note that the relative position may not be the relative position of the point indicated by the position information expressed with each feature point as the reference, but may be the relative position of each feature point expressed with the point indicated by the position information as the reference. An example of the position information based on the relative position with respect to the feature point includes information for identifying the reference feature point and information indicating the relative position of the point indicated by the position information with respect to the feature point. Furthermore, when the information indicating the relative position with respect to the feature point is provided separately from the three-dimensional data, the information indicating the relative position with respect to the feature point may include the coordinate axes used to derive the relative position, information indicating the type of three-dimensional data, and / or information indicating the size per unit amount (e.g., scale) of the value of the information indicating the relative position.

[0643] Furthermore, the position information may include information indicating the relative positions of multiple feature points with respect to each feature point. When the position information is expressed as relative positions with respect to multiple feature points, the terminal 2021 attempting to identify the position indicated by the position information in real space may calculate candidate points for the position indicated by the position information from the positions of each feature point estimated from sensor data, and determine that the point obtained by averaging the calculated candidate points is the point indicated by the position information. This configuration reduces the influence of errors when estimating the positions of feature points from sensor data, thereby improving the estimation accuracy of the point indicated by the position information in real space. Furthermore, when the position information includes information indicating the relative positions with respect to multiple feature points, even if there is a feature point that cannot be detected due to limitations such as the type or performance of the sensor equipped in the terminal 2021, it is possible to estimate the value of the point indicated by the position information as long as any one of the multiple feature points can be detected.

[0644] Points that can be identified from sensor data can be used as feature points. Points that can be identified from sensor data are points or points within an area that satisfy a predetermined condition for feature point detection, such as the above-mentioned three-dimensional feature amount or feature amount of visible light data being equal to or greater than a threshold.

[0645] Markers placed in real space may also be used as feature points. In this case, the markers may be detected and their positions identified from data acquired using sensors such as LiDAR or cameras. For example, the markers may be represented by changes in color or brightness (reflectance), or by three-dimensional shapes (such as unevenness). Alternatively, coordinate values ​​indicating the position of the marker, or a two-dimensional code or barcode generated from the identifier of the marker, may be used.

[0646] Furthermore, a light source that transmits an optical signal may be used as a marker. When a light source of an optical signal is used as a marker, not only information for acquiring a position, such as coordinate values ​​or an identifier, but also other data may be transmitted by the optical signal. For example, the optical signal may include information indicating the content of a service corresponding to the position of the marker, an address such as a URL for acquiring the content, or an identifier of a wireless communication device for receiving the service, and a wireless communication method for connecting to the wireless communication device. Using an optical communication device (light source) as a marker facilitates the transmission of data other than information indicating a position, and enables dynamic switching of the data.

[0647] The terminal 2021 grasps the correspondence between feature points between different data by using, for example, an identifier commonly used between the data, or information or a table indicating the correspondence between feature points between the data. Furthermore, if there is no information indicating the correspondence between feature points, the terminal 2021 may determine that the feature points that are closest when the coordinates of a feature point in one of the three-dimensional data are converted to positions in the three-dimensional data space of the other are corresponding feature points.

[0648] When using the position information based on the relative positions described above, even between terminals 2021 or services that use different three-dimensional data, it is possible to identify or estimate the position indicated by the position information based on common feature points included in or associated with each piece of three-dimensional data. As a result, it is possible to identify or estimate the same position with higher accuracy between terminals 2021 or services that use different three-dimensional data.

[0649] Furthermore, even when using map data or three-dimensional data expressed using different coordinate systems, the effect of errors associated with coordinate system conversion can be reduced, enabling the integration of services based on more accurate location information.

[0650] Below, an example of a function provided by the data collection server 2024 will be described. The data collection server 2024 may transfer the received location-related data to another data server. If there are multiple data servers, the data collection server 2024 determines to which data server the received location-related data should be transferred, and transfers the location-related data to the data server determined as the transfer destination.

[0651] The data collection server 2024 determines the destination of transfer, for example, based on a determination rule for the destination server that is set in advance in the data collection server 2024. The determination rule for the destination server is set, for example, in a transfer destination table that associates an identifier associated with each terminal 2021 with a destination data server.

[0652] The terminal 2021 adds an identifier associated with the terminal 2021 to the location-related data to be transmitted, and transmits the data to the data collection server 2024. The data collection server 2024 identifies a destination data server corresponding to the identifier added to the location-related data based on a destination server determination rule using a destination table or the like, and transmits the location-related data to the identified data server. The destination server determination rule may be specified by a determination condition using the time or place at which the location-related data was acquired. Here, the identifier associated with the above-mentioned transmission source terminal 2021 is, for example, an identifier unique to each terminal 2021, or an identifier indicating a group to which the terminal 2021 belongs.

[0653] Furthermore, the transfer destination table does not necessarily have to directly associate an identifier associated with a source terminal with a destination data server. For example, the data collection server 2024 holds a management table storing tag information assigned to each unique identifier of the terminal 2021, and a transfer destination table associating the tag information with a destination data server. The data collection server 2024 may determine a destination data server based on the tag information using the management table and the transfer destination table. Here, the tag information is, for example, control information for management or control information for service provision assigned to the type, model number, owner, group to which the terminal 2021 corresponding to the identifier, or other identifier. Furthermore, the transfer destination table may use an identifier unique to each sensor instead of the identifier associated with the source terminal 2021. Furthermore, a rule for determining the destination server may be set from the client device 2026.

[0654] The data collection server 2024 may determine multiple data servers as transfer destinations and transfer the received location-related data to the multiple data servers. With this configuration, for example, when automatically backing up location-related data or when it is necessary to send location-related data to data servers that provide different services in order to share the location-related data, the intended data transfer can be achieved by changing the settings for the data collection server 2024. As a result, the number of steps required to build and change the system can be reduced compared to when the destination of location-related data is set in each individual terminal 2021.

[0655] In response to a transfer request signal received from a data server, the data collection server 2024 may register the data server specified in the transfer request signal as a new transfer destination, and transfer subsequently received location-related data to that data server.

[0656] The data collection server 2024 may store the location-related data received from the terminal 2021 in a recording device, and in response to a transmission request signal received from the terminal 2021 or the data server, may transmit the location-related data specified in the transmission request signal to the requesting terminal 2021 or data server.

[0657] The data collection server 2024 may determine whether or not it is possible to provide the location-related data to the requesting data server or terminal 2021, and if it is determined that it is possible to provide the location-related data, it may transfer or transmit the location-related data to the requesting data server or terminal 2021.

[0658] When a request for current location-related data is received from client device 2026, even if it is not the timing for terminal 2021 to transmit the location-related data, data collection server 2024 may request terminal 2021 to transmit the location-related data, and terminal 2021 may transmit the location-related data in response to the transmission request.

[0659] In the above explanation, it is assumed that the terminal 2021 transmits location information data to the data collection server 2024, but the data collection server 2024 may also have functions necessary for collecting location-related data from the terminal 2021, such as a function for managing the terminal 2021, or functions used when collecting location-related data from the terminal 2021.

[0660] The data collection server 2024 may have a function of transmitting a data request signal to the terminal 2021 to request the transmission of location information data, and collecting location-related data.

[0661] Management information such as an address for communicating with the terminal 2021 from which data is to be collected or an identifier unique to the terminal 2021 is registered in advance in the data collection server 2024. The data collection server 2024 collects location-related data from the terminal 2021 based on the registered management information. The management information may include information such as the type of sensor included in the terminal 2021, the number of sensors included in the terminal 2021, and the communication method supported by the terminal 2021.

[0662] The data collection server 2024 may collect information such as the operating status or current location of the terminal 2021 from the terminal 2021 .

[0663] The management information may be registered from the client device 2026, or the registration process may be initiated by the terminal 2021 sending a registration request to the data collection server 2024. The data collection server 2024 may have a function of controlling communication with the terminal 2021.

[0664] The communication between the data collection server 2024 and the terminal 2021 may be a dedicated line provided by a service provider such as an MNO (Mobile Network Operator) or an MVNO (Mobile Virtual Network Operator), or a virtual dedicated line configured by a VPN (Virtual Private Network). With this configuration, the communication between the terminal 2021 and the data collection server 2024 can be performed safely.

[0665] The data collection server 2024 may have a function of authenticating the terminal 2021 or a function of encrypting data transmitted and received between the terminal 2021. Here, the authentication process of the terminal 2021 or the encryption process of the data is performed using an identifier unique to the terminal 2021 or an identifier unique to a terminal group including multiple terminals 2021, which is shared in advance between the data collection server 2024 and the terminal 2021. This identifier is, for example, an International Mobile Subscriber Identity (IMSI), which is a unique number stored in a Subscriber Identity Module (SIM) card. The identifier used in the authentication process and the identifier used in the data encryption process may be the same or different.

[0666] The authentication or data encryption process between the data collection server 2024 and the terminal 2021 can be provided as long as both the data collection server 2024 and the terminal 2021 have the function of performing the process, and is not dependent on the communication method used by the relay communication device 2022. Therefore, a common authentication or encryption process can be used regardless of the communication method used by the terminal 2021, improving the convenience of system construction for users. However, being independent of the communication method used by the relay communication device 2022 means that it is not necessary to change the process depending on the communication method. In other words, for the purpose of improving transmission efficiency or ensuring security, the authentication or data encryption process between the data collection server 2024 and the terminal 2021 may be switched depending on the communication method used by the relay device.

[0667] The data collection server 2024 may provide the client device 2026 with a UI for managing data collection rules, such as the type of location-related data to be collected from the terminal 2021 and the data collection schedule. This allows the user to specify the terminal 2021 from which data is to be collected using the client device 2026, as well as the time and frequency of data collection. The data collection server 2024 may also specify an area on a map from which data is to be collected, and collect location-related data from the terminal 2021 included in that area.

[0668] When managing data collection rules for each terminal 2021, the client device 2026 presents, for example, a list of the terminals 2021 or sensors to be managed on a screen. The user sets whether or not data collection is necessary, the collection schedule, etc. for each item in the list.

[0669] When specifying an area on a map from which data is to be collected, the client device 2026 presents, for example, a two-dimensional or three-dimensional map of the area to be managed on the screen. The user selects the area from which data is to be collected on the displayed map. The area selected on the map may be a circular or rectangular area centered on a specified point on the map, or a circular or rectangular area that can be specified by dragging. The client device 2026 may also select the area in a predetermined unit, such as a city, an area within a city, a block, or a major road. Instead of specifying the area using a map, the area may be set by inputting latitude and longitude values, or the area may be selected from a list of candidate areas derived based on input text information. The text information may be, for example, the name of a region, city, or landmark.

[0670] Furthermore, the user may specify one or more terminals 2021 and set conditions such as a range of 100 meters around the terminal 2021, so that data may be collected while dynamically changing the specified area.

[0671] Furthermore, if the client device 2026 is equipped with a sensor such as a camera, an area on a map may be designated based on the position of the client device 2026 in real space obtained from sensor data. For example, the client device 2026 may estimate its own location using the sensor data and designate an area within a predetermined distance or a user-specified distance from a point on the map corresponding to the estimated location as an area from which data is to be collected. The client device 2026 may also designate the sensing area of ​​the sensor, i.e., an area corresponding to the acquired sensor data, as an area from which data is to be collected. Alternatively, the client device 2026 may designate an area based on a position corresponding to the user-specified sensor data as an area from which data is to be collected. The area on the map or the location corresponding to the sensor data may be estimated by the client device 2026 or the data collection server 2024.

[0672] When designating an area on a map, the data collection server 2024 may identify the terminals 2021 within the designated area by collecting current location information of each terminal 2021, and may request the identified terminals 2021 to transmit location-related data. Alternatively, instead of the data collection server 2024 identifying the terminals 2021 within the area, the data collection server 2024 may transmit information indicating the designated area to the terminal 2021, and the terminal 2021 may determine whether or not it is within the designated area, and transmit the location-related data if it is determined that it is within the designated area.

[0673] The data collection server 2024 transmits data such as a list or a map for providing the above-mentioned UI (User Interface) in an application executed by the client device 2026 to the client device 2026. The data collection server 2024 may transmit not only data such as a list or a map but also an application program to the client device 2026. The above-mentioned UI may be provided as content created in HTML or the like that can be displayed in a browser. Note that some data, such as map data, may be provided from a server other than the data collection server 2024, such as a map server 2025.

[0674] When the user inputs information to notify completion of input, such as by pressing a setting button, the client device 2026 transmits the input information as setting information to the data collection server 2024. Based on the setting information received from the client device 2026, the data collection server 2024 transmits a signal to each terminal 2021 requesting location-related data or notifying the rules for collecting location-related data, and collects the location-related data.

[0675] Next, an example will be described in which the operation of the terminal 2021 is controlled based on additional information added to three-dimensional or two-dimensional map data.

[0676] In this configuration, object information indicating the position of a power supply unit such as a wireless power supply antenna or power supply coil buried in a road or parking lot is included in or associated with the three-dimensional data and provided to a terminal 2021, such as a car or a drone.

[0677] When a vehicle or drone acquires the object information to charge, it automatically moves its own position so that the position of its charging unit, such as a charging antenna or charging coil, faces the area indicated by the object information, and begins charging. In the case of a vehicle or drone without an autonomous driving function, the direction to move or the operation to be performed is displayed on the screen or audio is used to inform the driver or pilot. When it is determined that the position of the charging unit calculated based on the estimated self-position is within the area indicated by the object information or within a predetermined distance from that area, the displayed image or audio is switched to one instructing the driver or pilot to stop driving or piloting, and charging begins.

[0678] Furthermore, the object information may not be information indicating the position of the power supply unit, but may be information indicating an area in which a charging efficiency equal to or greater than a predetermined threshold can be obtained when a charging unit is placed within the area. The position of the object information may be represented by a point at the center of the area indicated by the object information, or may be represented by an area or line in a two-dimensional plane, or an area, line, or plane in three-dimensional space.

[0679] This configuration makes it possible to grasp the position of the power feeding antenna, which cannot be grasped from the LiDAR sensing data or the video captured by the camera, and therefore it is possible to align the wireless charging antenna provided in the terminal 2021 such as a car with the wireless power feeding antenna buried in the road, etc. with higher accuracy. As a result, it is possible to shorten the charging speed during wireless charging and improve the charging efficiency.

[0680] The object information may be an object other than the power supply antenna. For example, the three-dimensional data includes the position of a millimeter-wave wireless communication AP as object information. This allows the terminal 2021 to know the position of the AP in advance, and therefore can start communication by directing the beam direction in the direction of the object information. As a result, it is possible to improve communication quality by improving transmission speed, shortening the time until communication starts, and extending the period during which communication is possible.

[0681] The object information may include information indicating the type of object corresponding to the object information. The object information may also include information indicating a process to be performed by the terminal 2021 when the terminal 2021 is within an area in real space corresponding to the position of the object information in the three-dimensional data, or within a predetermined distance from the area.

[0682] The object information may be provided from a server different from the server that provides the three-dimensional data. When the object information is provided separately from the three-dimensional data, object groups that store object information used in the same service may be provided as separate data depending on the type of target service or target device.

[0683] The three-dimensional data used in combination with the object information may be point cloud data of the WLD or feature point data of the SWLD.

[0684] Although the server and client device according to the embodiment of the present disclosure have been described above, the present disclosure is not limited to this embodiment.

[0685] Furthermore, each processing unit included in the server and client devices according to the above embodiments is typically realized as an LSI, which is an integrated circuit. These may be individually implemented as single chips, or some or all of them may be integrated into a single chip.

[0686] Furthermore, the integration is not limited to LSI, but may be realized by dedicated circuits or general-purpose processors. FPGAs (Field Programmable Gate Arrays), which can be programmed after LSI fabrication, or reconfigurable processors, which allow the connections and settings of circuit cells within LSIs to be reconfigured, may also be used.

[0687] In each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.

[0688] The present disclosure may also be realized as a three-dimensional data creation method executed by a server, a client device, or the like.

[0689] The division of functional blocks in the block diagram is an example, and multiple functional blocks may be realized as a single functional block, one functional block may be divided into multiple blocks, or some functions may be moved to another functional block.Furthermore, the functions of multiple functional blocks having similar functions may be processed in parallel or in time-sharing by a single piece of hardware or software.

[0690] The order in which the steps in the flowchart are executed is merely an example for specifically explaining the present disclosure, and other orders may be used. Some of the steps may be executed simultaneously (in parallel) with other steps.

[0691] While the server and client devices according to one or more aspects have been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as they do not deviate from the spirit of the present disclosure, various modifications conceivable by those skilled in the art to the present embodiments and configurations constructed by combining components of different embodiments may also be included within the scope of one or more aspects. [Industrial Applicability]

[0692] The present disclosure can be applied to client devices and the like. [Explanation of symbols]

[0693] 100, 400 3D data encoding device 101, 201, 401, 501 Acquisition Department 102, 402 Coding area determination unit 103 Split part 104, 644 encoder 111,607 3D data 112, 211, 413, 414, 511, 634 Encoded three-dimensional data 200, 500 Three-dimensional data decoding device 202 Decoding start GOS determination unit 203 Decoding SPC Determination Unit 204, 625 Decoding section 212, 512, 513 Decoded 3D data 403 SWLD extraction part 404 WLD encoder 405 SWLD encoder 411 Input 3D data 412 Extracted 3D data 502 Header Parser 503 WLD Decoding Unit 504 SWLD decoding unit 600 Vehicle 601 Peripheral vehicles 602, 605 Sensor detection range 603, 606 area 604 Occlusion Area 620, 620A 3D data creation device 621, 641 3D Data Creation Department 622 Request Range Determination Unit 623 Search Department 624, 642 Receiver 626 Synthesis Section 627 Detection area determination unit 628 Surrounding Condition Detection Unit 629 Autonomous Operation Control Unit 631, 651 Sensor information 632 First 3D Data 633 Request Scope Information 635 Second 3D Data 636 Third 3D Data 637 Request Signal 638 Send Data 639 Surrounding situation detection results 640, 640A 3D data transmission device 643 Extraction part 645 Transmitter 646 Transmission possibility determination unit 652 5th 3D data 654 6th 3D Data 700 Three-dimensional information processing device 701 3D map acquisition unit 702 Vehicle detection data acquisition unit 703 Abnormal Case Judgment Unit 704 Countermeasure action decision unit 705 Motion control section 711 3D Map 712 Vehicle detection 3D data 801 vehicles 802 Space 810 Three-dimensional data creation device 811 Data receiving unit 812, 819 Communications Department 813 Reception control section 814, 821 Format conversion unit 815 Sensors 816 3D Data Creation Department 817 3D Data Synthesis Department 818 Three-dimensional data storage unit 820 Transmission control section 822 Data transmission unit 831, 832, 834, 835, 836, 837 3D data 833 Sensor Information 901 Server 902, 902A, 902B, 902C Client devices 1011, 1111 Data receiving unit 1012, 1020, 1112, 1120 Communications Department 1013, 1113 Reception control section 1014, 1019, 1114, 1119 format conversion section 1015 Sensor 1016, 1116 3D Data Creation Department 1017 Three-dimensional image processing unit 1018, 1118 Three-dimensional data storage unit 1021, 1121 Transmission control section 1022, 1122 Data transmission unit 1031, 1032, 1135 3D Map 1033, 1037, 1132 Sensor information 1034, 1035, 1134 3D data 1117 3D Data Synthesis Department 1201 3D map compression / decoding processing unit 1202 Sensor information compression / decoding processing unit 1211 Three-dimensional map decoding processing unit 1212 Sensor information compression processing unit 2001 Server 2002, 2002A, 2002B client devices 2011 Sensor Information Acquisition Unit 2012 Memory Department 2013 Data transmission decision unit 2021, 2021A, 2021B devices 2022, 2022A, 2022B Communication equipment 2023 Network 2024 Data Collection Server 2025 Map Server 2026 Client Device

Claims

1. An information providing system that provides a three-dimensional map showing a situation in a three-dimensional space to a client device mounted on a mobile object, a map database that stores a first three-dimensional map in which space is hierarchically divided into geographical regions; a data generation unit that generates a second three-dimensional map that is configured from spatial elements that include feature amounts equal to or greater than a predetermined threshold value among a plurality of spatial elements included in the first three-dimensional map, and that has a data size smaller than that of the first three-dimensional map; a data transmission unit that receives a request from the client device, identifies either the first three-dimensional map or the second three-dimensional map based on request information included in the request, and transmits the identified first three-dimensional map or the identified second three-dimensional map to the client device as the three-dimensional map; Equipped with Information provision system.

2. The request information indicates at least one of the purpose of the three-dimensional map, the communication environment of the client device, and the moving speed of the mobile object.

2. The information providing system according to claim 1.

3. The client device transmits the request to the data transmission unit when (1) data of the geographical area of ​​the three-dimensional map used by the client device for self-location estimation is old, (2) a certain time has passed since the client device departed from the geographical route on which the client device is currently traveling, or (3) an error in positioning between the three-dimensional data generated by the client device and the received three-dimensional map is equal to or greater than a certain value.

2. The information providing system according to claim 1.

4. The first three-dimensional map stored in the map database is created by the server using a plurality of pieces of sensor information transmitted to the server from a plurality of sensors mounted on a plurality of moving bodies, and is automatically updated by the server in real time.

2. The information providing system according to claim 1.

5. the client device comprises a processor and a memory; The processor: storing the first three-dimensional map or the second three-dimensional map transmitted from the data transmission unit in the memory; performing at least one of self-location estimation, surrounding situation detection, and autonomous operation control using the stored first three-dimensional map or the second three-dimensional map; 2. The information providing system according to claim 1.

6. A client device mounted on a mobile object, a receiving unit that receives either a first three-dimensional map in which space is hierarchically divided into geographical area units, or a second three-dimensional map that is configured from spatial elements of the first three-dimensional map that include feature amounts equal to or greater than a predetermined threshold, and has a data size smaller than that of the first three-dimensional map; a processing unit that performs at least one of self-position estimation, surrounding situation detection, and autonomous operation control using the first three-dimensional map or the second three-dimensional map received by the receiving unit; a request unit that requests either the first 3D map or the second 3D map based on the at least one execution requirement of the self-location estimation, the surrounding situation detection, and the autonomous operation control; Equipped with Client device.

7. 1. A method for generating and updating a three-dimensional map showing a situation in a three-dimensional space, comprising: collecting, by the server, a plurality of pieces of sensor information transmitted from a plurality of sensors mounted on a plurality of moving bodies; creating, by the server, a first three-dimensional map in which space is hierarchically divided into geographical regions using the collected sensor information; automatically updating the created first three-dimensional map in real time by the server; generating, by the server, a second three-dimensional map that is composed of a plurality of spatial elements that include feature amounts equal to or greater than a predetermined threshold among a plurality of spatial elements included in the updated first three-dimensional map, and that has a smaller data size than the first three-dimensional map; transmitting the first 3D map or the second 3D map to a client device; Including, 3D map generation and update method.

Citation Information

Patent Citations

  • Information terminal device and route guiding method

    JP2001041759A

  • Three-dimensional map data and control device

    JP2018180359A

  • Laser scanner with real-time, online ego-motion estimation

    WO2018140701A1

  • Machine learning device and image recognition device

    WO2018179338A1

  • Map display device

    WO2014020663A1