Device and method for encoding a 3D map, computer-readable storage medium, and computer program

JP2026027280A5Pending Publication Date: 2026-03-16HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-10-22
Publication Date
2026-03-16

AI Technical Summary

Technical Problem

Existing 3D maps consume large amounts of bandwidth and time during transmission, limiting the performance and user experience in applications such as virtual reality, augmented reality, mixed reality, autonomous driving, and autonomous navigation.

Method used

A codec system is used to compress 3D map data, reducing it from the Terabyte (TB) level to the Gigabyte (GB) level, thereby improving transmission efficiency by transmitting compressed data instead of the original data.

Benefits of technology

The compression of 3D map data reduces bandwidth usage and enhances transmission efficiency, allowing for faster and more efficient data transfer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a device and a method for encoding a 3D map.SOLUTION: The apparatus for encoding a 3D map includes a compression module (51) and a transmission module (52). The compression module (51) is configured to compress the 3D map to obtain a 3D map bitstream. The 3D map includes a plurality of 3D map points, and the datum of the 3D map includes a datum of the plurality of 3D map points. The transmission module (52) transmits the bitstream of the 3D map.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to 3D map technology, and more particularly to an apparatus and method for encoding a 3D map. [Background technology]

[0002] Virtual reality (VR), augmented reality (AR), and mixed reality (MR) are emerging multimedia virtual scene technologies. Such technologies can be used to create a virtual reality and overlay it with the real world to generate new visual environments and interactive experiences. In such applications, electronic devices need to determine the pose information of the electronic device in the current environment and accurately implement the blending between virtual objects and the real scene.

[0003] Additionally, in applications such as autonomous driving, autonomous navigation, automated inspection of unmanned aerial vehicles, and industrial robotics, a transport device such as a vehicle, unmanned aerial vehicle, or robot needs to determine the pose of an electronic device transported by the transport device to determine the pose of the transport device in the current environment, thereby performing accurate route planning, navigation, detection, and control.

[0004] In the aforementioned application, for the problem that the pose of the electronic device in the current environment needs to be determined, a typical solution is as follows: the electronic device receives a 3D map of the environment in which the electronic device is located from a server or another device, collects visual information in the environment by using local sensors, and determines the current pose of the electronic device based on the collected visual information and the downloaded 3D map.

[0005] However, the original 3D map usually contains a large amount of data, and the transmission of the map needs to consume a large amount of bandwidth and time, which severely limits the performance of the application and affects the user experience. Summary of the Invention

[0006] The present application provides an apparatus and method for encoding a 3D map and reducing the amount of data in the 3D map, thereby reducing transmission bandwidth and improving transmission efficiency.

[0007] According to a first aspect, the present application provides a codec system for a 3D map, including an encoding device and a decoding device. The encoding device is communicatively connected to the decoding device. The encoding device is configured to compress data of a 3D map to obtain a bitstream of the 3D map and to transmit the bitstream of the 3D map to the decoding device, where the 3D map includes a plurality of 3D map points and the data of the 3D map includes data of the plurality of 3D map points. The decoding device is configured to receive the bitstream of the 3D map and decompress the bitstream of the 3D map to obtain the data of the 3D map.

[0008] A 3D map may include a plurality of 3D map points, and accordingly, the data for a 3D map may include data for a plurality of 3D map points, which are points of interest or prominent features in the environment.

[0009] In this embodiment of the present application, the compression module compresses the data of the 3D map to reduce the data amount of the 3D map, for example, to reduce the data amount of the 3D map from the Terabyte (TB) level to the Gigabyte (GB) level. Therefore, in a scenario where the 3D map needs to be transmitted, transmitting compressed data of the 3D map instead of transmitting the original data of the 3D map can reduce the data amount for transmission, further reducing the bandwidth occupied by the transmission, and thereby improving the transmission efficiency of the 3D map.

[0010] In a possible implementation, the encoding device is a cloud server and the decoding device is an electronic device; or the encoding device is a first electronic device and the decoding device is a second electronic device. The decoding device is further configured to send a 3D map download request to the decoding device, where the 3D map download request includes location indication information. The encoding device is further configured to receive the 3D map download request and transmit a bitstream of the 3D map corresponding to the location indication information to the decoding device according to the 3D map download request.

[0011] Said electronic device may be a user terminal device or an electronic device being carried on a carrying device.

[0012] In a possible implementation, the encoding device is an electronic device and the decoding device is a cloud server, and the encoding device is specifically configured to transmit the bitstream of the 3D map to the decoding device after the 3D map has been created.

[0013] Optionally, in this embodiment of the present application, the electronic device may collect visual information by using a sensor and determine the current pose of the electronic device by referring to the visual information and a 3D map from the server.

[0014] The 3D map is provided by a server. Specifically, the server creates a 3D map, then compresses the 3D map, and transmits the compressed data of the 3D map to the electronic device. After receiving the compressed data of the 3D map, the electronic device performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the collected visual information and the 3D map. The pose is information about the position and orientation of the electronic device, and may be an absolute pose in a world coordinate system or a relative pose to a point in the environment.

[0015] In this embodiment of the present application, the server can pre-create a 3D map, compress the 3D map, and then store the compressed data of the 3D map locally. In this way, storage space can be saved. In addition, the server can transmit the compressed data of the 3D map to another device, such as a cloud storage.

[0016] 1. The server creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0017] The server compresses the 3D map to save local storage space.

[0018] 2. The electronic device sends a map download request to the server. The map download request can be triggered in two ways.

[0019] (1) A user starts a map application installed on an electronic device, and the application uploads location information obtained based on GPS positioning or Wi-Fi positioning to a server corresponding to the application. The upload operation may trigger a map download request. Since the uploaded content includes location information, the server may perform a preliminary estimation based on the location information and transmit compressed data of a 3D map of the area to which the positioning point indicated by the location information belongs to the electronic device. The extent of the area to which the positioning point indicated by the location information belongs may be preset. For example, the area to which the positioning point belongs may be an administrative area of ​​any level (including a county, city, country, or administrative region) where the positioning point is located, or may be a circular area centered on the positioning point and using a specified distance as its radius.

[0020] (2) A user starts a map application installed on an electronic device and actively inputs or selects an area on the application. For example, the user actively inputs "xx business center" or selects "Street A" from a list of "Street A, Street B, and Street C." The user's aforementioned operation may trigger a map download request. Regardless of whether the user inputs or selects a geographic location, the server accordingly transmits compressed data of a 3D map of the geographic location to the electronic device.

[0021] It should be understood that in this embodiment of the present application, in addition to the above two methods, other methods may be used to trigger a map download request. For example, the electronic device automatically detects whether a condition for downloading a 3D map or starting a 3D map download is met, or the electronic device starts the 3D map download when detecting a change in ambient light or an environmental change, and requests the download of a 3D map of an area range from the server. The size of the area range is not specifically limited.

[0022] 3. The server sends the compressed data of the 3D map to the electronic device.

[0023] 4. Electronic devices collect visual information.

[0024] It should be noted that steps 3 and 4 are independent of each other and the sequence is not limited.

[0025] 5. The electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0026] 6. The electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0027] After receiving the compressed data of the 3D map, the electronic device does not need to immediately decompress the compressed data, but only needs to decompress the compressed data to obtain the reconstructed data of the 3D map before performing positioning based on visual information. For example, a user may download the compressed data of the 3D map of an area range in advance by downloading "offline mapping," and decompress the compressed data of the 3D map only when positioning is required.

[0028] Optionally, in this embodiment of the present application, the electronic device may collect visual information by using a sensor, and the server determines the current pose of the electronic device by referring to the visual information from the electronic device and the 3D map.

[0029] The 3D map is provided by a server. Specifically, the server creates the 3D map, then compresses the 3D map, and locally stores the compressed data of the 3D map. When receiving the visual information from the electronic device, the server performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the visual information and the 3D map.

[0030] 1. The server creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0031] 2. Electronic devices collect visual information.

[0032] 3. The electronic device transmits the visual information to the server.

[0033] 4. The server decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0034] It should be understood that the server saves storage space by compressing the 3D map.

[0035] 5. The server performs positioning in the 3D map based on the visual information and obtains the pose corresponding to the visual information.

[0036] 6. The server sends the pause to the electronic device.

[0037] Optionally, in this embodiment of the present application, the electronic device may collect visual information by using a sensor, and determine the current pose of the electronic device by referring to the visual information and the 3D map.

[0038] The 3D map is provided by the electronic device. Specifically, the electronic device creates the 3D map, then compresses the 3D map, and locally stores the compressed data of the 3D map. When visual information is collected, the electronic device performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the collected visual information and the 3D map.

[0039] 1. The electronic device creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0040] It should be appreciated that the electronic device saves storage space by compressing the 3D map.

[0041] 2. Electronic devices collect visual information by using sensors.

[0042] 3. The electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0043] 4. The electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0044] Optionally, in this embodiment of the present application, the second electronic device may collect visual information by using a sensor and determine the current pose of the second electronic device by referring to the visual information and a 3D map from the server.

[0045] The 3D map is created by a first electronic device. Specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to a server. The server then transmits the compressed data of the 3D map to a second electronic device. The second electronic device performs decompression to obtain reconstructed data of the 3D map and determines the current pose of the second electronic device by referring to the collected visual information and the 3D map.

[0046] In this embodiment of the present application, the first electronic device may pre-create a 3D map, compress the 3D map, and then transmit the compressed data of the 3D map to the server, thus reducing the transmission bandwidth.

[0047] 1. A first electronic device creates a 3D map and compresses the 3D map to obtain compressed data of the 3D map.

[0048] 2. The first electronic device sends compressed data of the 3D map to the server.

[0049] The first electronic device compresses the 3D map and then transmits the compressed data of the 3D map to reduce the transmission bandwidth and improve the transmission efficiency.

[0050] 3. The second electronic device sends a map download request to the server.

[0051] The second electronic device may send a map download request based on the trigger scheme shown in FIG. 4a.

[0052] 4. The server sends the compressed data of the 3D map to the second electronic device.

[0053] 5. The second electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0054] 6. The second electronic device collects visual information by using a sensor.

[0055] 7. The second electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0056] Optionally, in this embodiment of the present application, the second electronic device may collect visual information by using a sensor, and the server determines the current pose of the second electronic device by referring to the visual information from the second electronic device and the 3D map from the first electronic device.

[0057] The 3D map is created by the first electronic device. Specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to the server. The server performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the second electronic device by referring to the visual information from the second electronic device and the 3D map.

[0058] 1. A first electronic device creates a 3D map and compresses the 3D map to obtain compressed data of the 3D map.

[0059] 2. The first electronic device sends compressed data of the 3D map to the server.

[0060] 3. The second electronic device collects visual information by using a sensor.

[0061] 4. The second electronic device sends a positioning request to the server, where the positioning request carries the visual information.

[0062] 5. The server decompresses the compressed data of the 3D map to obtain the reconstructed data of the 3D map.

[0063] 6. The server performs positioning in the 3D map based on the visual information and obtains the pose corresponding to the visual information.

[0064] 7. The server transmits the pose obtained by positioning to the second electronic device.

[0065] Optionally, in this embodiment of the present application, the second electronic device may collect visual information by using a sensor and determine a current pose of the second electronic device by referring to the visual information and the 3D map from the first electronic device.

[0066] The 3D map is created by the first electronic device, specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to the second electronic device, which performs decompression to obtain reconstructed data of the 3D map and determines the current pose of the second electronic device by referring to the collected visual information and the 3D map from the first electronic device.

[0067] 1. A first electronic device creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0068] 2. The second electronic device sends a map download request to the first electronic device.

[0069] 3. The first electronic device transmits the compressed data of the 3D map to the second electronic device.

[0070] 4. The second electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0071] 5. The second electronic device collects visual information by using a sensor.

[0072] 6. The second electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0073] In a possible implementation, the data of the 3D map further includes a plurality of area descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points.

[0074] In the case of any one of the multiple region descriptors, the region descriptor may describe characteristics of some or all of the multiple 3D map points. In this case, the region descriptor and the 3D map point have a one-to-many relationship. Each characteristic of the multiple 3D map points may be described by some or all of the multiple region descriptors. In this case, the 3D map points and the region descriptor have a one-to-many relationship. It may be seen that the multiple region descriptors and the multiple 3D map points have a many-to-many relationship. Methods for generating region descriptors include, but are not limited to, traditional methods such as bag of words (BOW) and vector of locally aggregated descriptors (VLAD), as well as new methods based on NetVLAD or artificial intelligence (AI). Similarly, the multiple region descriptors may be identified by numbers to distinguish between the multiple region descriptors. Similarly, however, the numbers are not intended to limit the sequence of the multiple region descriptors.

[0075] In a possible implementation, the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location.

[0076] A 3D map point descriptor is a vector used to represent the local features of the corresponding 3D map point.

[0077] The 3D map point spatial position may be represented by using X, Y, and Z on three-dimensional spatial axes, or by using longitude, latitude, and altitude, or by using polar coordinates, and so on. The method of representing the 3D map point spatial position is not specifically limited in the embodiments of the present application. The 3D map point spatial position may be the absolute position of the 3D map point or the relative position of the 3D map point.

[0078] In a possible implementation, the encoding device is further configured to create the 3D map.

[0079] In a possible implementation, the decoding device is further configured to perform positioning based on the 3D map.

[0080] According to a second aspect, the present application provides an apparatus for encoding a 3D map, including a compression module and a transmission module, wherein the compression module is configured to compress data of a 3D map to obtain a bitstream of the 3D map, where the 3D map includes a plurality of 3D map points and the data of the 3D map includes data of the plurality of 3D map points, and the transmission module is configured to transmit the bitstream of the 3D map.

[0081] In this embodiment of the present application, the compression module may perform compression on the data of the 3D map to reduce the data amount of the 3D map. In a scenario where the 3D map needs to be transmitted, transmitting the compressed data of the 3D map instead of transmitting the original data of the 3D map may reduce the data amount for transmission, further reducing the bandwidth occupied by the transmission, thereby improving the transmission efficiency of the 3D map.

[0082] In this embodiment of the present application, compression may include at least one of compaction and prediction, and compaction may include at least one of quantization and binarization.

[0083] Quantization refers to mapping the data to be processed into one or more quantization indices, where each quantization indices corresponds to a quantization center. The number of bits in the quantization indices is usually significantly smaller than the number of bits in the original data, saving storage or transmission bandwidth. Quantization methods include, but are not limited to, scalar quantization, vector quantization, and product quantization.

[0084] Binarization refers to processing target data into a binary string represented by binary symbols. Binarization can be, for example, hashing. The principle of hashing is to map target data into a Hamming space (binary space) and generate a binary hash code. The number of bits in the hash code is usually significantly smaller than the number of bits in the original data, saving storage and transmission bandwidth. In addition, the calculation amount of the Hamming distance between hash codes is usually smaller than that of the Euclidean distance of the original data, thereby reducing calculation complexity. Hashing methods include, but are not limited to, iterative quantization (ITQ) hashing methods, locality sensitive hashing (LSH) methods, etc.

[0085] Prediction means performing prediction on the data to be processed by using processed data to obtain residual data of the data to be processed. Obviously, the amount of residual data is smaller than the amount of original data, thereby implementing data compression. The selection of reference data can be agreed upon in advance. For example, previously processed data is fixedly used as reference data, in which case the reference data does not need to be identified in the bitstream. In another example, any processed data can be used as reference data, in which case the identification information of the reference data needs to be written into the bitstream, including the number of reference data or other information that can be used to infer the reference data.

[0086] In the above description of the 3D map data, it can be seen that the sequence of the 3D map points included in the 3D map is meaningless. Therefore, when compression or encoding of the 3D map points is involved, the sequence of the 3D map points is not limited, i.e., the 3D map points can be compressed or encoded separately in any sequence.

[0087] According to the principle of prediction, when the similarity between the predicted data of the processing data and the processing data is relatively high, it is considered that the probability that the obtained residual data of the processing data is 0 is relatively high, so that the compression performance can be improved and the amount of data for encoding can be reduced. In this embodiment of the present application, the multiple processing data can be reordered before prediction to improve the correlation between adjacent processing data, thereby further reducing the amount of residual data. Optionally, one processing data can be predicted based on one or more processed data to obtain the residual data of the processing data; or multiple processing data can be predicted based on one or more processed data to obtain the residual data of the multiple processing data.

[0088] Additionally, compression may further include encapsulation, which encapsulates the data to be encoded into a bitstream. The encapsulation may use any encoding algorithm, such as entropy coding. Entropy coding is a lossless data compression method. Entropy coding algorithms include, but are not limited to, Huffman coding, arithmetic coding, improved compression / decompression algorithms based on the LZ77 compression algorithm (Lempel-Ziv-Markov chain algorithm, LZMA), and function library algorithms for data compression (zlib).

[0089] In a possible implementation, the 3D map data further includes a plurality of area descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points.

[0090] In a possible implementation, the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location.

[0091] In a possible implementation, the apparatus for encoding a 3D map is a cloud server or an electronic device, and the transmission module is further configured to: receive a 3D map download request, where the 3D map download request includes location indication information; and transmit a bitstream of the 3D map corresponding to the location indication information according to the 3D map download request.

[0092] In a possible implementation, the apparatus for encoding a 3D map is an electronic device, and the transmission module is specifically configured to transmit the bitstream of the 3D map after the 3D map has been created.

[0093] Several implementations of the compression module are as follows:

[0094] In a possible implementation, the compression module includes a compaction module and / or a prediction module, and an encapsulation module. The compaction module is configured to perform compaction on input first data and output compacted data of the first data. The prediction module is configured to perform prediction on input second data and output residual data of the second data. The encapsulation module is configured to process input third data and output the bitstream of the 3D map. The first data is the data of the 3D map, the second data is the data of the 3D map or the compacted data of the first data, and the third data is the compacted data of the first data or the residual data of the second data.

[0095] Optionally, the compression module includes only a compaction module or a prediction module and an encapsulation module.

[0096] Optionally, the compression module includes a compaction module, a prediction module, and an encapsulation module.

[0097] In a possible implementation, the compaction module includes a quantization module and / or a binarization module. The quantization module is configured to perform quantization on input fourth data and output quantized data of the fourth data. The binarization module is configured to perform binarization on input fifth data and output binary data of the fifth data. The fourth data is the data of the 3D map, and the fifth data is the data of the 3D map or the quantized data of the fourth data.

[0098] Optionally, the compaction module includes only a quantization module or a binarization module.

[0099] Optionally, the compaction module includes a quantization module and a binarization module.

[0100] In a possible implementation, the quantization module includes a first quantization module and a second quantization module, and / or the binarization module includes a first binarization module and a second binarization module, and the prediction module includes a first prediction module and a second prediction module. The first quantization module is configured to perform quantization on input sixth data and output quantized data of the sixth data. The first binarization module is configured to perform binarization on input seventh data and output binary data of the seventh data. The first prediction module is configured to perform prediction on input eighth data and output residual data of the eighth data. The sixth data is one of the plurality of region descriptors, the seventh data is one of the plurality of region descriptors or the quantized data of the sixth data, and the eighth data is one of the plurality of region descriptors, the quantized data of the sixth data, or the binary data of the seventh data. The second quantization module is configured to perform quantization on input ninth data and output quantized data of the ninth data. The second binarization module is configured to perform binarization on input tenth data and output binary data of the tenth data. The first prediction module is configured to perform prediction on input eleventh data and output residual data of the eleventh data. The ninth data is data of one of the plurality of 3D map points, the tenth data is data of one of the plurality of 3D map points or the quantized data of the ninth data, and the eleventh data is data of one of the plurality of 3D map points, the quantized data of the ninth data, or the binary data of the tenth data.

[0101] In a possible implementation, the quantization module includes a first quantization module, a second quantization module, and a third quantization module, and / or the binarization module includes a first binarization module, a second binarization module, and a third binarization module, and the prediction module includes a first prediction module, a second prediction module, and a third prediction module. The first quantization module is configured to perform quantization on input 12th data and output quantized data of the 12th data. The first binarization module is configured to perform binarization on input 13th data and output binary data of the 13th data. The first prediction module is configured to perform prediction on input 14th data and output residual data of the 14th data. The 12th data is one of the plurality of region descriptors, the 13th data is one of the plurality of region descriptors or the quantized data of the 12th data, and the 14th data is one of the plurality of region descriptors, the quantized data of the 12th data, or the binary data of the 13th data. The second quantization module is configured to perform quantization on input 15th data and output quantized data of the 15th data. The second binarization module is configured to perform binarization on input 16th data and output binary data of the 16th data. The second prediction module is configured to perform prediction on input 17th data and output residual data of the 17th data. The 15th data is a 3D map point descriptor of one of the plurality of 3D map points, the 16th data is a 3D map point descriptor of one of the plurality of 3D map points or the quantized data of the 15th data, and the 17th data is a 3D map point descriptor of one of the plurality of 3D map points, the quantized data of the 15th data, or the binary data of the 16th data. The third quantization module is configured to perform quantization on input 18th data and output quantized data of the 18th data.The third binarization module is configured to perform binarization on input 19th data and output binary data of the 19th data. The third prediction module is configured to perform prediction on input 20th data and output residual data of the 20th data. The 18th data is a spatial position of one of the plurality of 3D map points, the 19th data is a spatial position of one of the plurality of 3D map points or the quantized data of the 18th data, and the 20th data is a spatial position of one of the plurality of 3D map points, the quantized data of the 18th data, or the binary data of the 19th data.

[0102] In a possible implementation, the compression module includes a first compression sub-module and a second compression sub-module. The first compression sub-module is configured to compress input 21 data and output a bitstream of the 21 data. The second compression sub-module is configured to compress input 22 data and output a bitstream of the 22 data. The 21 data is one of the plurality of region descriptors, and the 22 data is data of one of the plurality of 3D map points.

[0103] In a possible implementation, the first compression sub-module includes a first compaction module and / or a first prediction module and a first encapsulation module; and the second compression sub-module includes a second compaction module and / or a second prediction module and a second encapsulation module. The first compaction module is configured to perform compaction on input 23rd data and output compacted data of the 23rd data. The first prediction module is configured to perform prediction on input 24th data and output residual data of the 24th data. The first encapsulation module is configured to process input 25th data and output a bitstream of the 25th data. The 23rd data is one of the plurality of region descriptors, the 24th data is one of the plurality of region descriptors or the compacted data of the 23rd data, and the 25th data is the compacted data of the 23rd data or the residual data of the 24th data. The second compaction module is configured to perform compaction on input 26th data and output compacted data of the 26th data. The second prediction module is configured to perform prediction on input 27th data and output residual data of the 27th data. The second encapsulation module is configured to process input 28th data and output a bitstream of the 28th data. The 26th data is data of one of the plurality of 3D map points, the 27th data is data of one of the plurality of 3D map points or the compacted data of the 26th data, and the 28th data is the compacted data of the 26th data or the residual data of the 27th data.

[0104] In a possible implementation, the first compaction module includes a first quantization module and / or a first binarization module; and the second compaction module includes a second quantization module and / or a second binarization module. The first quantization module is configured to perform quantization on input 29th data and output quantized data of the 29th data. The first binarization module is configured to perform binarization on input 30th data and output binary data of the 30th data. The 29th data is one of the plurality of region descriptors, and the 30th data is one of the plurality of region descriptors or the quantized data of the 29th data. The second quantization module is configured to perform quantization on input 31st data and output quantized data of the 31st data. The second binarization module is configured to perform binarization on input 32nd data and output binary data of the 32nd data. The 31st data is data of one of the plurality of 3D map points, and the 30th data is data of one of the plurality of 3D map points or the quantized data of the 31st data.

[0105] In a possible implementation, the compression module includes a first compression sub-module, a second compression sub-module, and a third compression sub-module. The first compression sub-module is configured to compress input 33rd data and output a bitstream of the 33rd data. The second compression sub-module is configured to compress input 34th data and output a bitstream of the 34th data. The third compression sub-module is configured to compress input 35th data and output a bitstream of the 35th data. The 33rd data is one of the plurality of region descriptors, the 34th data is a 3D map point descriptor of one of the plurality of 3D map points, and the 35th data is a 3D map point spatial location of one of the plurality of 3D map points.

[0106] In a possible implementation, the first compression sub-module includes a first compaction module and / or a first prediction module and a first encapsulation module; the second compression sub-module includes a second compaction module and / or a second prediction module and a second encapsulation module; and the third compression sub-module includes a third compaction module and / or a third prediction module and a third encapsulation module. The first compaction module is configured to perform compaction on input 36th data and output compacted data of the 36th data. The first prediction module is configured to perform prediction on input 37th data and obtain residual data of the 37th data. The first encapsulation module is configured to process input 38th data and obtain a bitstream of the 38th data. The 36th data is one of the plurality of region descriptors, the 37th data is one of the plurality of region descriptors or the compacted data of the 36th data, and the 38th data is the compacted data of the 36th data or the residual data of the 37th data. The second compaction module is configured to perform compaction on input 39th data and output compacted data of the 39th data. The second prediction module is configured to perform prediction on input 40th data and obtain residual data of the 40th data. The second encapsulation module is configured to process input 41st data and obtain a bitstream of the 41st data. The 39th data is a 3D map point descriptor of one of the plurality of 3D map points, the 40th data is a 3D map point descriptor of one of the plurality of 3D map points or the compacted data of the 39th data, and the 41st data is the compacted data of the 39th data or the residual data of the 40th data.The third compaction module is configured to perform compaction on input 42nd data and output compacted data of the 42nd data. The third prediction module is configured to perform prediction on input 43rd data and obtain residual data of the 43rd data. The third encapsulation module is configured to process input 44th data and obtain a bitstream of the 44th data. The 42nd data is a spatial location of one of the plurality of 3D map points, the 43rd data is a spatial location of one of the plurality of 3D map points or the compacted data of the 42nd data, and the 44th data is the compacted data of the 42nd data or the residual data of the 43rd data.

[0107] In a possible implementation, the first compaction module includes a first quantization module and / or a first binarization module; the second compaction module includes a second quantization module and / or a second binarization module; and the third compaction module includes a third quantization module and / or a third binarization module. The first quantization module is configured to perform quantization on input 45th data and output quantized data of the 45th data. The first binarization module is configured to perform binarization on input 46th data and output binary data of the 46th data. The 45th data is one of the plurality of region descriptors, and the 46th data is one of the plurality of region descriptors or the quantized data of the 45th data. The second quantization module is configured to perform quantization on input 47th data and output quantized data of the 47th data. The second binarization module is configured to perform binarization on input 48th data and output binary data of the 48th data. The 47th data is a 3D map point descriptor of one of the plurality of 3D map points, and the 48th data is a 3D map point descriptor of one of the plurality of 3D map points or the quantized data of the 47th data. The third quantization module is configured to perform quantization on input 49th data and output the quantized data of the 49th data. The third binarization module is configured to perform binarization on input 50th data and output binary data of the 50th data. The 49th data is a spatial position of one of the plurality of 3D map points, and the 50th data is the spatial position of one of the plurality of 3D map points or the quantized data of the 49th data.

[0108] According to a third aspect, the present application provides a method for encoding a 3D map, comprising the steps of processing data of a 3D map to obtain a bitstream of the 3D map, wherein the 3D map comprises a plurality of 3D map points, and the data of the 3D map comprises data of the plurality of 3D map points; and transmitting the bitstream of the 3D map. The present invention provides a method comprising:

[0109] In this embodiment of the present application, the compression module may perform compression on the data of the 3D map to reduce the data amount of the 3D map. In a scenario where the 3D map needs to be transmitted, transmitting the compressed data of the 3D map instead of transmitting the original data of the 3D map may reduce the data amount for transmission, further reducing the bandwidth occupied by the transmission, thereby improving the transmission efficiency of the 3D map.

[0110] In a possible implementation, the 3D map data further includes a plurality of area descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points.

[0111] In a possible implementation, the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location.

[0112] In a possible implementation, the method further comprises: receiving a 3D map download request, wherein the 3D map download request includes location indication information; transmitting a bitstream of the 3D map includes: transmitting a bitstream of the 3D map corresponding to the location indication information in accordance with the 3D map download request.

[0113] In a possible implementation, transmitting the bitstream of the 3D map comprises transmitting the bitstream of the 3D map after the 3D map is created.

[0114] In a possible implementation, processing the data of the 3D map to obtain a bitstream of the 3D map includes: performing compaction on first data to obtain compacted data of the first data, and / or performing prediction on second data to obtain residual data of the second data; and processing third data to obtain the bitstream of the 3D map, where the first data is the data of the 3D map, the second data is the data of the 3D map or the compacted data of the first data, and the third data is the compacted data of the first data or the residual data of the second data.

[0115] In a possible implementation, before the step of performing prediction on second data and obtaining residual data of the second data, the method further includes a step of reordering a plurality of the second data, and the step of performing prediction on second data and obtaining residual data of the second data includes a step of: performing prediction on at least a portion of the second data based on a result of the reordering, and obtaining residual data of the at least a portion of the second data.

[0116] In a possible implementation, performing compaction on first data to obtain compacted data of the first data includes: performing quantization on fourth data to obtain quantized data of the fourth data, and / or performing binarization on fifth data to obtain binary data of the fifth data, where the fourth data is the first data and the fifth data is the quantized data of the first data or the fourth data, and accordingly the compacted data of the first data includes the quantized data of the fourth data and / or the binary data of the fifth data.

[0117] According to a fourth aspect, the present application provides an apparatus for encoding a 3D map, the apparatus comprising: an encoder configured to compress data of a 3D map to obtain a 3D map obtained by compression and in a bitstream form, wherein the 3D map comprises a plurality of 3D map points, and the data of the 3D map comprises data of the plurality of 3D map points; and a memory configured to store the 3D map obtained by compression and in a bitstream form.

[0118] In this embodiment of the present application, the compression module may perform compression on the data of the 3D map to reduce the data amount of the 3D map. In a scenario where the 3D map needs to be stored, storing the 3D map obtained by compression and in bitstream form instead of storing the original data of the 3D map may reduce the data amount for transmission and further save storage space.

[0119] In a possible implementation, the 3D map data further includes a plurality of area descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points.

[0120] In a possible implementation, the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location.

[0121] In a possible implementation, the apparatus for encoding the 3D map is a cloud server or an electronic device.

[0122] According to a fifth aspect, the present application provides a computer-readable storage medium comprising a computer program, which, when run on a computer, enables the computer to perform a method according to any one of the implementations of the third aspect.

[0123] According to a sixth aspect, the present application provides a computer program, which, when run on a computer, enables the computer to carry out a method according to any one of the implementations of the third aspect.

[0124] According to a seventh aspect, the present application provides a non-transitory storage medium comprising a bitstream encoded according to the method according to the third aspect or any one of the implementations of the third aspect. [Brief explanation of the drawings]

[0125] [Figure 1] FIG. 1 is a schematic diagram of an application architecture according to an embodiment of the present application.

[0126] [Figure 2] 1 is a schematic diagram of the structure of an electronic device 20 according to an embodiment of the present application.

[0127] [Figure 3] 2 is a schematic diagram of the structure of a server 30 according to an embodiment of the present application.

[0128] [Figure 4a] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0129] [Figure 4b] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0130] [Figure 4c] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0131] [Figure 4d] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0132] [Figure 4e] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0133] [Figure 4f] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0134] [Figure 4g] 1 is a schematic diagram of a user interface displayed by an electronic device according to an embodiment of the present application;

[0135] [Figure 5] 1 is a diagram of the structure of a device 50 for encoding a 3D map according to an embodiment of the present application;

[0136] [Figure 6a] 6 is a diagram of the structure of a device 60-1 for encoding a 3D map according to an embodiment of the present application; FIG.

[0137] [Figure 6b] 6 is a diagram of the structure of a device 60-2 for encoding a 3D map according to an embodiment of the present application; FIG.

[0138] [Figure 6c] 6 is a diagram of the structure of a device 60-3 for encoding a 3D map according to an embodiment of the present application; FIG.

[0139] [Figure 6d] 6A-6C are diagrams of the structure of compaction modules 611-1 / 611-2 according to an embodiment of the present application.

[0140] [Figure 6e] 6 is a diagram of the structure of a device 60-4 for encoding a 3D map according to an embodiment of the present application; FIG.

[0141] [Figure 6f] 6 is a diagram of the structure of a device 60-5 for encoding a 3D map according to an embodiment of the present application; FIG.

[0142] [Figure 7a] 7 is a diagram of the structure of a device 70-1 for encoding a 3D map according to an embodiment of the present application; FIG.

[0143] [Figure 7b] FIG. 7 is a diagram of the structure of a device 70-2 for encoding a 3D map according to an embodiment of the present application.

[0144] [Figure 8a] 8 is a diagram of the structure of a device 80-1 for encoding a 3D map according to an embodiment of the present application; FIG.

[0145] [Figure 8b] 8 is a diagram of the structure of a device 80-2 for encoding a 3D map according to an embodiment of the present application; FIG.

[0146] [Figure 9] 9 is a flowchart of a process 900 of a method for encoding a 3D map according to an embodiment of the present application.

[0147] [Figure 10] 1 is a diagram of the structure of an apparatus 100 for encoding a 3D map according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0148] In order to clarify the objectives, technical solutions and advantages of the present application, the technical solutions in the present application will be specifically described below with reference to the accompanying drawings in the present application. Obviously, the described embodiments are only a part, not all, of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of the present application.

[0149] In the embodiments, claims, and accompanying drawings of the present specification, terms such as "first" and "second" are intended merely to distinguish and describe, and are not to be understood as designating or suggesting relative importance or order. In addition, the terms "include," "have," and any variations thereof are intended to cover non-exclusive inclusions, for example, the inclusion of a series of steps or units. A method, system, product, or device is not necessarily limited to the explicitly recited steps or units, but may include other steps or units that are not explicitly recited and are inherent to the process, method, product, or device.

[0150] In this application, it should be understood that "at least one (item)" means one or more, and "a plurality of" means two or more. The term "and / or" describes a correspondence between related objects and indicates that three relationships may exist. For example, "A and / or B" may indicate three cases: only A is present, only B is present, and both A and B are present. A and B may be singular or plural. The character " / " typically indicates an "or" relationship between related objects. "At least one of the following items" or similar expressions indicates any combination of items, including any combination of one of the items or any combination of more than one of the items. For example, at least one of a, b, or c may indicate a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural.

[0151] FIG. 1 is a schematic diagram of an application architecture according to an embodiment of the present application. As shown in FIG. 1, the application architecture includes multiple electronic devices and a server. The multiple electronic devices may include a first electronic device and one or more second electronic devices (two second electronic devices are used as an example in FIG. 1). The one or more second electronic devices are electronic devices other than the first electronic device. Communication may be performed between the multiple electronic devices and the server, and between the multiple electronic devices. For example, any device in the application architecture may communicate with another device via wireless fidelity (Wi-Fi) communication, Bluetooth® communication, or cellular second / third / fourth / fifth generation (2G / 3G / 4G / 5G) communication, etc. It should be understood that other communication methods, including future communication methods, may also be used between the server and the electronic devices. This specification does not particularly limit this. It should be noted that in this embodiment of the present application, "one or more second electronic devices" is used simply to represent electronic devices other than the first electronic device, but does not limit whether the types of the multiple electronic devices are the same.

[0152] The electronic device may be various types of devices provided with a camera and a display component. For example, the electronic device may be a terminal device such as a mobile phone, a tablet computer, a notebook computer, or a video recorder (a mobile phone is used as an example of an electronic device in FIG. 1 ). Alternatively, the electronic device may be a device used for interaction in a virtual scenario, including VR glasses, an AR device, and an MR interaction device. Alternatively, the electronic device may be a wearable electronic device such as a smart watch or a smart band. Alternatively, the electronic device may be a device carried in a transport device such as a vehicle, an unmanned vehicle, an unmanned aerial vehicle, or an industrial robot. The specific form of the electronic device is not particularly limited in the embodiments of the present application.

[0153] In addition, an electronic device may also be referred to as user equipment (UE), subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, terminal device, access terminal, mobile terminal, wireless terminal, smart terminal, remote terminal, handheld terminal, user agent, mobile client, client, or another suitable terminology.

[0154] The server may be one or more physical servers (one physical server is used as an example in FIG. 1), or may be a computer cluster, or may be a virtual machine or cloud server in a cloud computing scenario, and so on.

[0155] In this embodiment of the present application, a virtual scenario application (APP), such as a VR application, an AR application, or an MR application, can be installed on an electronic device, and the VR application, the AR application, or the MR application can be executed based on a user operation (e.g., tap, touch, slide, shake, or voice control). The electronic device can collect visual information of any object in the environment by using a sensor, and then display a virtual object on a display component based on the collected visual information. The virtual object can be a virtual object (i.e., an object in a virtual environment) in a VR scenario, an AR scenario, or an MR scenario.

[0156] In this embodiment of the present application, navigation, detection or control applications can be installed on the electronic device, and the corresponding applications are executed based on user operation and control or pre-set programs. The electronic device can execute applications such as route planning, object detection and transport device operation and control based on the pose and other status information of the electronic device in the current environment.

[0157] Visual information in embodiments of the present application includes, but is not limited to, image video collected by a camera (without depth information), image video collected by a depth sensor (with depth information), data collected by a LiDAR, and data collected by a millimeter wave radar (RaDAR).

[0158] It should be noted that in this embodiment of the present application, the virtual scenario application of the electronic device may be an application built into the electronic device, or may be an application provided by a third-party service provider and installed by the user, although this specification does not particularly limit this.

[0159] In this embodiment of the present application, a simultaneous localization and mapping (SLAM) system may be further configured for the electronic device. The SLAM system may create a map of a completely unknown environment and use the map to perform positioning, pose (location and pose) determination, navigation, etc. In this embodiment of the present application, the map created by the SLAM system is referred to as a SLAM map. The SLAM map may be understood as a map drawn by the SLAM system based on environmental information collected by a collection device. The collection device may include a visual information collection device and an inertial measurement unit (IMU) in the electronic device. The visual information collection device may include, for example, a camera, a depth camera, a lidar, and a millimeter-wave radar. The IMU may include, for example, sensors such as a gyroscope and an accelerometer.

[0160] In the present embodiment, the SLAM map is also referred to as a 3D map. Note that the 3D map includes, but is not limited to, the SLAM map, and may also include a three-dimensional map created by using another technique. This is not specifically limited in the present embodiment.

[0161] In a possible implementation, the 3D map may include a plurality of 3D map points, and accordingly, the data for the 3D map may include data for a plurality of 3D map points, which are points of interest or prominent features in the environment.

[0162] Possible methods for acquiring 3D map points include using multiple devices, such as lidar, aerial photography from the field of view of an unmanned aerial vehicle (tilt-and-shoot photography), high-resolution panoramic cameras, and high-resolution industrial cameras, to perform photography. From the data acquired by the photography by the above devices, 3D map points are extracted using methods such as directional features from accelerated segment test (FAST), rotated binary robust independent elementary features (BRIEF), oriented FAST and rotated BRIEF (ORB), scale invariant feature transform (SIFT) and speeded-up robust features (SURF), BRIEF, binary robust invariant scalable keypoints (BRISK), fast retina keypoints (FREAK), or repeatable and reliable detector and descriptor (R2D2).

[0163] The data of a 3D map point may include:

[0164] (1) 3D map point descriptor

[0165] A 3D map point descriptor is a vector used to represent the local features of a 3D map point. In the visual positioning algorithm, the 3D map point descriptor is used for matching between 3D map points. A possible method is: to calculate the distance (which can be Euclidean distance, dot product distance, or Hamming distance, etc.) between two 3D map point descriptors; and when the distance is smaller than a threshold, the two 3D map points are considered to match.

[0166] (2) 3D map point spatial location

[0167] The spatial position of a 3D map point may be represented by using X, Y, and Z on three-dimensional spatial axes, or by using longitude, latitude, and altitude, or by using polar coordinates, and so on. The method of representing the spatial position of a 3D map point is not specifically limited in the embodiments of the present application. The spatial position of a 3D map point may be the absolute position of the 3D map point or the relative position of the 3D map point. For example, the center position of the entire region is used as the origin, and all the spatial positions of the 3D map points are offset positions relative to the spatial position of the origin.

[0168] In an embodiment of the present application, each 3D map point may be assigned a number and written to the 3D map data, or the storage sequence of multiple 3D map points in memory may be used to implicitly indicate the number of the 3D map point. Note that the sequence of multiple 3D map points included in a 3D map is meaningless. Therefore, the numbers may be considered as identifiers used to identify the 3D map points to distinguish them. However, the numbers are not intended to limit the sequence of multiple 3D map points. For example, if a 3D map includes three 3D map points numbered 1, 2, and 3, respectively, the three 3D map points may be processed in the order 1, 2, and 3, or 3, 2, and 1, or 2, 1, and 3, etc.

[0169] In a possible implementation, the 3D map data further includes a plurality of region descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points. Specifically, for any one of the plurality of region descriptors, the region descriptor may describe characteristics of some or all of the plurality of 3D map points. In this case, the region descriptor and the 3D map point have a one-to-many relationship. The characteristics of each of the plurality of 3D map points may be described by some or all of the region descriptors of the plurality of region descriptors. In this case, the 3D map point and the region descriptor have a one-to-many relationship. It may be seen that the plurality of region descriptors and the plurality of 3D map points have a many-to-many relationship. Methods for generating region descriptors include, but are not limited to, traditional methods such as bag of words (BOW) and vector of locally aggregated descriptors (VLAD), as well as new methods based on NetVLAD or artificial intelligence (AI). Similarly, multiple region descriptors may be identified by numbers to distinguish between the multiple region descriptors, however, the numbers are not intended to limit the sequence of the multiple region descriptors.

[0170] In a possible implementation, the 3D map data further includes correspondences between 3D map points and area descriptors, which clearly describe which 3D map point any area descriptor corresponds to, and which area descriptor any 3D map point corresponds to.

[0171] Optionally, the aforementioned correspondence relationship can be explicitly described by using a correspondence table between the numbers of region descriptors and the numbers of 3D map points. For example, a 3D map includes three region descriptors whose numbers are T1 to T3 and six 3D map points whose numbers are P1 to P6. The correspondence table is shown in Table 1. [Table 1] [Table 1]

[0172] It should be noted that Table 1 is an example of a correspondence table between region descriptor numbers and 3D map point numbers. The correspondence table may alternatively be presented in another format or manner, which is not specifically limited in this application.

[0173] Optionally, the aforementioned correspondences may alternatively be implicitly described by using storage locations of region descriptors and 3D map points. For example, T1 is first stored in memory, then data of P1, P2, and P3 are stored; then T2 is stored, then data of P2 and P3 are stored; and finally T3 is stored, then data of P3, P4, P5, and P6 are stored.

[0174] FIG. 2 is a schematic diagram of the structure of an electronic device 20 according to an embodiment of the present application. As shown in FIG. 2, the electronic device 20 may be at least one of the first electronic device and one or more second electronic devices in the embodiment shown in FIG. 1. It should be understood that the structure shown in FIG. 2 does not constitute a specific limitation on the electronic device 20. In some other embodiments of the present application, the electronic device 20 may include more or fewer components than those shown in FIG. 2, combine some components, separate some components, or have a different component arrangement. The components shown in FIG. 2 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0175] The electronic device 20 may include a chip 21, a memory 22 (one or more computer-readable storage media), a user interface 23, a display component 24, a camera 25, sensors 26, a positioning module 27 configured to perform device positioning, and a transceiver 28 configured to perform communications. These components may communicate with each other by using one or more buses 29.

[0176] One or more processors 211, a clock module 212, and a power management module 213 may be integrated into the chip 21. The clock module 212 integrated into the chip 21 is mainly configured to provide the processor 211 with timers required for data transmission and timing control. The timers may implement the clock function of data transmission and timing control. The processor 211 may perform operations according to instruction operation codes and timing signals, and generate operation control signals to complete the control of instruction fetching and instruction execution. The power management module 213 integrated into the chip 21 is mainly configured to provide stable and highly accurate voltages to the chip 21 and other components of the electronic device 20.

[0177] The processor 211 may also be referred to as a central processing unit (CPU). The processor 211 may specifically include one or more processing units. For example, the processor 211 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, a neural-network processing unit (NPU), and / or the like. The different processing units may be separate components or may be integrated into one or more processors.

[0178] In possible implementations, the processor 211 may include one or more interfaces, which may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, a universal serial bus (USB) port, and / or the like.

[0179] The memory 22 may be connected to or coupled to the processor 211 via a bus 29 and configured to store various software programs and / or groups of instructions. The memory 22 may include high-speed random-access memory (e.g., cache) or non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 22 may store an operating system, such as an embedded operating system, such as Android®, Apple® Mobile Platform (iOS®), Microsoft® Windows Operating System (Windows®), or a UNIX®-based operating system (Linux®). The memory 22 may also store data, such as image data, point cloud data, 3D map data, pose data, coordinate system transformation information, and map update information. The memory 22 may also store computer-executable program code, such as instructions, such as communication program instructions and associated program instructions for a SLAM system. The memory 22 may further store one or more applications, such as a virtual scenario application (e.g., AR / VR / MR), a map application, an image management application, and a navigation and control application. The memory 22 may further store a user interface program. The user interface program may vividly display content of the application (e.g., virtual objects in a virtual scenario (e.g., AR / VR / MR)) using a graphical operation interface, present the content using the display component 24, and receive control operations performed by a user on the application using input controls such as menus, dialog boxes, or buttons.

[0180] The user interface 23 may be, for example, a touch panel that can detect an operation command executed by a user on the touch panel, or a keypad, physical buttons, or a mouse.

[0181] The electronic device 20 may include one or more display components 24. The electronic device 20 may implement display functions by using the display component 24, a graphics processing unit (GPU), an application processor (AP) within the chip 21, and the like. The GPU is a microprocessor for implementing image processing and is connected to the display component 24 and the application processor. The GPU performs mathematical and geometric calculations for graphics rendering. The display component 24 may display interface content output by the electronic device 20, such as images and videos in virtual scenarios such as AR / VR / MR. The interface content may include interfaces of running applications and system-level menus, and specifically may include the following interface elements: input interface elements such as buttons, text entry boxes, scrollbars, and menus; and output interface elements such as windows, labels, images, videos, and animations.

[0182] The display component 24 may be a display panel, lenses (e.g., VR glasses), a projection screen, or the like. The display panel may also be referred to as a display screen, and may be, for example, a touch screen, a flexible screen, a curved screen, or another optical component. It should be understood that the display screen of the electronic device in the embodiments of the present application may be a touch screen, a flexible screen, a curved screen, or a screen of another form. In other words, the display screen of the electronic device has the function of displaying images, and the specific material and shape of the display screen are not specifically limited.

[0183] For example, when display component 24 includes a display panel, the display panel may use a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLed, a MicroLed, a Micro-oLed, or a quantum dot light-emitting diode (QLED), etc. Additionally, in a possible implementation, a touch panel in user interface 23 may be coupled to the display panel in display component 24. For example, the touch panel may be disposed below the display panel, and the touch panel may be configured to detect touch pressure acting on the display panel when a user inputs a touch operation (e.g., a tap, a slide, or a touch) by using the display panel, and the display panel is configured to display content.

[0184] The camera 25 may be a monocular camera, a binocular camera, or a depth camera and is configured to capture images / video images by photographing / recording the environment. The images / video images collected by the camera 25 may be used as input data for a SLAM system, for example, or the images / video may be displayed using the display component 24.

[0185] In a possible implementation, the camera 25 may also be considered a sensor. The images collected by the camera 25 may be in IMG format or another format type, which is not specifically limited in the embodiments of the present application.

[0186] The sensor 26 may be configured to collect data regarding changes in the status of the electronic device 20 (e.g., rotation, swing, movement, or jitter). The data collected by the sensor 26 may be used as input data for the SLAM system. The sensor 26 may include one or more sensors, such as an inertial measurement unit (IMU) and a time-of-flight (TOF) sensor. The IMU may include sensors such as a gyroscope and an accelerometer. The gyroscope is configured to measure the angular velocity of the electronic device when the electronic device moves, and the accelerometer is configured to measure the acceleration of the electronic device when the electronic device moves. The TOF sensor may include an optical transmitter and an optical receiver. The optical transmitter is configured to emit light, such as laser light, infrared light, or radar waves, outward. The optical receiver is configured to detect reflected light, such as reflected laser light, infrared light, or radar waves.

[0187] It should be noted that the sensors 26 may further include many other sensors, such as inertial sensors, barometers, magnetometers, and wheel speedometers, which are not specifically limited in the embodiments of the present application.

[0188] The positioning module 27 is configured to implement physical positioning of the electronic device 20, for example, to obtain an initial position of the electronic device 20. The positioning module 27 may include one or more of a Wi-Fi positioning module, a Bluetooth positioning module, a base station positioning module, and a satellite positioning module. A global navigation satellite system (GNSS) may be disposed in the satellite positioning module to assist the positioning. The GNSS includes, but is not limited to, the BeiDou system, the global positioning system (GPS) system, the global navigation satellite system (GLONASS) system, and the Galileo navigation satellite system (Galileo) system.

[0189] The transceiver 28 is configured to implement communication between the electronic device 20 and another device (e.g., a server or another electronic device). The transceiver 28 integrates a transmitter and a receiver, which are configured to transmit and receive radio frequency signals, respectively. In a specific implementation, the transceiver 28 includes, but is not limited to, an antenna system, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec (CODEC) chip, a subscriber identity module (SIM) card, and a storage medium. In a possible implementation, the transceiver 28 may alternatively be implemented on a separate chip. The transceiver 28 supports at least one data network communication in at least one data network such as 2G / 3G / 4G / 5G, and / or supports at least one of the following short-range wireless communication methods: Bluetooth (BT) communication, wireless fidelity (Wi-Fi) communication, near-field communication (NFC), infrared (IR) wireless communication, ultra-wideband (UWB) communication, and ZigBee (registered trademark) (ZigBee) protocol communication.

[0190] In this embodiment of the present application, the processor 211 executes program code stored in the memory 22 to perform various functional applications and data processing of the electronic device 20 .

[0191] Fig. 3 is a schematic diagram of the structure of a server 30 according to an embodiment of the present application. As shown in Fig. 3, the server 30 may be the server in the embodiment shown in Fig. 1. The server 30 includes a processor 301, a memory 302 (one or more computer-readable storage media), and a transceiver 303. These components may communicate with each other by using one or more buses 304.

[0192] The processor 301 may be one or more CPUs. When the processor 301 is one CPU, the CPU may be a single-core CPU or a multi-core CPU.

[0193] The memory 302 may be connected to the processor 301 by a bus 304 or may be coupled to the processor 301 and configured to store various program codes and / or groups of instructions and data (e.g., map data and pose data). In a specific implementation, the memory 302 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or portable read-only memory (compact disc read-only memory (CD-ROM)).

[0194] The transceiver 303 mainly integrates a receiver and a transmitter, where the receiver is configured to receive data (e.g., requests or images) sent by the electronic device, and the transmitter is configured to send data (e.g., map data or pose data) to the electronic device.

[0195] It should be understood that the server 30 shown in Figure 3 is merely an example provided in this embodiment of the present application, and the server 30 may further include more components than those shown in the drawing, which is not specifically limited in this embodiment of the present application.

[0196] In this embodiment of the present application, the processor 301 executes program code stored in the memory 302 to perform various functional applications and data processing of the server 30 .

[0197] The term "coupling" as used in the present application means a direct connection or a connection through one or more intermediate components or circuits.

[0198] 4a is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in FIG. 4a, in the application scenario, an electronic device collects visual information by using a sensor, and determines a current pose of the electronic device by referring to the visual information and a 3D map from a server.

[0199] The 3D map is provided by a server. Specifically, the server creates a 3D map, then compresses the 3D map, and transmits the compressed data of the 3D map to the electronic device. After receiving the compressed data of the 3D map, the electronic device performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the collected visual information and the 3D map. The pose is position information of the electronic device, and may be an absolute pose in a world coordinate system or a relative pose to a point in the environment.

[0200] In this embodiment of the present application, the server can pre-create a 3D map, compress the 3D map, and then store the compressed data of the 3D map locally. In this way, storage space can be saved. In addition, the server can transmit the compressed data of the 3D map to another device, such as a cloud storage.

[0201] 1. The server creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0202] The server compresses the 3D map to save local storage space.

[0203] 2. The electronic device sends a map download request to the server. The map download request can be triggered in two ways.

[0204] (1) A user starts a map application installed on an electronic device, and the application uploads location information obtained based on GPS positioning or Wi-Fi positioning to a server corresponding to the application. The upload operation may trigger a map download request. Since the uploaded content includes location information, the server may perform a preliminary estimation based on the location information and transmit compressed data of a 3D map of the area to which the positioning point indicated by the location information belongs to the electronic device. The extent of the area to which the positioning point indicated by the location information belongs may be preset. For example, the area to which the positioning point belongs may be an administrative area of ​​any level (including a county, city, country, or administrative region) in which the positioning point is located, or may be a circular area centered on the positioning point and using a specified distance as its radius.

[0205] (2) A user starts a map application installed on an electronic device and actively inputs or selects an area on the application. For example, the user actively inputs "xx business center" or selects "Street A" from a list of "Street A, Street B, and Street C." The user's aforementioned operation may trigger a map download request. Regardless of whether the user inputs or selects a geographic location, the server accordingly transmits compressed data of a 3D map of the geographic location to the electronic device.

[0206] It should be understood that in this embodiment of the present application, in addition to the above two methods, other methods may be used to trigger a map download request. For example, the electronic device automatically detects whether a condition for downloading a 3D map or starting a 3D map download is met, or the electronic device starts the 3D map download when detecting a change in ambient light or an environmental change, and requests the download of a 3D map of an area range from the server. The size of the area range is not specifically limited.

[0207] 3. The server sends the compressed data of the 3D map to the electronic device.

[0208] 4. Electronic devices collect visual information.

[0209] It should be noted that steps 3 and 4 are independent of each other and the sequence is not limited.

[0210] 5. The electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0211] 6. The electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0212] After receiving the compressed data of the 3D map, the electronic device does not need to immediately decompress the compressed data, but only needs to decompress the compressed data to obtain the reconstructed data of the 3D map before performing positioning based on visual information. For example, a user may download the compressed data of the 3D map of an area range in advance by downloading "offline mapping," and decompress the compressed data of the 3D map only when positioning is required.

[0213] 4b is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in FIG. 4b, in the application scenario, the electronic device collects visual information by using a sensor, and the server determines the current pose of the electronic device by referring to the visual information from the electronic device and the 3D map.

[0214] The 3D map is provided by a server. Specifically, the server creates the 3D map, then compresses the 3D map, and locally stores the compressed data of the 3D map. When receiving the visual information from the electronic device, the server performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the visual information and the 3D map.

[0215] 1. The server creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0216] 2. Electronic devices collect visual information.

[0217] 3. The electronic device transmits the visual information to the server.

[0218] 4. The server decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0219] It should be understood that the server saves storage space by compressing the 3D map.

[0220] 5. The server performs positioning in the 3D map based on the visual information and obtains the pose corresponding to the visual information.

[0221] 6. The server sends the pause to the electronic device.

[0222] 4c is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in FIG. 4c, in the application scenario, an electronic device collects visual information by using a sensor, and determines a current pose of the electronic device by referring to the visual information and a 3D map.

[0223] The 3D map is provided by the electronic device. Specifically, the electronic device creates the 3D map, then compresses the 3D map, and locally stores the compressed data of the 3D map. When visual information is collected, the electronic device performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the electronic device by referring to the collected visual information and the 3D map.

[0224] 1. The electronic device creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0225] It should be appreciated that the electronic device saves storage space by compressing the 3D map.

[0226] 2. Electronic devices collect visual information by using sensors.

[0227] 3. The electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0228] 4. The electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0229] 4d is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in FIG. 4d, in the application scenario, the second electronic device collects visual information by using a sensor, and determines the current pose of the second electronic device by referring to the visual information and a 3D map from a server.

[0230] The 3D map is created by a first electronic device. Specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to a server. The server then transmits the compressed data of the 3D map to a second electronic device. The second electronic device performs decompression to obtain reconstructed data of the 3D map and determines the current pose of the second electronic device by referring to the collected visual information and the 3D map.

[0231] In this embodiment of the present application, the first electronic device may pre-create a 3D map, compress the 3D map, and then transmit the compressed data of the 3D map to the server, thus reducing the transmission bandwidth.

[0232] 1. A first electronic device creates a 3D map and compresses the 3D map to obtain compressed data of the 3D map.

[0233] 2. The first electronic device sends compressed data of the 3D map to the server.

[0234] The first electronic device compresses the 3D map and then transmits the compressed data of the 3D map to reduce the transmission bandwidth and improve the transmission efficiency.

[0235] 3. The second electronic device sends a map download request to the server.

[0236] The second electronic device may send a map download request based on the trigger scheme shown in FIG. 4a.

[0237] 4. The server sends the compressed data of the 3D map to the second electronic device.

[0238] 5. The second electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0239] 6. The second electronic device collects visual information by using a sensor.

[0240] 7. The second electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0241] 4e is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in FIG. 4c, in the application scenario, the second electronic device collects visual information by using a sensor, and the server determines the current pose of the second electronic device by referring to the visual information from the second electronic device and the 3D map from the first electronic device.

[0242] The 3D map is created by the first electronic device. Specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to the server. The server performs decompression to obtain reconstructed data of the 3D map, and determines the current pose of the second electronic device by referring to the visual information from the second electronic device and the 3D map.

[0243] 1. A first electronic device creates a 3D map and compresses the 3D map to obtain compressed data of the 3D map.

[0244] 2. The first electronic device sends compressed data of the 3D map to the server.

[0245] 3. The second electronic device collects visual information by using a sensor.

[0246] 4. The second electronic device sends a positioning request to the server, where the positioning request carries the visual information.

[0247] 5. The server decompresses the compressed data of the 3D map to obtain the reconstructed data of the 3D map.

[0248] 6. The server performs positioning in the 3D map based on the visual information and obtains the pose corresponding to the visual information.

[0249] 7. The server transmits the pose obtained by positioning to the second electronic device.

[0250] Fig. 4f is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in Fig. 4d, in the application scenario, the second electronic device collects visual information by using a sensor, and determines a current pose of the second electronic device by referring to the visual information and the 3D map from the first electronic device.

[0251] The 3D map is created by the first electronic device, specifically, the first electronic device creates the 3D map, compresses the 3D map, and then transmits the compressed data of the 3D map to the second electronic device, which performs decompression to obtain reconstructed data of the 3D map and determines the current pose of the second electronic device by referring to the collected visual information and the 3D map from the first electronic device.

[0252] 1. A first electronic device creates a 3D map, compresses the 3D map to obtain compressed data of the 3D map, and stores the compressed data locally.

[0253] 2. The second electronic device sends a map download request to the first electronic device.

[0254] 3. The first electronic device transmits the compressed data of the 3D map to the second electronic device.

[0255] 4. The second electronic device decompresses the compressed data of the 3D map to obtain reconstructed data of the 3D map.

[0256] 5. The second electronic device collects visual information by using a sensor.

[0257] 6. The second electronic device performs positioning in the 3D map based on the visual information and obtains a pose corresponding to the visual information.

[0258] The positioning algorithm used in the embodiment shown in Figures 4a to 4f may include:

[0259] (1) A region descriptor of the acquisition object is extracted from visual information, where the algorithm used to extract the region descriptor of the acquisition object is consistent with the algorithm for extracting the region descriptor from the 3D map.

[0260] (2) The 3D map points to be acquired are extracted from the visual information, and the spatial positions of the 3D map points to be acquired and the 3D map point descriptors to be acquired are obtained, where the algorithm for extracting the 3D map point descriptors to be acquired is the same as the algorithm for extracting the 3D map point descriptors from the 3D map.

[0261] (3) The acquisition is performed on a plurality of region descriptors included in the 3D map data based on the region descriptor to be acquired, to acquire a plurality of candidate region descriptors.

[0262] In an embodiment of the present application, the distance between the region descriptor of the acquisition target and each region descriptor in the plurality of region descriptors may be calculated. The distance may include Hamming distance, Manhattan distance, Euclidean distance, etc. Then, at least one region descriptor that satisfies a condition (e.g., the distance is smaller than a threshold) is selected as a candidate region descriptor.

[0263] (4) Matching is performed separately between the target 3D map point descriptor and the 3D map point descriptors corresponding to the multiple candidate region descriptors, and the similarity between the target 3D map point descriptor and the 3D map point descriptors corresponding to the multiple candidate region descriptors is calculated separately to find the most similar 3D map point.

[0264] (5) The pose of the electronic device is calculated based on the discovered 3D map points by using pose solving algorithms such as perspective-n-point (PnP) camera pose estimation and efficient perspective-n-point camera pose estimation (EPnP).

[0265] The embodiments shown in Figures 4a to 4f all relate to the compression of 3D maps. The embodiments of the present application provide a multi-device framework for performing such compression. The multi-device framework is described below.

[0266] In any one of the application scenarios in FIGS. 4a to 4f, positioning is performed based on the 3D map in the embodiment of the present application to obtain the current pose of the electronic device. The pose may be applied to fields such as AR navigation, AR human-computer interaction, assisted driving, and autonomous driving. For example, pose-based AR navigation is used as an example. FIG. 4g is a schematic diagram of a user interface displayed by an electronic device in accordance with the embodiment of the present application. The electronic device may display the user interface shown in FIG. 4g based on the pose. The user interface may include navigation arrow instructions for navigation to conference room 2, and the navigation arrow instructions toward conference room 2 may be a virtual object obtained from a server based on the pose or obtained locally based on the pose. The user interface may further include visual information collected by a sensor, such as the building shown in FIG. 4g. The user goes to conference room 2 by referring to the user interface of the electronic device shown in FIG. 4g.

[0267] It should be noted that the reconstructed data of the 3D map obtained by decompression in the embodiments of the present application may also be referred to as reconstructed data of the 3D map.

[0268] Fig. 5 is a diagram of the structure of an apparatus 50 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 5, the encoding apparatus 50 may be used in a server or an electronic device in the aforementioned embodiments, in particular in a device that needs to compress and transmit a 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0269] The apparatus 50 for encoding a 3D map in this embodiment of the present application includes a compression module 51 and a transmission module 52. The compression module 51 is configured to compress data to be encoded of a 3D map to obtain a bitstream of the 3D map, where the 3D map includes a plurality of 3D map points and the data of the 3D map includes data of the plurality of 3D map points. The transmission module 52 is configured to transmit the bitstream of the 3D map. It can be seen that the input data of the compression module 51 is the data of the 3D map, the output data is the bitstream of the 3D map, and the data transmitted by the transmission module 52 is the bitstream of the 3D map output by the compression module 51.

[0270] The compression module 51 may perform compression on the data of the 3D map to reduce the data amount of the 3D map. In a scenario where the 3D map needs to be transmitted, transmitting compressed data of the 3D map instead of transmitting the original data of the 3D map may reduce the data amount for transmission, for example, compress the data amount from TB level to GB level, further reducing the bandwidth occupied by the transmission, thereby improving the transmission efficiency of the 3D map.

[0271] It is noted that in this embodiment of the present application, compression may include at least one of compaction and prediction, and compaction may include at least one of quantization and binarization.

[0272] Quantization refers to mapping the data to be processed into one or more quantization indices, where each quantization indices corresponds to a quantization center. The number of bits in the quantization indices is usually significantly smaller than the number of bits in the original data, saving storage or transmission bandwidth. Quantization methods include, but are not limited to, scalar quantization, vector quantization, and product quantization.

[0273] Binarization refers to processing target data into a binary string represented by binary symbols. Binarization can be, for example, hashing. The principle of hashing is to map target data into a Hamming space (binary space) and generate a binary hash code. The number of bits in the hash code is usually significantly smaller than the number of bits in the original data, saving storage and transmission bandwidth. In addition, the calculation amount of the Hamming distance between hash codes is usually smaller than that of the Euclidean distance of the original data, thereby reducing calculation complexity. Hashing methods include, but are not limited to, iterative quantization (ITQ) hashing methods, locality sensitive hashing (LSH) methods, etc.

[0274] Prediction means performing prediction on the data to be processed by using processed data to obtain residual data of the data to be processed. Obviously, the amount of residual data is smaller than the amount of original data, thereby implementing data compression. The selection of reference data can be agreed upon in advance. For example, previously processed data is fixedly used as reference data, in which case the reference data does not need to be identified in the bitstream. In another example, any processed data can be used as reference data, in which case the identification information of the reference data needs to be written into the bitstream, including the number of reference data or other information that can be used to infer the reference data.

[0275] In the above description of the 3D map data, it can be seen that the sequence of the 3D map points included in the 3D map is meaningless. Therefore, when compression or encoding of the 3D map points is involved, the sequence of the 3D map points is not limited, i.e., the 3D map points can be compressed or encoded separately in any sequence.

[0276] According to the principle of prediction, when the similarity between the predicted data of the processing data and the processing data is relatively high, it is considered that the probability that the obtained residual data of the processing data is 0 is relatively high, so that the compression performance can be improved and the amount of data for encoding can be reduced. In this embodiment of the present application, the multiple processing data can be reordered before prediction to improve the correlation between adjacent processing data, thereby further reducing the amount of residual data. Optionally, one processing data can be predicted based on one or more processed data to obtain the residual data of the processing data; or multiple processing data can be predicted based on one or more processed data to obtain the residual data of the multiple processing data.

[0277] Additionally, compression may further include encapsulation, which encapsulates the data to be encoded into a bitstream. The encapsulation may use any encoding algorithm, such as entropy coding. Entropy coding is a lossless data compression method. Entropy coding algorithms include, but are not limited to, Huffman coding, arithmetic coding, improved compression / decompression algorithms based on the LZ77 compression algorithm (Lempel-Ziv-Markov chain algorithm, LZMA), and function library algorithms for data compression (zlib).

[0278] Based on the embodiment shown in FIG. 5, the embodiments of the present application provide examples of multiple implementable structures of the compression module, and the following embodiments are used for illustration.

[0279] In a possible implementation, Fig. 6a is a diagram of the structure of an apparatus 60-1 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 6a, the encoding apparatus 60-1 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0280] 5, in this embodiment of the present application, the encoding device 60-1 includes a compression module 61-1 and a transmission module 62-1, and the compression module 61-1 includes a compaction module 611-1 and an encapsulation module 613-1. Details are as follows:

[0281] The compaction module 611-1 is configured to perform compaction on the input first data and output compacted data of the first data, and the encapsulation module 613-1 is configured to process the input third data and output a bitstream of the 3D map.

[0282] The first data is data of the 3D map, and the third data is compacted data of the first data. It can be seen that the input data of the compaction module 611-1 is data of the 3D map, and the output data is the compacted data obtained by the compaction; and the input data of the encapsulation module 613-1 is the compacted data output by the compaction module 611-1, and the output of the encapsulation module 613-1 is a bitstream of the 3D map obtained based on the compacted data.

[0283] In a possible implementation, Fig. 6b is a diagram of the structure of an apparatus 60-2 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 6b, the encoding apparatus 60-2 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0284] 5, in this embodiment of the present application, the encoding device 60-2 includes a compression module 61-2 and a transmission module 62-2, and the compression module 61-2 includes a prediction module 612-1 and an encapsulation module 613-2.

[0285] The prediction module 612-1 is configured to perform prediction on the input second data and output residual data of the second data, and the encapsulation module 613-2 is configured to process the input third data and output a bitstream of a 3D map. Optionally, the prediction module 612-1 is further configured to reorder the plurality of second data to be processed. It should be noted that the reordering is an optional function of the prediction module 612-1, i.e., the prediction module 612-1 may directly perform prediction on each of the plurality of second data that have been randomly sorted, or the prediction module 612-1 may first perform reordering on the plurality of second data that have been randomly sorted, and then perform prediction on each of the plurality of second data based on the result of the reordering.

[0286] The second data is data of the 3D map, and the third data is residual data of the second data. It can be seen that the input data of the prediction module 612-1 is data of the 3D map, and the output data is residual data obtained by prediction; and the input data of the encapsulation module 613-2 is the residual data output by the prediction module 612-1, and the output of the encapsulation module 613-2 is a bitstream of the 3D map obtained based on the residual data.

[0287] In a possible implementation, Fig. 6c is a diagram of the structure of an apparatus 60-3 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 6c, the encoding apparatus 60-3 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0288] 5, in this embodiment of the present application, the encoding device 60-3 includes a compression module 61-3 and a transmission module 62-3, and the compression module 61-3 includes a compaction module 611-2, a prediction module 612-2 and an encapsulation module 613-3. Details are as follows:

[0289] The compaction module 611-2 is configured to perform compaction on the input first data and output compacted data of the first data; the prediction module 612-2 is configured to perform prediction on the input second data and output residual data of the second data; and the encapsulation module 613-3 is configured to process the input third data and output a bitstream of a 3D map.

[0290] The first data is data of the 3D map, the second data is compacted data of the first data, and the third data is residual data of the second data. It can be seen that the input data of the compaction module 611-2 is data of the 3D map, and the output data is compacted data obtained by compaction; the input data of the prediction module 612-2 is the compacted data output by the compaction module 611-2, and the output data is residual data obtained by prediction; and the input data of the encapsulation module 613-3 is the residual data output by the prediction module 612-2, and the output of the encapsulation module 613-3 is a bitstream of the 3D map obtained based on the residual data.

[0291] In this embodiment of the present application, based on the embodiment shown in FIG. 6a or FIG. 6c, the compaction module 611-1 / 611-2 may include a quantization module and / or a binarization module.

[0292] In a possible implementation, Fig. 6d is a structural diagram of the compaction module 611-1 / 611-2 according to an embodiment of the present application. As shown in Fig. 6d, the compaction module 611-1 / 611-2 includes a quantization module 6111 and / or a binarization module 6112. The quantization module 6111 is configured to perform quantization on the input data to obtain quantized data of the input data, and the binarization module 6112 is configured to perform binarization on the input data to obtain binary data of the input data.

[0293] Optionally, the compaction module 611-1 / 611-2 may include only the quantization module 6111. In this case, the input data of the quantization module 6111 may be the input data of the compaction module 611-1 / 611-2, for example, the data of the 3D map. Accordingly, the output data of the quantization module 6111 (i.e., the output data of the compaction module 611-1 / 611-2) is the quantized data of the 3D map.

[0294] Optionally, compaction module 611-1 / 611-2 may include only binarization module 6112. In this case, input data of binarization module 6112 may be input data of compaction module 611-1 / 611-2, for example, data of a 3D map. Accordingly, output data of binarization module 6112 (i.e., output data of compaction module 611-1 / 611-2) is binary data of the 3D map.

[0295] Optionally, the compaction module 611-1 / 611-2 includes a quantization module 6111 and a binarization module 6112. In this case, the input data of the quantization module 6111 may be the input data of the compaction module 611-1 / 611-2, for example, the data of the 3D map. The input data of the binarization module 6112 may also be the input data of the compaction module 611-1 / 611-2, in which case, the output data of the compaction module 611-1 / 611-2 includes quantized data and binary data of the 3D map. Alternatively, the input data of the quantization module 6111 may be the input data of the compaction module 611-1 / 611-2, for example, the data of the 3D map. The input data of the binarization module 6112 may be the output data of the quantization module 6111, i.e., the quantized data of the 3D map. In this case, the output data of the compaction module 611-1 / 611-2 is the binary data of the 3D map.

[0296] According to the above description of the 3D map data, the 3D map data may include a plurality of region descriptors and a plurality of 3D map point data. Therefore, in the embodiment shown in Figures 6a to 6d, another module in the compression module, different from the encapsulation module, may be divided into a first module configured to process the region descriptors and a second module configured to process the 3D map point data. For example, the compaction module may include a first compaction module and a second compaction module, the prediction module may include a first prediction module and a second prediction module, the quantization module may include a first quantization module and a second quantization module, and the binarization module may include a first binarization module and a second binarization module. The difference between the first module and the second module obtained after division from the above embodiment lies in that the input data of the first module and the input data of the second module correspond to the region descriptors and the 3D map point data, respectively.

[0297] Fig. 6e is a diagram of the structure of an apparatus 60-4 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 6e, the encoding apparatus 60-4 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0298] 6c, in this embodiment of the present application, the encoding device 60-4 includes a compression module 61-4 and a transmission module 62-4, and the compression module 61-4 includes a compaction module 611-3, a prediction module 612-3, and an encapsulation module 613-4. The compaction module 611-3 includes a first quantization module 6111a, a first binarization module 6112a, a second quantization module 6111b, and a second binarization module 6112b. The prediction module 612-3 includes a first prediction module 612a and a second prediction module 612b, and the first prediction module 612a and the second prediction module 612b can be further configured to implement a reordering function.

[0299] The input data of the first quantization module 6111a is a region descriptor, and the output data is quantized data of the region descriptor. The input data of the first binarization module 6112a is a region descriptor, and the output data is binary data of the region descriptor. The input data of the first prediction module 612a includes quantized data of the region descriptor and binary data of the region descriptor, and the output data is residual data of the region descriptor. The input data of the second quantization module 6111b is data of 3D map points, and the output data is quantized data of the 3D map points. The input data of the second binarization module 6112b is data of 3D map points, and the output data is binary data of the 3D map points. The input data of the second prediction module 612b includes quantized data of the 3D map points and binary data of the 3D map points, and the output data is residual data of the 3D map points.

[0300] Based on this, the input data of the encapsulation module 613-4 includes residual data of the region descriptor and residual data of the 3D map points, and the encapsulation module 613-4 performs encapsulation on the residual data of the region descriptor and the residual data of the 3D map points separately to obtain a bitstream of the 3D map.

[0301] The transmission module 62-4 is configured to transmit the bitstream of the 3D map.

[0302] FIG. 6e shows an exemplary structure of an apparatus for encoding a 3D map, which is obtained based on the content included in the 3D map data. However, the structure does not constitute a limitation on the encoding apparatus. The encoding apparatus may include more modules than those in the embodiment shown in FIG. 6e. For example, referring to the embodiment shown in FIG. 6a or 6b, a different structure may be obtained based on the content included in the 3D map data. In the embodiment shown in FIG. 6d, the quantization module and the binarization module are in an "and / or" relationship, i.e., the compression module may include either the quantization module or the binarization module, or may include both the quantization module and the binarization module. When a distinction is made between the first module and the second module, the processing methods for the module for processing the region descriptor and the module for processing the data of the 3D map points may be set independently and do not need to be completely consistent. For example, the region descriptor may be processed using a first quantization module, a first binarization module, and a first prediction module, and the data of the 3D map points may be processed using a second quantization module and a second prediction module. In the embodiment shown in Figures 6a to 6c, the compaction module and the prediction module are in an "and / or" relationship, i.e., the compression module may include either the compaction module or the prediction module, or may include both the compaction module and the prediction module. When a distinction is made between the first module and the second module, the processing methods for the module for processing the region descriptor and the module for processing the data of the 3D map points may be set independently and do not need to be completely consistent. For example, the region descriptor may be processed by using the first compaction module, and the data of the 3D map points may be processed by using the second prediction module. The specific implementation of the compression module is not specifically limited in this application.

[0303] According to the above description of the 3D map data, the 3D map data may include a plurality of region descriptors, a plurality of 3D map point descriptors, and a plurality of 3D map point spatial locations. Therefore, in the embodiment shown in Figures 6a to 6d, the modules in the compression module, different from the encapsulation module, may be divided into a first module configured to process the region descriptors, a second module configured to process the 3D map point descriptors, and a third module configured to process the 3D map point spatial locations. For example, the compaction module may include a first compaction module, a second compaction module, and a third compaction module. The prediction module may include a first prediction module, a second prediction module, and a third prediction module. The quantization module may include a first quantization module, a second quantization module, and a third quantization module. The binarization module may include a first binarization module, a second binarization module, and a third binarization module. The difference between the first module, the second module and the third module obtained after division from the above embodiment is that the input data of the first module, the input data of the second module and the input data of the third module correspond to region descriptors, 3D map point descriptors and 3D map point spatial positions, respectively.

[0304] Fig. 6f is a diagram of the structure of an apparatus 60-5 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 6f, the encoding apparatus 60-5 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0305] Referring to the embodiment shown in Figure 6c, in this embodiment of the present application, the encoding device 60-5 includes a compression module 61-5 and a transmission module 62-5, where the compression module 61-5 includes a compaction module 611-4, a prediction module 612-4, and an encapsulation module 613-5. The compaction module 611-4 includes a first quantization module 6111a, a first binarization module 6112a, a second quantization module 6111b, a second binarization module 6112b, a third quantization module 6111c, and a third binarization module 6112c. The prediction module 612-4 includes a first prediction module 612a, a second prediction module 612b, and a third prediction module 612c. The first prediction module 612a, the second prediction module 612b, and the third prediction module 612c may be further configured to implement a reordering function.

[0306] The input data of the first quantization module 6111a is a region descriptor, and the output data is quantized data of the region descriptor. The input data of the first binarization module 6112a is a region descriptor, and the output data is binary data of the region descriptor. The input data of the first prediction module 612a includes quantized data of the region descriptor and binary data of the region descriptor, and the output data is residual data of the region descriptor. The input data of the second quantization module 6111b is a 3D map point descriptor, and the output data is quantized data of the 3D map point descriptor. The input data of the second binarization module 6112b is a 3D map point descriptor, and the output data is binary data of the 3D map point descriptor. The input data of the second prediction module 612b includes quantized data of the 3D map point descriptor and binary data of the 3D map point descriptor, and the output data is residual data of the 3D map point descriptor. The input data of the third quantization module 6111c is a 3D map point spatial position, and the output data is quantized data of the 3D map point spatial position. The input data of the third binarization module 6112c are 3D map point spatial positions, and the output data are binary data of the 3D map point spatial positions. The input data of the third prediction module 612c include quantized data of the 3D map point spatial positions and binary data of the 3D map point spatial positions, and the output data are residual data of the 3D map point spatial positions.

[0307] Based on this, the input data of the encapsulation module 613-5 includes residual data of the region descriptor, residual data of the 3D map point descriptor, and residual data of the 3D map point spatial position, and the encapsulation module 613-5 performs encapsulation on the residual data of the region descriptor, residual data of the 3D map point descriptor, and residual data of the 3D map point spatial position separately to obtain a bitstream of the 3D map.

[0308] The transmission module 62-5 is configured to transmit the bitstream of the 3D map.

[0309] FIG. 6f shows an exemplary structure of an apparatus 60 for encoding a 3D map, which is obtained based on the content included in the 3D map data. However, the structure does not constitute a limitation on the encoding apparatus 60. The encoding apparatus 60 may include more modules than those in the embodiment shown in FIG. 6f. For example, referring to the embodiment shown in FIG. 6a or 6b, a different structure is obtained based on the content included in the 3D map data. In the embodiment shown in FIG. 6d, the quantization module and the binarization module are in an "and / or" relationship, i.e., the compression module may include either the quantization module or the binarization module, or may include both the quantization module and the binarization module. When a distinction is made between the first module, the second module, and the third module, the processing method may independently configure the module for processing the region descriptor, the module for processing the 3D map point descriptor, and the module for processing the 3D map point spatial position, and they do not need to be completely consistent. 6a to 6c, the compaction module and the prediction module are in an "and / or" relationship, i.e., the compression module may include either the compaction module or the prediction module, or may include both the compaction module and the prediction module. When a distinction is made between the first module, the second module, and the third module, the processing method may set the module for processing the region descriptor, the module for processing the 3D map point descriptor, and the module for processing the 3D map point spatial position independently, and they do not need to be completely consistent.

[0310] According to the above description of the 3D map data, the 3D map data may include a plurality of region descriptors and a plurality of 3D map point data.

[0311] In a possible implementation, Fig. 7a is a diagram of the structure of an apparatus 70-1 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 7a, the encoding apparatus 70-1 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0312] 5, in this embodiment of the present application, the encoding device 70-1 includes a compression module 71-1 and a transmission module 72-1, and the compression module 71-1 includes a first compression sub-module 711-1 and a second compression sub-module 712-1. Details are as follows:

[0313] The first compression sub-module 711-1 is configured to perform compression on the input 21st data and output a bitstream of the 21st data, and the second compression sub-module 712-1 is configured to perform compression on the input 22nd data and output a bitstream of the 22nd data.

[0314] The 21st data is one of a plurality of region descriptors, and the 22nd data is data of one of a plurality of 3D map points. It can be seen that the input data of the first compression sub-module 711-1 is the region descriptor, and the output data is a bitstream of the region descriptors. The input data of the second compression sub-module 712-1 is data of the 3D map points, and the output data is a bitstream of the 3D map points. The 3D map bitstream includes a bitstream of the plurality of region descriptors and a bitstream of the plurality of 3D map points.

[0315] For the first compression sub-module 711-1 and the second compression sub-module 712-1, please refer to the structures of the compression modules in the embodiments shown in Figures 6a to 6f. Note that the first compression sub-module 711-1 and the second compression sub-module 712-1 are independent of each other and may use the same structure or different structures. That is, the first compression sub-module 711-1 configured to process the region descriptor and the second compression sub-module 712-1 configured to process the data of the 3D map points may have the same structure or different structures. Accordingly, the compression stage performed on the region descriptor may be the same as or different from the compression stage performed on the data of the 3D map points.

[0316] For example, the first compression sub-module includes a first compaction module and a first encapsulation module. Thus, after a region descriptor is input to the first compression sub-module, the first compaction module first processes the region descriptor to obtain compacted data of the region descriptor, and then the first encapsulation module processes the compacted data to obtain a bitstream of the region descriptor. The second compression sub-module includes a second compaction module, a second prediction module, and a second encapsulation module. Thus, after 3D map point data is input to the second compression sub-module, the second compaction module first processes the 3D map point data to obtain compacted data of the 3D map point, and then the second prediction module processes the compacted data to obtain residual data of the 3D map point, and then the second encapsulation module processes the residual data to obtain a bitstream of the 3D map point.

[0317] In another example, the first compression sub-module includes a first quantization module, a first binarization module, a first prediction module, and a first encapsulation module. After the region descriptor is input to the first compression sub-module, the first quantization module processes the region descriptor to obtain quantized data of the region descriptor, the first binarization module processes the region descriptor to obtain binary data of the region descriptor, the first prediction module processes the quantized data and the binary data to obtain residual data of the region descriptor, and the first encapsulation module processes the residual data to obtain a bitstream of the region descriptor. The second compression sub-module includes a second quantization module, a second prediction module, and a second encapsulation module. In this way, after the data of the 3D map points is input into the second compression sub-module, the second quantization module first processes the data of the 3D map points to obtain quantized data of the 3D map points, then the second prediction module processes the quantized data to obtain residual data of the 3D map points, and then the second encapsulation module processes the residual data to obtain a bitstream of the 3D map points.

[0318] It should be understood that the structures of the first and second compression sub-modules are described above as an example. However, this does not constitute a limitation on the structures of the first and second compression sub-modules. The two sub-modules may include more or fewer modules than those in the example. For details, please refer to the structure of the compression module in the embodiment shown in Figures 6a to 6f. This is not specifically limited in the embodiment of the present application.

[0319] In a possible implementation, Fig. 7b is a diagram of the structure of an apparatus 70-2 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 7b, the encoding apparatus 70-2 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0320] Referring to the embodiment shown in Fig. 7a, in this embodiment of the present application, the encoding device 70-2 includes a compression module 71-2 and a transmission module 72-2. The compression module 71-2 includes a first compression sub-module 711-2 and a second compression sub-module 712-2. The first compression sub-module 711-2 includes a first quantization module 7111, a first binarization module 7112, a first prediction module 7113, and a first encapsulation module 7114. The second compression sub-module 712-2 includes a second quantization module 7121, a second binarization module 7122, a second prediction module 7123, and a second encapsulation module 7124. Details are as follows:

[0321] The first quantization module 7111 is configured to perform quantization on the input region descriptor to obtain quantized data of the region descriptor. The first binarization module 7112 is configured to perform binarization on the input quantized data to obtain binary data of the region descriptor. The first prediction module 7113 is configured to perform prediction on the input binary data to obtain residual data of the region descriptor. The first encapsulation module 7114 is configured to encapsulate the input residual data to obtain a bitstream of the region descriptor. The second quantization module 7121 is configured to perform quantization on the input data of the 3D map points to obtain quantized data of the 3D map points. The second binarization module 7122 is configured to perform binarization on the input quantized data to obtain binary data of the 3D map points. The second prediction module 7123 is configured to perform prediction on the input binary data to obtain residual data of the 3D map points. The second encapsulation module 7124 is configured to encapsulate the input residual data to obtain a bitstream of 3D map points.

[0322] It should be understood that the structures of the first and second compression sub-modules are described as an example in the embodiment shown in FIG. 7b. However, this does not constitute a limitation on the structures of the first and second compression sub-modules. The two sub-modules may include more or fewer modules than those in the example. For details, please refer to the structure of the compression module 61 in the embodiment shown in FIG. 6a to FIG. 6f. This is not specifically limited in the embodiment of the present application.

[0323] According to the above description of the 3D map data, the 3D map data may include a plurality of region descriptors, a plurality of 3D map point descriptors and a spatial location.

[0324] In a possible implementation, Fig. 8a is a diagram of the structure of an apparatus 80-1 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 8a, the encoding apparatus 80-1 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0325] 5, in this embodiment of the present application, the encoding device 80-1 includes a compression module 81-1 and a transmission module 82-1. The compression module 81-1 includes a first compression sub-module 811-1, a second compression sub-module 812-1 and a third compression sub-module 813-1. Details are as follows:

[0326] The first compression sub-module 811-1 is configured to compress the input 29th data and output a bitstream of 29th data. The second compression sub-module 812-1 is configured to compress the input 30th data and output a bitstream of 30th data. The third compression sub-module 813-1 is configured to compress the input 31st data and output a bitstream of 31st data.

[0327] The 29th data is one of a plurality of region descriptors, the 30th data is a 3D map point descriptor of one of the plurality of 3D map points, and the 31st data is a spatial location of one of the plurality of 3D map points. It can be seen that the input data of the first compression sub-module 811-1 is a region descriptor, and the output data is a bitstream of the region descriptor; the input data of the second compression sub-module 812-1 is a 3D map point descriptor, and the output data is a bitstream of the 3D map point descriptor; and the input data of the third compression sub-module 813-1 is a 3D map point spatial location, and the output data is a bitstream of the 3D map point spatial location. The 3D map bitstream includes a bitstream of the plurality of region descriptors, a bitstream of the plurality of 3D map point descriptors, and a bitstream of the plurality of 3D map point spatial locations.

[0328] In a possible implementation, Fig. 8b is a diagram of the structure of an apparatus 80-2 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 8b, the encoding apparatus 80-2 may use a server or an electronic device in the previous embodiments, in particular a device that needs to compress and transmit the 3D map, such as the server in the embodiment shown in Fig. 4a or the first electronic device in the embodiments shown in Fig. 4d to 4f.

[0329] Referring to the embodiment shown in Fig. 8a, in this embodiment of the present application, the encoding device 80-2 includes a compression module 81-2 and a transmission module 82-2. The compression module 81-2 includes a first compression sub-module 811-2, a second compression sub-module 812-2, and a third compression sub-module 813-2. The first compression sub-module 811-2 includes a first quantization module 8111, a first binarization module 8112, a first prediction module 8113, and a first encapsulation module 8114. The second compression sub-module 812-2 includes a second quantization module 8121, a second binarization module 8122, a second prediction module 8123, and a second encapsulation module 8124. The third compression sub-module 813-2 includes a third quantization module 8131, a third binarization module 8132, a third prediction module 8133, and a third encapsulation module 8134. Details are as follows.

[0330] The first quantization module 8111 is configured to perform quantization on the input region descriptor to obtain quantized data of the region descriptor. The first binarization module 8112 is configured to perform binarization on the input quantized data to obtain binary data of the region descriptor. The first prediction module 8113 is configured to perform prediction on the input binary data to obtain residual data of the region descriptor. The first encapsulation module 8114 is configured to encapsulate the input residual data to obtain a bitstream of the region descriptor. The second quantization module 8121 is configured to perform quantization on the input 3D map point descriptor to obtain quantized data of the 3D map point descriptor. The second binarization module 8122 is configured to perform binarization on the input quantized data to obtain binary data of the 3D map point descriptor. The second prediction module 8123 is configured to perform prediction on the input binary data to obtain residual data of the 3D map point descriptor. The second encapsulation module 8124 is configured to encapsulate the input residual data to obtain a bitstream of 3D map point descriptors. The third quantization module 8131 is configured to perform quantization on the input 3D map point spatial locations to obtain quantized data for the 3D map point spatial locations. The third binarization module 8132 is configured to perform binarization on the input quantized data to obtain binary data for the 3D map point spatial locations. The third prediction module 8133 is configured to perform prediction on the input binary data to obtain residual data for the 3D map point spatial locations. The third encapsulation module 8134 is configured to encapsulate the input residual data to obtain a bitstream for the 3D map point spatial locations.

[0331] It should be understood that the structures of the first compression sub-module, the second compression sub-module, and the third compression sub-module are described as an example in the embodiment shown in FIG. 8b. However, this does not constitute a limitation on the structures of the first compression sub-module, the second compression sub-module, and the third compression sub-module. The three sub-modules may include more or fewer modules than those in the example. For details, please refer to the structure of the compression module 61 in the embodiment shown in FIG. 6a to FIG. 6f. This is specifically not limited in the embodiment of the present application.

[0332] In this embodiment of the present application, a reordering function may be implemented in the aforementioned prediction module, that is, multiple pieces of processing data may be reordered before prediction, to improve the correlation between adjacent pieces of processing data, thereby further reducing the amount of residual data. The processing data includes at least one of a region descriptor, data of 3D map points, 3D map point descriptors, or 3D map point spatial positions.

[0333] 9 is a flowchart of a process 900 of a method for encoding a 3D map according to an embodiment of the present application. As shown in FIG. 9, the process 900 may be performed by the encoding device in the aforementioned embodiment. The process 900 is described as a series of steps or operations. It should be understood that the steps or operations of the process 900 may be performed in various sequences and / or simultaneously, and are not limited to the execution sequence shown in FIG. 9. Assume that the data of the 3D map is compressed in the encoding device to obtain a bitstream of the 3D map, and then the bitstream of the 3D map is transmitted by the encoding device, and the process 900, including the following steps, is performed to process the data of the currently processed 3D map.

[0334] Step 901: Compress the data of the 3D map to obtain a bitstream of the 3D map.

[0335] Please refer to the above description of the 3D map and the data of the 3D map, and the details will not be described again here.

[0336] In this embodiment of the present application, the compression performed on the 3D map may include compaction and / or prediction and encapsulation, and the compaction may include quantization and / or binarization. For the above processes, please refer to the descriptions in the previous embodiments. The details will not be described again in this specification.

[0337] Step 902: Transmit a bitstream of the 3D map.

[0338] The encoding device may transmit the bitstream of the 3D map to the outside by using a communication link.

[0339] Fig. 10 is a diagram of the structure of an apparatus 100 for encoding a 3D map according to an embodiment of the present application. As shown in Fig. 10, the encoding apparatus 100 can be used in a server or electronic device in the aforementioned embodiments, in particular in a device that needs to compress and store a 3D map, such as the server in the embodiment shown in Fig. 4b or the electronic device in the embodiment shown in Fig. 4c.

[0340] The apparatus 100 for encoding a 3D map in this embodiment of the present application includes an encoder 101 and a memory 102. The encoder 101 is configured to compress data of the 3D map to obtain a 3D map obtained by compression and in a bitstream form, where the 3D map includes a plurality of 3D map points and the data of the 3D map includes data of the plurality of 3D map points. The memory 102 is configured to store the 3D map obtained by compression and in a bitstream form. It can be seen that the input data of the compressor 101 is data of the 3D map, the output data is the 3D map obtained by compression and in a bitstream form, and the input data of the memory 101 is the 3D map obtained by compression and output by the compressor 101 and in a bitstream form.

[0341] The compressor 101 may perform compression on the data of the 3D map to reduce the data amount of the 3D map. In a scenario where the 3D map needs to be stored, storing compressed data of the 3D map instead of storing the original data of the 3D map may reduce the space occupied by the storage of the data of the 3D map.

[0342] In this embodiment of the present application, the compressor 101 refers to the compression module in the embodiment shown in Figures 5 to 8b, with the difference being that the compressor does not include an encapsulation module.

[0343] In the implementation process, the steps in the above-described method embodiments may be completed by an integrated logic circuit in the form of hardware in a processor or by instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the method disclosed in the embodiments of this application may be directly presented as being performed and completed by a hardware encoding processor, or may be performed and completed by a combination of hardware and software modules in the encoding processor. The software modules may be located in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory. The processor reads the information in the memory and, in combination with the processor hardware, completes the steps of the method described above.

[0344] The memories mentioned in the above embodiments may be volatile or nonvolatile memories, or may include both volatile and nonvolatile memories. The nonvolatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM) used as an external buffer. By way of example and not limitation, many types of RAM may be used, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus dynamic random access memory (DR RAM). It should be noted that memory in the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0345] Those skilled in the art will recognize that, in combination with the examples described in the embodiments disclosed herein, the units and algorithm steps can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to go beyond the scope of this application.

[0346] For the purpose of convenient and simple description, it can be clearly understood by those skilled in the art that the detailed operation processes of the aforementioned systems, devices and units may be referred to the corresponding processes in the aforementioned method embodiments, and the details will not be described again in this specification.

[0347] In some embodiments provided herein, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely examples. For example, the division of units is merely a logical division of function, and other divisions may be used in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some functions may be ignored or not performed. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electronic, mechanical, or other forms.

[0348] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, located in one place or distributed over multiple network units, some or all of which may be selected according to actual requirements to achieve the objectives of the solutions in the embodiments.

[0349] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically isolated, or two or more units may be integrated into one unit.

[0350] When these functions are implemented in the form of software functional units and sold or used as independent products, the functions may be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the present application may essentially be implemented in the form of a software product, or a portion of the technical solutions may be implemented in the form of a software product. A computer software product is stored in a storage medium and includes instructions for instructing a computer device (such as a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of the present application. The storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0351] The above description is merely a specific implementation of the present application, and the scope of protection of the present application is not limited thereto. Any modifications or replacements that can be easily thought of by those skilled in the art within the technical scope disclosed in the present application shall be included in the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims. [Other possible items] [Item 1] A codec system for 3D maps comprising an encoding device and a decoding device, the encoding device communicatively connected to the decoding device; the encoding device is configured to: compress data of a 3D map to obtain a bitstream of the 3D map, and send the bitstream of the 3D map to the decoding device, where the 3D map includes a plurality of 3D map points, and the data of the 3D map includes data of the plurality of 3D map points; The decoding device is configured to: receive the bitstream of the 3D map; and decompress the bitstream of the 3D map to obtain reconstruction data of the 3D map. system. [Item 2] The encoding device is a cloud server and the decoding device is an electronic device; or the encoding device is a first electronic device and the decoding device is a second electronic device; The decoding device is further configured to send a 3D map download request to the decoding device, where the 3D map download request includes location indication information; Item 10. The system of item 1, wherein the encoding device is further configured to receive the 3D map download request and to transmit a bitstream of the 3D map corresponding to the position indication information to the decoding device in accordance with the 3D map download request. [Item 3] the encoding device is an electronic device and the decoding device is a cloud server; 3. The system of claim 1, wherein the encoding device is specifically configured to transmit the bitstream of the 3D map to the decoding device after the 3D map is created. [Item 4] 4. The system of any one of items 1 to 3, wherein the data of the 3D map further includes a plurality of area descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points. [Item 5] 5. The system of claim 1 or 4, wherein the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location. [Item 6] 6. The system of any one of claims 1 to 5, wherein the encoding device is further configured to create the 3D map. [Item 7] 7. The system of any one of claims 1 to 6, wherein the decoding device is further configured to perform positioning based on the 3D map. [Item 8] 1. An apparatus for encoding a 3D map, comprising a compression module and a transmission module, the compression module is configured to compress data of a 3D map to obtain a bitstream of the 3D map, where the 3D map includes a plurality of 3D map points, and the data of the 3D map includes data of the plurality of 3D map points; The apparatus, wherein the transmission module is configured to transmit the bitstream of the 3D map. [Item 9] 9. The apparatus of claim 8, wherein the data of the 3D map further includes a plurality of region descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points. [Item 10] 10. The apparatus of claim 8 or 9, wherein the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial position. [Item 11] The apparatus for encoding the 3D map is a cloud server or an electronic device; The transmission module is further configured to: receive a 3D map download request, where the 3D map download request includes location indication information; and transmit a bitstream of the 3D map corresponding to the location indication information according to the 3D map download request. 11. The device according to any one of items 8 to 10. [Item 12] said apparatus for encoding a 3D map is an electronic device; 11. The apparatus of any one of items 8 to 10, wherein the transmission module is specifically configured to transmit the bitstream of the 3D map after the 3D map has been created. [Item 13] The compression module includes a compaction module and / or a prediction module, and an encapsulation module; The compaction module is configured to perform compaction on input first data and output compacted data of the first data; The prediction module is configured to perform prediction on input second data and output residual data of the second data; the encapsulation module is configured to process the input third data and output the bitstream of the 3D map; 13. The apparatus of claim 8, wherein the first data is the data of the 3D map, the second data is the data of the 3D map or the compacted data of the first data, and the third data is the compacted data of the first data or the residual data of the second data. [Item 14] Item 14. The apparatus of item 13, wherein the prediction module is further configured to: reorder a plurality of the second data; and, based on a result of the reordering, perform prediction on at least a portion of the second data to obtain residual data of the at least a portion of the second data. [Item 15] The compaction module includes a quantization module and / or a binarization module; The quantization module is configured to perform quantization on the input fourth data and output quantized data of the fourth data; The binarization module is configured to perform binarization on the input fifth data and output binary data of the fifth data, 15. The apparatus according to claim 13, wherein the fourth data is the data of the 3D map, and the fifth data is the quantized data of the data of the 3D map or the fourth data. [Item 16] The quantization module includes a first quantization module and a second quantization module, and / or the binarization module includes a first binarization module and a second binarization module, and the prediction module includes a first prediction module and a second prediction module; The first quantization module is configured to perform quantization on the input sixth data and output quantized data of the sixth data; The first binarization module is configured to perform binarization on the input seventh data and output binary data of the seventh data; The first prediction module is configured to perform prediction on input eighth data and output residual data of the eighth data; the sixth data is one of the plurality of region descriptors, the seventh data is one of the plurality of region descriptors or the quantized data of the sixth data, and the eighth data is one of the plurality of region descriptors, the quantized data of the sixth data, or the binary data of the seventh data; The second quantization module is configured to perform quantization on the input ninth data, and output quantized data of the ninth data; The second binarization module is configured to perform binarization on the input tenth data and output binary data of the tenth data; The first prediction module is configured to perform prediction on input eleventh data and output residual data of the eleventh data; Item 16. The device of item 15, wherein the ninth data is data of one of the plurality of 3D map points, the tenth data is data of one of the plurality of 3D map points or the quantized data of the ninth data, and the eleventh data is data of one of the plurality of 3D map points, the quantized data of the ninth data, or the binary data of the tenth data. [Item 17] The quantization module includes a first quantization module, a second quantization module, and a third quantization module, and / or the binarization module includes a first binarization module, a second binarization module, and a third binarization module, and the prediction module includes a first prediction module, a second prediction module, and a third prediction module; The first quantization module is configured to perform quantization on the input twelfth data, and output quantized data of the twelfth data; The first binarization module is configured to perform binarization on the input thirteenth data and output binary data of the thirteenth data; The first prediction module is configured to perform prediction on input fourteenth data and output residual data of the fourteenth data; the 12th data is one of the plurality of region descriptors, the 13th data is one of the plurality of region descriptors or the quantized data of the 12th data, and the 14th data is one of the plurality of region descriptors, the quantized data of the 12th data, or the binary data of the 13th data; The second quantization module is configured to perform quantization on the input fifteenth data, and output quantized data of the fifteenth data; The second binarization module is configured to perform binarization on the input 16th data and output binary data of the 16th data; The second prediction module is configured to perform prediction on the input seventeenth data and output residual data of the seventeenth data; the fifteenth data is a 3D map point descriptor of one of the plurality of 3D map points, the sixteenth data is a 3D map point descriptor of one of the plurality of 3D map points or the quantized data of the fifteenth data, and the seventeenth data is a 3D map point descriptor of one of the plurality of 3D map points, the quantized data of the fifteenth data, or the binary data of the sixteenth data; The third quantization module is configured to perform quantization on the input 18th data, and output quantized data of the 18th data; The third binarization module is configured to perform binarization on the input 19th data and output binary data of the 19th data; The third prediction module is configured to perform prediction on the input 20th data and output residual data of the 20th data; Item 16. The device of item 15, wherein the 18th data is a spatial position of one of the plurality of 3D map points, the 19th data is a spatial position of one of the plurality of 3D map points or the quantized data of the 18th data, and the 20th data is a spatial position of one of the plurality of 3D map points, the quantized data of the 18th data, or the binary data of the 19th data. [Item 18] the compression module includes a first compression sub-module and a second compression sub-module; The first compression sub-module is configured to compress the input 21st data and output a bitstream of the 21st data; The second compression sub-module is configured to compress the input 22nd data and output a bitstream of the 22nd data; 13. The device of any one of items 8 to 12, wherein the 21st data is one of the plurality of area descriptors, and the 22nd data is data of one of the plurality of 3D map points. [Item 19] The first compression sub-module includes a first compaction module and / or a first prediction module, and a first encapsulation module; the second compression sub-module includes a second compaction module and / or a second prediction module, and a second encapsulation module; The first compaction module is configured to perform compaction on the input 23rd data and output compacted data of the 23rd data; The first prediction module is configured to perform prediction on the input 24th data and output residual data of the 24th data; the first encapsulation module is configured to process the input 25th data and output a bitstream of the 25th data; the 23rd data is one of the plurality of region descriptors, the 24th data is one of the plurality of region descriptors or the compacted data of the 23rd data, and the 25th data is the compacted data of the 23rd data or the residual data of the 24th data; The second compaction module is configured to perform compaction on the input 26th data and output compacted data of the 26th data; The second prediction module is configured to perform prediction on the input 27th data and output residual data of the 27th data; the second encapsulation module is configured to process the input 28th data and output a bitstream of the 28th data; Item 19. The device of item 18, wherein the 26th data is data of one of the plurality of 3D map points, the 27th data is data of one of the plurality of 3D map points or the compacted data of the 26th data, and the 28th data is the compacted data of the 26th data or the residual data of the 27th data. [Item 20] The first compaction module includes a first quantization module and / or a first binarization module, and the second compaction module includes a second quantization module and / or a second binarization module; The first quantization module is configured to perform quantization on the input 29th data, and output quantized data of the 29th data; The first binarization module is configured to perform binarization on the input 30th data and output binary data of the 30th data; the 29th data is one of the plurality of region descriptors, and the 30th data is one of the plurality of region descriptors or the quantized data of the 29th data; The second quantization module is configured to perform quantization on the input 31st data, and output quantized data of the 31st data; The second binarization module is configured to perform binarization on the input 32nd data and output binary data of the 32nd data; 20. The device of claim 19, wherein the 31st data is data of one of the plurality of 3D map points, and the 30th data is data of one of the plurality of 3D map points or the quantized data of the 31st data. [Item 21] The compression module includes a first compression sub-module, a second compression sub-module, and a third compression sub-module; The first compression sub-module is configured to compress the input 33rd data and output a bitstream of the 33rd data; The second compression sub-module is configured to compress the input 34th data and output a bitstream of the 34th data; The third compression sub-module is configured to compress the input 35th data and output a bitstream of the 35th data; 13. The device of claim 8, wherein the 33 data is one of the plurality of region descriptors, the 34 data is a 3D map point descriptor of one of the plurality of 3D map points, and the 35 data is a 3D map point spatial position of one of the plurality of 3D map points. [Item 22] The first compression sub-module includes a first compaction module and / or a first prediction module, and a first encapsulation module; the second compression sub-module includes a second compaction module and / or a second prediction module, and a second encapsulation module; the third compression sub-module includes a third compaction module and / or a third prediction module, and a third encapsulation module; The first compaction module is configured to perform compaction on the input 36th data and output compacted data of the 36th data; The first prediction module is configured to perform prediction on the input 37th data and obtain residual data of the 37th data; The first encapsulation module is configured to process the input 38th data and obtain a bitstream of the 38th data; the 36th data is one of the plurality of region descriptors, the 37th data is one of the plurality of region descriptors or the compacted data of the 36th data, and the 38th data is the compacted data of the 36th data or the residual data of the 37th data; The second compaction module is configured to perform compaction on the input 39th data and output compacted data of the 39th data; The second prediction module is configured to perform prediction on the input 40th data and obtain residual data of the 40th data; The second encapsulation module is configured to process the input 41st data and obtain a bitstream of the 41st data; the 39th data is a 3D map point descriptor of one of the plurality of 3D map points, the 40th data is a 3D map point descriptor of one of the plurality of 3D map points or the compacted data of the 39th data, and the 41st data is the compacted data of the 39th data or the residual data of the 40th data; The third compaction module is configured to perform compaction on the input 42nd data and output compacted data of the 42nd data; The third prediction module is configured to perform prediction on the input 43rd data and obtain residual data of the 43rd data; The third encapsulation module is configured to process the input 44th data and obtain a bitstream of the 44th data; 22. The apparatus of claim 21, wherein the 42 data is a spatial position of one of the plurality of 3D map points, the 43 data is a spatial position of one of the plurality of 3D map points or the compacted data of the 42 data, and the 44 data is the compacted data of the 42 data or the residual data of the 43 data. [Item 23] The first compaction module includes a first quantization module and / or a first binarization module; the second compaction module includes a second quantization module and / or a second binarization module; and the third compaction module includes a third quantization module and / or a third binarization module; The first quantization module is configured to perform quantization on the input 45th data, and output quantized data of the 45th data; The first binarization module is configured to perform binarization on the input 46th data and output binary data of the 46th data; the 45th data is one of the plurality of region descriptors, and the 46th data is one of the plurality of region descriptors or the quantized data of the 45th data; The second quantization module is configured to perform quantization on the input 47th data, and output quantized data of the 47th data; The second binarization module is configured to perform binarization on the input 48th data and output binary data of the 48th data; the 47th data is a 3D map point descriptor of one of the plurality of 3D map points, and the 48th data is a 3D map point descriptor of one of the plurality of 3D map points or the quantization data of the 47th data; The third quantization module is configured to perform quantization on the input 49th data, and output quantized data of the 49th data; The third binarization module is configured to perform binarization on the input 50th data and output binary data of the 50th data; 23. The apparatus of claim 22, wherein the 49th data is a spatial position of one of the plurality of 3D map points, and the 50th data is the spatial position of one of the plurality of 3D map points or the quantized data of the 49th data. [Item 24] 1. A method for encoding a 3D map, comprising: compressing data of a 3D map to obtain a bitstream of the 3D map, where the 3D map includes a plurality of 3D map points and the data of the 3D map includes data of the plurality of 3D map points; and transmitting the bitstream of the 3D map. A method comprising: [Item 25] 25. The method of claim 24, wherein the data of the 3D map further comprises a plurality of region descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points. [Item 26] 26. The method of claim 24 or 25, wherein the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial position. [Item 27] receiving a 3D map download request, wherein the 3D map download request includes location indication information; and wherein the step of transmitting the bitstream of the 3D map further comprises: transmitting a bitstream of the 3D map corresponding to the location indication information in accordance with the 3D map download request; 27. The method according to any one of items 24 to 26, comprising: [Item 28] The step of transmitting the bitstream of the 3D map comprises: transmitting the bitstream of the 3D map after the 3D map is created. 27. The method according to any one of items 24 to 26, comprising: [Item 29] The step of compressing data of a 3D map to obtain a bitstream of the 3D map comprises: performing compaction on first data to obtain compacted data of the first data, and / or performing prediction on second data to obtain residual data of the second data; and processing the third data to obtain the bitstream of the 3D map; where The first data is the data of the 3D map, the second data is the data of the 3D map or the compacted data of the first data, and the third data is the compacted data of the first data or the residual data of the second data. 29. The method according to any one of items 24 to 28. [Item 30] Prior to the step of performing prediction on second data and obtaining residual data of the second data, the method further comprises: Reordering the plurality of second data Equipped with The step of performing prediction on second data and obtaining residual data of the second data comprises: performing a prediction on at least a portion of the second data based on a result of the reordering, and obtaining residual data of the at least a portion of the second data; Item 30. The method according to Item 29, comprising: [Item 31] The step of performing compaction on the first data and obtaining compacted data of the first data comprises: performing quantization on the fourth data to obtain quantized data of the fourth data, and / or performing binarization on the fifth data to obtain binary data of the fifth data. where The fourth data is the first data, and the fifth data is the quantized data of the first data or the fourth data, and accordingly, the compacted data of the first data includes the quantized data of the fourth data and / or the binary data of the fifth data. Item 31. The method according to item 29 or 30. [Item 32] one or more processors; and a memory configured to store one or more programs; where 32. An apparatus for encoding a 3D map, wherein the one or more programs, when executed by the one or more processors, enable the one or more processors to implement the method according to any one of items 24 to 31. [Item 33] an encoder configured to compress data of a 3D map to obtain a 3D map obtained by compression and in a bitstream form, wherein the 3D map includes a plurality of 3D map points, and the data of the 3D map includes data of the plurality of 3D map points; and a memory configured to store the 3D map obtained by compression and in bitstream form; 1. An apparatus for encoding a 3D map, comprising: [Item 34] Item 34. The apparatus of item 33, wherein the data of the 3D map further includes a plurality of region descriptors, any one of which describes characteristics of some or all of the plurality of 3D map points. [Item 35] Item 35. The apparatus of item 33 or 34, wherein the data for any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial position. [Item 36] 36. The apparatus of any one of items 33 to 35, wherein the apparatus for encoding a 3D map is a cloud server or an electronic device. [Item 37] 32. A computer-readable storage medium containing a computer program, which, when run on a computer, enables the computer to carry out the method according to any one of items 24 to 31. [Item 38] 32. A computer program, which when run on a computer, enables the computer to carry out the method according to any one of items 24 to 31. [Item 39] 32. A non-transitory storage medium comprising a bitstream encoded by using the method of any one of items 24 to 31.

Claims

1. A method for encoding a 3D map, The step of compressing the data of a 3D map to obtain a bitstream of the 3D map, wherein the 3D map includes a plurality of 3D map points, the data of the 3D map includes data of the plurality of 3D map points and a plurality of region descriptors, any one of the plurality of region descriptors describes the features of some or all of the plurality of 3D map points, the data of any one of the plurality of 3D map points includes a 3D map point descriptor and a 3D map point spatial location, compressing the data of the 3D map includes compressing the 3D map point descriptor and a 3D map point spatial location of any one of the plurality of 3D map points, the 3D map point descriptor is a vector used to represent the local features of the 3D map point, and the data of the 3D map further includes the correspondence between the plurality of 3D map points and the plurality of region descriptors; and The step of transmitting the bitstream of the 3D map. A method that includes [a certain feature].

2. The method according to claim 1, wherein the correspondence between the plurality of 3D map points and the plurality of region descriptors describes which region descriptor corresponds to which 3D map point and which 3D map point corresponds to which region descriptor.

3. The process involves receiving a 3D map download request, where the 3D map download request includes location information; The step further comprising transmitting the bitstream of the 3D map includes: The step of transmitting a bitstream of the 3D map corresponding to the position indication information in accordance with the 3D map download request. The method according to claim 1 or 2, including the method described in claim 1 or 2.

4. The step of transmitting the bitstream of the 3D map is: After the 3D map is created, the bitstream of the 3D map is transmitted. The method according to any one of claims 1 to 3, including

5. The step of compressing the 3D map data to obtain the bitstream of the 3D map is: A step of performing compaction on the first data and obtaining the compacted data of the first data, and / or a step of performing prediction on the second data and obtaining the residual data of the second data; and The third step involves processing the data and obtaining the bitstream of the 3D map. This includes, here The first data is the data of the 3D map, the second data is the compacted data of the data of the 3D map or the first data, and the third data is the compacted data of the first data or the residual data of the second data. The method according to any one of claims 1 to 4.

6. Prior to the step of performing a prediction on the second data and obtaining residual data for the second data, the method further: Step of rearranging the order of multiple second data items. Equipped with, The step of performing a prediction on the second data and obtaining residual data for the second data is: Based on the results of the reordering, a prediction is performed on at least a portion of the second data, and residual data of at least a portion of the second data is obtained. The method according to claim 5, including the method described in claim 5.

7. The step of performing compaction on the first data and obtaining the compacted data of the first data is: A step of performing quantization on the fourth data and obtaining the quantized data of the fourth data, and / or a step of performing binarization on the fifth data and obtaining the binary data of the fifth data. This includes, here The fourth data is the first data, and the fifth data is the quantized data of the first data or the fourth data, and accordingly, the compactified data of the first data includes the quantized data of the fourth data and / or the binary data of the fifth data. The method according to claim 5 or 6.

8. The method according to any one of claims 1 to 7, wherein the 3D map point descriptor is used for matching between 3D map points.

9. One or more processors; and Memory configured to store one or more programs Equipped with, here An apparatus for encoding a 3D map, wherein when the one or more programs are executed by the one or more processors, the one or more processors are capable of implementing the method according to any one of claims 1 to 8.

10. A computer-readable storage medium containing a computer program, wherein when the computer program is executed on a computer, the computer is able to perform the method according to any one of claims 1 to 8.

11. A computer program, wherein when the computer program is executed on a computer, the computer is able to perform the method according to any one of claims 1 to 8.