3D Map Compression Method and Apparatus, and 3D Map Restoration Method and Apparatus

The 3D map compression method addresses the issue of large data volumes in 3D maps by compressing and refining descriptor representations, resulting in a more efficient transmission of 3D map data.

JP7683747B2Active Publication Date: 2025-05-27HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023574721
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-21
Filing Date
2022-05-31
Publication Date
2025-05-27
Estimated Expiration
2042-05-31

AI Technical Summary

Technical Problem

The original 3D maps contain large amounts of data, requiring significant bandwidth and time for transmission, which limits application performance and user experience.

Method used

A 3D map compression method and apparatus that performs a compression process on encoding target descriptors to obtain a compact representation, and further refines this representation based on reference descriptors, resulting in a bitstream that reduces data volume and transmission overhead.

Benefits of technology

The method significantly reduces the data volume of 3D maps from the terabyte level to the gigabyte level, thereby reducing resource overhead and enhancing transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007683747000002
    Figure 0007683747000002
  • Figure 0007683747000003
    Figure 0007683747000003
  • Figure 0007683747000004
    Figure 0007683747000004
Patent Text Reader

Abstract

The embodiment of the present application relates to a 3D map compression technology, and discloses a 3D map compression method and device, and a 3D map decompression method and device. The compression method includes the steps of performing a compression process on a to-be-encoded descriptor, where the to-be-encoded descriptor corresponds to at least one 3D map point on a 3D map, obtaining a first compact representation of the to-be-encoded descriptor, and the to-be-encoded descriptor corresponds to at least one 3D map point on the 3D map, obtaining a compact representation of at least one reference descriptor corresponding to the to-be-encoded descriptor, obtaining a second compact representation of the to-be-encoded descriptor based on the first compact representation of the to-be-encoded descriptor and the compact representation of the at least one reference descriptor, and encapsulating the second compact representation to obtain a bitstream of the 3D map. According to the embodiment of the present application, the 3D map transmission overhead or the 3D map storage overhead can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to 3D map technology. In particular, it relates to a 3D map compression method and apparatus, and a 3D map decompression method and apparatus.

[0002] This application claims priority to Chinese Patent Application No. 202110627636.9, filed with the China National Intellectual Property Administration on June 4, 2021, with the title "3D MAP COMPRESSION METHOD AND APPARATUS, AND 3D MAP DECOMPRESSION METHOD AND APPARATUS", and Chinese Patent Application No. 202110823842.7, filed with the China National Intellectual Property Administration on July 21, 2021, with the title "3D MAP COMPRESSION METHOD AND APPARATUS, AND 3D MAP DECOMPRESSION METHOD AND APPARATUS", both of which are hereby incorporated by reference in their entirety.

Background Art

[0003] Virtual reality (VR), augmented reality (AR), and mixed reality (MR) are multimedia virtual scene technologies that have emerged in recent years. These technologies can create virtual realities and overlay them with the real world, creating new visual environments and interactive experiences. In such applications, an electronic device needs to determine the pose information of the electronic device in the current environment in order to accurately implement the fusion between virtual objects and the real scene.

[0004] In addition, in applications of autonomous driving, autonomous navigation, and automatic inspection by unmanned aircraft, industrial robots, etc., carriers such as vehicles, unmanned aircraft, and robots need to determine the posture of the carrier in the current environment by determining the posture of the electronic device carried by the carrier in order to execute accurate route planning, navigation, detection, and operation.

[0005] In the above applications, a typical solution to the problem that the posture of the electronic device in the current environment needs to be determined is as follows. The electronic device receives a three-dimensional (3D) map of the environment in which the electronic device is located from a server or another device, collects image information in the environment by using local sensors, and determines the current posture of the electronic device with reference to the collected image information and the downloaded 3D map.

[0006] However, the original 3D map usually contains a large amount of data, and a large amount of bandwidth and a large amount of time are required to transmit the map. This severely limits the application performance and affects the user experience. SUMMARY OF THE INVENTION

[0007] This application provides a 3D map compression method and apparatus, and a 3D map decompression method and apparatus, to reduce the 3D map transmission overhead or the 3D map storage overhead.

[0008] According to a first aspect, an embodiment of the present application provides a 3D map compression method. The method includes performing a compression process on an encoding target descriptor to obtain a first compact representation of the encoding target descriptor, where the encoding target descriptor corresponds to at least one 3D map point on a 3D map; obtaining a compact representation of at least one reference descriptor corresponding to the encoding target descriptor, where the at least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map; obtaining a second compact representation of the encoding target descriptor based on the first compact representation of the encoding target descriptor and the compact representation of the at least one reference descriptor; encapsulating the second compact representation; and obtaining a bitstream of the 3D map.

[0009] For example, the encoding target descriptor may be a zone descriptor or a 3D map point descriptor on the 3D map. The encoding target descriptor may also be referred to as a current descriptor.

[0010] The at least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map. In other words, the at least one reference descriptor may be at least one encoded 3D map point descriptor of the 3D map, or may be at least one encoded zone descriptor of the 3D map.

[0011] One descriptor to be encoded may have one reference descriptor or a plurality of reference descriptors. When the descriptor to be encoded is a zone descriptor, the reference descriptor corresponding to the descriptor to be encoded may be a reference zone descriptor. When the descriptor to be encoded is a 3D map point descriptor, the reference descriptor corresponding to the descriptor to be encoded may be a reference 3D map point descriptor.

[0012] In a possible design, the method may further include receiving 3D map request information sent by an electronic device, and in response to the 3D map request information, sending, to the electronic device, the bitstream of the 3D map corresponding to the 3D map request information, or sending the bitstream of the 3D map to a server.

[0013] In a possible design, the data distribution of the first compact representation is different from the data distribution of the second compact representation.

[0014] In this embodiment of the present application, the data distribution of a compact representation (for example, the first compact representation or the second compact representation) is the distribution of binary numbers (0, 1) in the compact representation. In this embodiment of the present application, the data distribution of the compact representation is changed to reduce the data volume of the bitstream of the 3D map obtained later through encapsulation. For example, the data volume of the 3D map is reduced from the terabyte (TB) level to the gigabyte (GB) level, thereby reducing the resource overhead required to send the bitstream of the 3D map. Compared with the data distribution of the first compact representation, in the second compact representation in this embodiment of the present application, 0 is more densely distributed, or 1 is more densely distributed.

[0015] In a possible design, the first compact representation of the encoding target descriptor includes at least one first compact representation substring of the encoding target descriptor, and the second compact representation of the encoding target descriptor includes at least one second compact representation substring of the encoding target descriptor, and the at least one first compact representation substring is different from the at least one second compact representation substring.

[0016] For example, each of the at least one first compact representation substrings is different from the corresponding second compact representation substring. For example, the first compact representation includes three first compact representation substrings (A1, A2, and A3), and the second compact representation includes three second compact representation substrings (B1, B2, and B3). Here, A1 is different from B1, A2 is different from B2, and A3 is different from B3.

[0017] In a possible design, the at least one second compact representation substring is partially or entirely less than the corresponding first compact representation substring, or the at least one second compact representation substring is partially or entirely greater than the corresponding first compact representation substring.

[0018] In this embodiment, through mapping by using the first table, mapping by using the second table, mapping by using the exclusive OR value, or mapping by using the difference, at least one second compact representation substring is partially or entirely less than or equal to the corresponding first compact representation substring, and the first compact representation substring is mapped in the first direction. Here, the first direction can be a direction with a small value so as to increase the density of 0s distributed within the second compact representation and reduce the data volume of the bit stream of the 3D map obtained later through encapsulation. Alternatively, through mapping by using the first table, mapping by using the second table, mapping by using the exclusive OR value, or mapping by using the difference, at least one second compact representation substring is partially or entirely greater than or equal to the corresponding first compact representation substring, and the first compact representation substring is mapped in the second direction. Here, the second direction can be a direction with a large value so as to increase the density of 1s distributed within the second compact representation and reduce the data volume of the bit stream of the 3D map obtained later through encapsulation.

[0019] In a possible design, based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor, the step of obtaining the second compact representation of the descriptor to be encoded may include the step of obtaining the second compact representation of the descriptor to be encoded by looking up a first table based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor.

[0020] In a possible design, the first table includes at least one encoded compact representation substring and at least one third compact representation substring corresponding to at least one second reference compact representation substring. The at least one encoded compact representation substring includes the at least one first compact representation substring of the encoding target descriptor, and the at least one second reference compact representation substring includes at least one first reference compact representation substring of the at least one reference descriptor. Based on the first compact representation of the encoding target descriptor and the compact representation of the at least one reference descriptor, the step of obtaining the second compact representation of the encoding target descriptor by looking up the first table may include: obtaining, from the first table, the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring based on the at least one first compact representation substring of the encoding target descriptor and the at least one first reference compact representation substring of the reference descriptor corresponding to the encoding target descriptor; and obtaining the second compact representation of the encoding target descriptor based on the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring.

[0021] In a possible design, the first table is a multi-dimensional array, and each element in the multi-dimensional array corresponds to the at least one encoded compact representation substring or the at least one second reference compact representation substring.

[0022] In a possible design, the step of obtaining a second compact representation of the descriptor to be encoded based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor may include: obtaining the second compact representation of the descriptor to be encoded by looking up a second table based on the first compact representation of the descriptor to be encoded, where the second table is established based on the compact representation of the at least one reference descriptor.

[0023] In a possible design, the compact representation of the at least one reference descriptor includes at least one first reference compact representation substring, and the second table includes the at least one first reference compact representation substring and at least one fourth compact representation substring corresponding to at least one first compact representation substring of the descriptor to be encoded. Then, the step of obtaining the second compact representation of the descriptor to be encoded by looking up the second table based on the first compact representation of the descriptor to be encoded includes: obtaining, from the second table, the at least one fourth compact representation substring corresponding to the at least one first compact representation substring based on the at least one first compact representation substring of the descriptor to be encoded, where the second table is established based on the at least one first reference compact representation substring, and obtaining the second compact representation of the descriptor to be encoded based on the at least one fourth compact representation substring corresponding to the at least one first compact representation substring.

[0024] In a possible design, the second table is at least a one-dimensional array, and each element in the at least one-dimensional array corresponds to the at least one first compact representation substring.

[0025] In a possible design, based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor, the step of obtaining the second compact representation of the descriptor to be encoded may include using, as the second compact representation of the descriptor to be encoded, an exclusive logical sum value or difference between the compact representation of the at least one reference descriptor and the first compact representation of the descriptor to be encoded.

[0026] In a possible design, the at least one reference descriptor corresponding to the descriptor to be encoded includes at least one previous compression (or encoding) descriptor of the descriptor to be encoded, at least one preset descriptor, or at least one descriptor determined by using a neural network model or through clustering.

[0027] In a possible design, the compression process includes a quantization process or a binarization process, and the quantization process or the binarization process is used to reduce the number of bits of the descriptor to be encoded.

[0028] According to a second aspect, embodiments of the present application provide a 3D map decompression method. The method includes the steps of decrypting a bitstream of a 3D map to obtain a second compact representation of a to-be-decoded descriptor, where the to-be-decoded descriptor corresponds to at least one 3D map point on the 3D map; obtaining a compact representation of at least one reference descriptor corresponding to the to-be-decoded descriptor, where the at least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map; obtaining a first compact representation of the to-be-decoded descriptor based on the second compact representation of the to-be-decoded descriptor and the compact representation of the at least one reference descriptor corresponding to the to-be-decoded descriptor; and obtaining reconstruction data of the at least one 3D map point based on the first compact representation of the to-be-decoded descriptor.

[0029] In a possible design, the method may further include the steps of transmitting 3D map request information and receiving the bitstream of the 3D map corresponding to the 3D map request information.

[0030] In a possible design, the data distribution of the first compact representation is different from the data distribution of the second compact representation.

[0031] In a possible design, the first compact representation of the to-be-decoded descriptor includes at least one first compact representation substring of the to-be-decoded descriptor, and the second compact representation of the to-be-decoded descriptor includes at least one second compact representation substring of the to-be-decoded descriptor, and the at least one first compact representation substring is different from the at least one second compact representation substring.

[0032] In a possible design, at least part or all of the at least one second compact representation substring is less than or equal to the corresponding first compact representation substring, or at least part or all of the at least one second compact representation substring is greater than or equal to the corresponding first compact representation substring.

[0033] In a possible design, the step of obtaining the first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded may include the step of obtaining the first compact representation of the descriptor to be decoded by looking up a first table based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded.

[0034] In a possible design, the step of obtaining the first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded is the step of obtaining the first compact representation of the descriptor to be decoded by looking up a second table based on the second compact representation of the descriptor to be decoded, and the step of establishing the second table based on the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded may be included.

[0035] In a possible design, the step of obtaining the first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded may include using, as the first compact representation of the descriptor to be decoded, an exclusive logical sum value or sum of the compact representation of the at least one reference descriptor and the second compact representation of the descriptor to be decoded.

[0036] According to a third aspect, an embodiment of the present application provides a 3D map compression device. The device may be a chip or a system-on-chip in an electronic device or a server, or may be a functional module within an electronic device or a server and configured to implement a method according to any one of the first aspect or possible implementation forms of the first aspect. For example, the device may include a compression processing module, a mapping module, and a encapsulation module.

[0037] The compression processing module is configured to perform compression processing on a descriptor to be encoded to obtain a first compressed representation of the descriptor to be encoded, where the descriptor to be encoded corresponds to at least one 3D map point on a 3D map. The mapping module is configured to obtain a compressed representation of at least one reference descriptor corresponding to the descriptor to be encoded, where the at least one reference descriptor corresponds to at least one encoded (or compressed) 3D map point on the 3D map. The mapping module is further configured to obtain a second compressed representation of the descriptor to be encoded based on the first compressed representation of the descriptor to be encoded and the compressed representation of the at least one reference descriptor. And the encapsulation module is configured to encapsulate the second compressed representation to obtain a bitstream of the 3D map.

[0038] In a possible design, the apparatus may further include a transmission module. Here, the transmission module is configured to receive 3D map request information transmitted by an electronic device and transmit, in response to the 3D map request information, the bitstream of the 3D map corresponding to the 3D map request information to the electronic device, or the transmission module is configured to transmit the bitstream of the 3D map to a server.

[0039] In a possible design, the data distribution of the first compact representation is different from the data distribution of the second compact representation.

[0040] In a possible design, the first compact representation of the encoding target descriptor includes at least one first compact representation substring of the encoding target descriptor, and the second compact representation of the encoding target descriptor includes at least one second compact representation substring of the encoding target descriptor, and the at least one first compact representation substring is different from the at least one second compact representation substring.

[0041] In a possible design, the at least one second compact representation substring is partially or entirely less than the corresponding first compact representation substring, or the at least one second compact representation substring is partially or entirely greater than the corresponding first compact representation substring.

[0042] In a possible design, the mapping module is configured to obtain the second compact representation of the encoding target descriptor by looking up a first table based on the first compact representation of the encoding target descriptor and the compact representation of the at least one reference descriptor.

[0043] In a possible design, the first table includes at least one encoded compact representation substring and at least one third compact representation substring corresponding to at least one second reference compact representation substring. The at least one encoded compact representation substring includes the at least one first compact representation substring of the encoding target descriptor, and the at least one second reference compact representation substring includes the at least one first reference compact representation substring of the at least one reference descriptor. The mapping module obtains, from the first table, the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring based on the at least one first compact representation substring of the encoding target descriptor and the at least one first reference compact representation substring of the reference descriptor corresponding to the encoding target descriptor, and obtains the second compact representation of the encoding target descriptor based on the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring. It is configured as such.

[0044] In a possible design, the first table is a multi-dimensional array, and each element in the multi-dimensional array corresponds to the at least one encoded compact representation substring or the at least one second reference compact representation substring.

[0045] In a possible design, the mapping module is configured to obtain the second compact representation of the descriptor to be encoded by looking up a second table based on the first compact representation of the descriptor to be encoded, and the second table is established based on the compact representation of the at least one reference descriptor.

[0046] In a possible design, the compact representation of the at least one reference descriptor includes at least one first reference compact representation substring, and the second table includes the at least one first reference compact representation substring and at least one fourth compact representation substring corresponding to the at least one first compact representation substring of the descriptor to be encoded. The mapping module obtains the at least one fourth compact representation substring corresponding to the at least one first compact representation substring from the second table based on the at least one first compact representation substring of the descriptor to be encoded. The second table is established based on the at least one first reference compact representation substring, and is configured to obtain the second compact representation of the descriptor to be encoded based on the at least one fourth compact representation substring corresponding to the at least one first compact representation substring.

[0047] In a possible design, the second table is at least a one-dimensional array, and each element in the at least one-dimensional array corresponds to the at least one first compact representation substring.

[0048] In a possible design, the mapping module is configured to use an exclusive logical sum value or difference between the compact representation of the at least one reference descriptor and the first compact representation of the descriptor to be encoded as the second compact representation of the descriptor to be encoded.

[0049] In a possible design, the descriptor to be encoded includes a zone descriptor or a 3D map point descriptor.

[0050] In a possible design, the at least one reference descriptor corresponding to the descriptor to be encoded includes at least one compressed descriptor before the descriptor to be encoded, at least one preset descriptor, or at least one descriptor determined by using a neural network model or through clustering.

[0051] In a possible design, the compression process includes a quantization process or a binarization process, and the quantization process or the binarization process is used to reduce the number of bits of the descriptor to be encoded.

[0052] According to a fourth aspect, an embodiment of the present application provides a 3D map decompression device. The device may be a chip or a system-on-chip in an electronic device or a server, or may be a functional module within an electronic device or a server and configured to implement a method according to any one of the second aspect or possible implementation forms of the second aspect. For example, the device may include a decapsulation module, a demapping module, and a configuration module.

[0053] The decapsulation module is configured to decapsulate the bitstream of the 3D map in order to obtain a second compact representation of the descriptor to be decoded corresponding to at least one 3D map point on the 3D map, where the descriptor to be decoded corresponds to at least one 3D map point on the 3D map. The demapping module is configured to obtain a compact representation of at least one reference descriptor corresponding to the descriptor to be decoded, where the at least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map. The demapping module is further configured to obtain a first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded. And the reconstruction module is configured to obtain reconstruction data of the at least one 3D map point based on the first compact representation of the descriptor to be decoded.

[0054] In a possible design, the apparatus may further include a transmission module configured to transmit 3D map request information and receive the bitstream of the 3D map corresponding to the 3D map request information.

[0055] In a possible design, the data distribution of the first compact representation is different from the data distribution of the second compact representation.

[0056] In a possible design, the first compact representation of the descriptor to be decoded includes at least one first compact representation substring of the descriptor to be decoded, and the second compact representation of the descriptor to be decoded includes at least one second compact representation substring of the descriptor to be decoded, and the at least one first compact representation substring is different from the at least one second compact representation substring.

[0057] In a possible design, at least part or all of the at least one second compact representation substring is less than or equal to the corresponding first compact representation substring, or at least part or all of the at least one second compact representation substring is greater than or equal to the corresponding first compact representation substring.

[0058] In a possible design, the demapping module is configured to obtain the first compact representation of the descriptor to be decoded by looking up a first table based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded.

[0059] In a possible design, the demapping module is configured to obtain the first compact representation of the descriptor to be decoded by looking up a second table based on the second compact representation of the descriptor to be decoded, and the second table is established based on the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded.

[0060] In a possible design, the demapping module is configured to use the exclusive logical sum value or sum of the compact representation of the at least one reference descriptor and the second compact representation of the descriptor to be decoded as the first compact representation of the descriptor to be decoded.

[0061] According to a fifth aspect, an embodiment of the present application provides a 3D map compression device. The device includes one or more processors and a memory configured to store one or more programs. Here, when the one or more programs are executed by the one or more processors, the one or more processors can implement a method according to any one of the first aspect or a possible design of the first aspect.

[0062] According to a sixth aspect, an embodiment of the present application provides a 3D map decompression device. The device includes one or more processors and a memory configured to store one or more programs. Here, when the one or more programs are executed by the one or more processors, the one or more processors can implement a method according to any one of the second aspect or a possible design of the second aspect.

[0063] According to a seventh aspect, an embodiment of the present application provides a computer-readable storage medium including a computer program. Here, when the computer program is executed on a computer, the computer can implement a method according to any one of the first aspect or a possible design of the first aspect, or implement a method according to any one of the second aspect or a possible design of the second aspect.

[0064] According to an eighth aspect, the present application provides a computer program or a computer program product. Here, when the computer program or the computer program product is executed on a computer, the computer can implement a method according to any one of the first aspect and the second aspect, and any one of the possible implementations of the first aspect and the second aspect.

[0065] According to a ninth aspect, the present application provides a non-transitory storage medium including a bitstream encoded by using a method according to any one of the first aspect.

[0066] According to the tenth aspect, an embodiment of the present application provides a 3D map compression method. The method includes performing a clustering process on an encoding target descriptor, obtaining information about at least a first center of the encoding target descriptor, where the encoding target descriptor corresponds to at least one 3D map point on a 3D map, and the information about the at least one first center represents a center obtained after the clustering process is performed on at least one sub-feature of the encoding target descriptor; obtaining information about at least a first reference center of a reference descriptor corresponding to the encoding target descriptor, where the reference descriptor corresponds to at least one encoded 3D map point on the 3D map, and the information about the at least one first reference center represents a center obtained after the clustering process is performed on at least one sub-feature of the reference descriptor; obtaining information about at least a second center of the encoding target descriptor based on the information about the at least one first center and the information about the at least one first reference center; performing a compression process on the information about the at least one second center of the encoding target descriptor to obtain a compact representation of the encoding target descriptor; encapsulating the compact representation; and obtaining a bitstream of the 3D map.

[0067] In this embodiment, clustering processing is first performed, and first center information is used to represent the original descriptor to be encoded, reducing the data volume of the descriptor to be encoded. Then, information about at least one first center is mapped to information about at least one second center, changing the data distribution of the center information, thereby further reducing the data volume of the bitstream of the 3D map obtained through compression processing and encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0068] For example, the descriptor to be encoded may be divided into one or more subfeatures, and clustering processing is performed on each subfeature to obtain one or more first center information. The one or more first center information may be the numbers of one or more clustering centers.

[0069] For example, the descriptor to be encoded may be a zone descriptor on the 3D map or a 3D map point descriptor. The descriptor to be encoded may also be referred to as the current descriptor.

[0070] The reference descriptor corresponds to at least one encoded 3D map point on the 3D map. In other words, the reference descriptor may be an encoded 3D map point descriptor of the 3D map, or may be an encoded zone descriptor of the 3D map.

[0071] When the descriptor to be encoded is a zone descriptor, the reference descriptor corresponding to the descriptor to be encoded may be a reference zone descriptor. When the descriptor to be encoded is a 3D map point descriptor, the reference descriptor corresponding to the descriptor to be encoded may be a reference 3D map point descriptor.

[0072] In a possible design, the method may further include receiving 3D map request information sent by an electronic device, and in response to the 3D map request information, sending a bitstream of a 3D map corresponding to the 3D map request information to the electronic device. An entity (which may be an electronic device or a server (e.g., a cloud server)) for implementing the compression method in the tenth aspect may receive 3D map request information sent by another electronic device and send a bitstream of a 3D map corresponding to the 3D map request information to the electronic device.

[0073] In a possible design, the method may further include sending the bitstream of the 3D map to a server. An entity (which may be a first electronic device) for implementing the compression method in the tenth aspect may send the bitstream of the 3D map to the server, and the server may send the bitstream of the 3D map to a second electronic device.

[0074] In a possible design, the step of obtaining information about at least one second center of the descriptor to be encoded based on information about at least one first center of the descriptor to be encoded and information about the at least one first reference center may include obtaining information about the at least one second center of the descriptor to be encoded by looking up a first table based on the information about the at least one first center and the information about the at least one first reference center.

[0075] In a possible design, the first table includes information about at least one coding center and information about at least one third center corresponding to information about at least one coding center and information about at least one second reference center, where the information about at least the coding center includes the information about at least one first center, and the information about at least one second reference center includes the information about at least one first reference center. Then, based on the information about at least one first center and the information about at least one first reference center, by looking up the first table, the step of obtaining the information about at least one second center of the encoding target descriptor includes obtaining, from the first table, the information about at least one third center corresponding to the information about at least one first center and the information about at least one first reference center based on the information about at least one first center and the information about at least one first reference center, and using the information about at least one third center as the information about at least one second center of the encoding target descriptor.

[0076] In a possible design, the first table is a multi-dimensional array, and each element in the multi-dimensional array corresponds to the information about at least the coding center or the information about at least one second reference center.

[0077] In a possible design, the step of obtaining information about the at least one second center of the descriptor to be encoded based on information about the at least one first center and information about the at least one first reference center includes the step of looking up a second table based on information about the at least one first center to obtain information about the at least one second center of the descriptor to be encoded, and the step of establishing the second table based on information about the at least one first reference center.

[0078] In a possible design, the second table includes information about the at least one first reference center and information about at least one fourth center corresponding to information about the at least one first center. And the step of obtaining information about the at least one second center of the descriptor to be encoded by looking up the second table based on information about the at least one first center includes the step of obtaining, from the second table, information about the at least one fourth center corresponding to information about the at least one first center based on information about the at least one first center, and the step of using the information about the at least one fourth center corresponding to information about the at least one first center as information about the at least one second center of the descriptor to be encoded.

[0079] In a possible design, the second table is an array having at least one dimension, and each element in the array having the at least one dimension corresponds to information about the at least one first center.

[0080] In a possible design, for at least one first center of the encoding target descriptor and information about at least one first reference center, the step of obtaining information about at least one second center of the encoding target descriptor based on the information about the at least one first center and the information about the at least one first reference center includes using the exclusive logical sum value or difference between the information about the at least one first center and the information about the at least one first reference center as the information about the at least one second center of the encoding target descriptor.

[0081] According to an eleventh aspect, an embodiment of the present application provides a 3D map decompression method. The method includes the step of decompressing the bitstream of the 3D map, obtaining information about at least one second center of the decoding target descriptor, where the decoding target descriptor corresponds to at least one 3D map point on the 3D map; obtaining information about at least one first reference center of the reference descriptor corresponding to the decoding target descriptor, where the reference descriptor corresponds to at least one decoded 3D map point on the 3D map, and the information about the at least one first reference center represents the center obtained after clustering processing is performed on at least one sub-feature of the reference descriptor; obtaining information about at least one first center of the decoding target descriptor based on the information about the at least one second center and the information about the at least one first reference center; and obtaining the reconstructed data of the at least one 3D map point based on the information about the at least one first center of the decoding target descriptor.

[0082] In a possible design, the method may further include the step of sending 3D map request information, and the step of receiving the bitstream of the 3D map corresponding to the 3D map request information, or the step of receiving the bitstream of the 3D map sent by an electronic device.

[0083] In a possible design, the step of obtaining information about at least one first center of a descriptor to be decoded based on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded may include the step of obtaining information about at least one first center of a descriptor to be decoded by looking up a first table based on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0084] In a possible design, the step of obtaining information about at least one first center of a descriptor to be decoded based on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded includes the step of obtaining information about at least one first center of a descriptor to be decoded by looking up a second table based on information about at least one second center of at least one of the descriptors to be decoded. Here, the second table is established based on information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0085] In a possible design, the step of obtaining information about at least one first center of a descriptor to be decoded based on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded includes the step of using the exclusive logical sum value or sum of information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded as information about at least one first center of a descriptor to be decoded.

[0086] According to the 12th aspect, an embodiment of the present application provides a 3D map compression device. The device may be a chip or a system-on-chip in an electronic device or a server, or may be a functional module within an electronic device or a server and configured to implement a method according to any one of the 10th aspect or possible implementation forms of the 10th aspect. For example, the device may include a mapping module, a compression processing module, and a encapsulation module.

[0087] The mapping module is configured to perform a clustering process on the encoding target descriptor in order to obtain information about at least one first center of the encoding target descriptor. Here, the encoding target descriptor corresponds to at least one 3D map point on the 3D map, and the information about at least one first center represents the center obtained after the clustering process is performed on at least one sub-feature of the encoding target descriptor. The mapping module is further configured to obtain information about at least one first reference center of at least one reference descriptor corresponding to the encoding target descriptor. Here, the reference descriptor corresponds to at least one encoded 3D map point on the 3D map, and the information about the at least one first reference center represents the center obtained after the clustering process is performed on at least one sub-feature of the reference descriptor. And, based on the information about the at least one first center of the encoding target descriptor and the information about the at least one first reference center, the mapping module is configured to obtain information about at least one second center of the encoding target descriptor. The compression processing module is configured to perform a compression process on the information about the at least one second center of the encoding target descriptor in order to obtain a compact representation of the encoding target descriptor. And The encapsulation module is configured to encapsulate the compact representation in order to obtain the bitstream of the 3D map.

[0088] In a possible design, the apparatus may further include a transmission module. Here, the transmission module is configured to receive 3D map request information transmitted by an electronic device and, in response to the 3D map request information, transmit the bitstream of the 3D map corresponding to the 3D map request information to the electronic device, or the transmission module is configured to transmit the bitstream of the 3D map to a server.

[0089] In a possible design, the mapping module is specifically configured to obtain information about at least one second center of the descriptor to be encoded by looking up a first table based on information about at least one first center of the descriptor to be encoded and information about at least one first reference center.

[0090] In a possible design, the first table includes information about at least one coding center and information about at least one third center corresponding to information about at least one coding center and information about at least one second reference center. Here, the information about at least the coding center includes information about at least one first center of the encoding target descriptor, and the information about at least one second center includes information about at least one first reference center. And the mapping module is configured to obtain, from the first table, information about at least one third center corresponding to information about at least one first center and information about at least one first reference center, based on information about at least one first center of the encoding target descriptor and information about at least one first reference center, and use the information about at least one third center as information about at least one second center of the encoding target descriptor.

[0091] In a possible design, the first table is a multi-dimensional array, and each element in the multi-dimensional array corresponds to the information about at least the coding center or the information about at least one second reference center.

[0092] In a possible design, the mapping module is configured to obtain information about at least one second center of the encoding target descriptor by looking up a second table based on the information about at least one first center of the encoding target descriptor. Here, the second table is established based on the information about at least one first reference center.

[0093] In a possible design, the second table includes information about at least one first reference center and information about at least one fourth center corresponding to information about at least one first center of the encoding target descriptor. And the mapping module is configured to, in particular, obtain, from the second table, information about at least one fourth center corresponding to information about at least one first center based on the information about at least one first center of the encoding target descriptor, and use the information about at least one fourth center corresponding to the information about at least one first center as information about at least one second center of the encoding target descriptor.

[0094] In a possible design, the second table is an array of at least one dimension, and each element in the at least one-dimensional array corresponds to the information about at least one first center.

[0095] In a possible design, the mapping module is configured to, in particular, use the exclusive logical sum value or difference between the information about at least one first center of the encoding target descriptor and the information about at least one first reference center as the information about at least one second center of the encoding target descriptor.

[0096] According to a thirteenth aspect, an embodiment of the present application provides a 3D map decompression device. The device may be a chip or a system-on-chip in an electronic device or a server, or may be a functional module in an electronic device or a server and configured to implement a method according to any one of the eleventh aspect or possible implementation forms of the eleventh aspect. For example, the device may include a decapsulation module, a demapping module, and a reconstruction module.

[0097] The decapsulation module is configured to decapsulate the bitstream of the 3D map in order to obtain information about at least one second center of the descriptor to be decoded, where the descriptor to be decoded corresponds to at least one 3D map point on the 3D map. The demapping module is configured to obtain information about at least one first reference center of the reference descriptor corresponding to the descriptor to be decoded, where the reference descriptor corresponds to at least one decoded 3D map point on the 3D map, and the information about the at least one first reference center represents the center obtained after clustering processing is performed on at least one sub-feature of the reference descriptor, and is configured to obtain information about at least one first center of the descriptor to be decoded based on the information about the at least one second center of the descriptor to be decoded and the information about the at least one first reference center of the reference descriptor corresponding to the descriptor to be decoded. And The reconstruction module is configured to obtain reconstruction data of the at least one 3D map point based on the information about the at least one first center of the descriptor to be decoded.

[0098] In a possible design, the apparatus may further include a transmission module configured to transmit 3D map request information and receive the bitstream of the 3D map corresponding to the 3D map request information, or configured to receive the bitstream of the 3D map transmitted by an electronic device.

[0099] In a possible design, the demapping module is configured to obtain information about at least one first center of the descriptor to be decoded by looking up a first table, based particularly on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of a reference descriptor corresponding to the descriptor to be decoded.

[0100] In a possible design, the demapping module is configured to obtain information about at least one first center of the descriptor to be decoded by looking up a second table based particularly on information about at least one second center of at least one of the descriptors to be decoded, where the second table is established based on information about at least one first reference center of a reference descriptor corresponding to the descriptor to be decoded.

[0101] In a possible design, the demapping module is configured to use, as information about at least one first center of the descriptor to be decoded, an exclusive logical sum value or sum of information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of a reference descriptor corresponding to the descriptor to be decoded.

[0102] According to a 14th aspect, an embodiment of the present application provides a 3D map compression device. The device includes one or more processors and a memory configured to store one or more programs. Here, when the one or more programs are executed by the one or more processors, the one or more processors can implement a method according to any one of the 10th aspect or the possible designs of the 10th aspect.

[0103] According to the 15th aspect, an embodiment of the present application provides a 3D map decompression device. The device includes one or more processors and a memory configured to store one or more programs. Here, when the one or more programs are executed by the one or more processors, the one or more processors can implement a method according to any one of the 11th aspect or a possible design of the 11th aspect.

[0104] According to the 16th aspect, an embodiment of the present application provides a computer-readable storage medium including a computer program. Here, when the computer program is executed on a computer, the computer can implement a method according to any one of the 10th aspect or a possible design of the 10th aspect, or implement a method according to any one of the 11th aspect or a possible design of the 11th aspect.

[0105] According to the 17th aspect, the present application provides a computer program or a computer program product. Here, when the computer program or the computer program product is executed on a computer, the computer can implement a method according to any one of the 10th aspect and the 11th aspect, and a method according to any one of the possible implementations of the 10th aspect and the 11th aspect.

[0106] According to the 18th aspect, the present application provides a non-transitory storage medium including a bitstream encoded by using a method according to any one of the 10th aspect.

[0107] The technical solutions from the third aspect to the ninth aspect of this application are consistent with the technical solutions of the first aspect and the second aspect of this application. It should be understood that in the aspects and corresponding realizable implementation forms, similar beneficial effects are achieved. Details will not be described again. The technical solutions from the twelfth aspect to the eighteenth aspect of this application are consistent with the technical solutions of the tenth aspect and the eleventh aspect of this application. In the aspects and corresponding realizable implementation forms, similar beneficial effects are achieved. Details will not be described again.

Brief Description of the Drawings

[0108]

Figure 1

Figure 2

Figure 3

Figure 4a

Figure 4b

Figure 4c

Figure 4d

Figure 4e

Figure 4f

Figure 4g

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Embodiments for Carrying Out the Invention

[0109] The following describes embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. The terms used in the embodiments of the present application are merely used to describe specific embodiments of the present application and are not intended to limit the present application.

[0110] In the embodiments of the specification, claims, and accompanying drawings of the present application, terms such as "first" and "second" are merely intended for distinction and description, and should not be understood as indicating or implying relative importance or indicating or implying an order. In addition, the terms "include" and "have", and any variations thereof, are intended to cover non-exclusive inclusion. For example, a method, system, product, or device includes a series of steps or units. It is not necessarily limited to the steps or units explicitly listed, but may include other steps or units that are not explicitly listed and are specific to the process, method, product, or device.

[0111] In this application, "at least one (item)" means one or more, and it should be understood that "plurality" means two or more. The term "and / or" describes the relationship between related objects and indicates that three relationships can exist. For example, "A and / or B" can indicate the following three cases: only A exists, only B exists, both A and B exist. Here, A and B can be singular or plural. The character " / " generally indicates an "or" relationship between related objects. "At least one of the following items", or similar expressions, indicate any combination of items and include any combination of one or more of the items. For example, at least one of a, b, or c can represent a, b, c, "a and b", "a and c", "b and c", or "a, b, and c". Here, a, b, and c can be singular or plural.

[0112] In the embodiments of this application, terms such as "example" and "for example" represent examples, illustrations, or explanations. Any embodiment or design method described as an "example" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than another embodiment or design method. Exactly, terms such as "example" or "for example" are intended to present relative concepts in a specific way.

[0113] As used in the embodiments of this application or the appended claims, the singular terms "a / an", "the", and "this" are also intended to include the plural unless the context clearly dictates otherwise. The term "and / or" as used herein indicates any and all possible combinations of one or more of the associated listed items and is to be understood to encompass such combinations. As used herein, the singular forms "one", "a", and "the" are also intended to include the plural unless the context clearly indicates otherwise. Further, the terms "comprise", "have", "include", and / or "contain" are used herein to specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0114] It should be noted that the terms used in the embodiments of this application are merely intended to describe specific embodiments and are not intended to limit this application.

[0115] FIG. 1 is a schematic diagram of an application architecture according to one embodiment of the present application. As shown in FIG. 1, the application architecture includes a plurality of electronic devices and a server. The plurality of electronic devices may include a first electronic device and one or more second electronic devices (in FIG. 1, two second electronic devices are used as an example). The one or more second electronic devices are some electronic devices other than the first electronic device. The plurality of electronic devices can communicate with the server, and the plurality of electronic devices can communicate with each other. For example, any device within the application architecture can communicate with another device in modes such as Wireless Fidelity (Wi-Fi (registered trademark)) communication, Bluetooth (registered trademark) communication, cellular 2nd, 3rd, 4th, or 5th generation (2 / 3 / 4 / 5G) communication. It should be understood that other communication modes including future communication modes can be further used between the server and the electronic device. This is not particularly limited in this specification. It should be noted that the term "one or more second electronic devices" in this embodiment of the present application is merely used to represent electronic devices other than the first electronic device and does not limit whether the types of the plurality of electronic devices are the same.

[0116] An electronic device can be various types of devices equipped with a camera and a display component. For example, the electronic device can be a terminal device such as a mobile phone, a tablet computer, a notebook computer, or a video recorder (e.g., in FIG. 1, the electronic device is a mobile phone). Alternatively, the electronic device can be a device used for interaction in a virtual scene, including VR glasses, AR devices, MR interaction devices, etc. Alternatively, the electronic device can be a wearable electronic device such as a smart watch or a smart band. Alternatively, the electronic device can be a device carried on a carrier such as a vehicle, an autonomous vehicle, a drone, an industrial robot. The specific form of the electronic device is not particularly limited in this embodiment of the present application.

[0117] In addition, the electronic device may be called a user equipment (UE), a subscriber station, a mobile unit, a subscriber unit, a radio unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, a terminal device, an access terminal, a mobile terminal, a wireless terminal, an intelligent terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or another suitable term.

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

[0119] In this embodiment of the present application, a virtual scene application program (application, APP), such as a VR application, an AR application, or an MR application, may be installed on an electronic device, and the VR application, the AR application, or the MR application may be executed based on a user operation (for example, tap, touch, slide, shake, or voice control). The electronic device may collect image information of any object in the environment by using a sensor, and then may display a virtual object on a display component based on the collected image information. The virtual object may be a virtual object in a VR scene, an AR scene, or an MR scene (that is, an object in a virtual environment).

[0120] In this embodiment of the present application, a navigation application program, a detection application program, or a control application program may be installed on the electronic device, and the corresponding application may be executed based on a user operation or a pre-set program. The electronic device may execute route planning, object detection, carrier operation, and other applications based on the pose and other status information of the electronic device in the current environment.

[0121] The pose is position and orientation information of the electronic device, and may be an absolute pose in a world coordinate system, or a relative pose with respect to a point in the environment.

[0122] The image information in this embodiment of the present application includes, but is not limited to, an image or video (without depth information) collected by a camera, an image or video with depth information collected by a depth sensor, data collected by a LiDAR, or data collected by a millimeter-wave radar (RaDAR).

[0123] In this embodiment of the present application, it should be noted that the virtual scene application program in the electronic device may be a built-in application program in the electronic device, or an application program provided by a third-party service provider and installed by the user. This is not particularly limited in this specification.

[0124] In this embodiment of the present application, a simultaneous localization and mapping (SLAM) system can be further configured for the electronic device. The SLAM system can create a map in a completely unknown environment and use that map to perform positioning, pose (position and orientation) determination, navigation, etc. In this embodiment of the present application, the map created by the SLAM system is called a SLAM map. The SLAM map may be understood as a map drawn by the SLAM system based on the environmental information collected by the 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 video camera, a depth camera, a LiDAR, a millimeter-wave radar. The IMU may include sensors such as, for example, a gyroscope or an accelerometer.

[0125] In this embodiment of the present application, the SLAM map is also called a 3D map. It should be noted that the 3D map, although not limited thereto, may include the SLAM map and further include a three-dimensional map created by using another technique. This is not particularly limited in this embodiment of the present application.

[0126] In a possible implementation, the 3D map may include a plurality of 3D map points, and correspondingly, the data of the 3D map can include the data of the plurality of 3D map points. A 3D map point is a point of interest in the environment or a point with prominent features.

[0127] Possible ways to obtain 3D map points are to use a plurality of devices such as LiDAR, an unmanned aerial vehicle for aerial photography (oblique photography) at a certain field of view, a high-resolution panoramic camera, a high-resolution industrial camera, similar ones for photography, etc., and ORB (oriented fast and rotated brief), SIFT (scale-invariant feature transform), SURF (speeded up robust feature), BRIEF (binary robust independent elementary feature), BRISK (binary robust invariant scalable keypoint), FREAK (fast retina keypoint), D2Net, or a self-supervised training-based feature point detection and descriptor extraction (SuperPoint) method for extracting 3D map points from the data captured by the above devices.

[0128] The data of the 3D map point may include the following.

[0129] (1) 3D map point descriptor

[0130] The 3D map point descriptor is a vector and is used to represent the local features of the corresponding 3D map point. In a visual positioning algorithm, the 3D map point descriptor is used to perform matching between 3D map points. A possible method is to calculate the distance (which can be the Euclidean distance, inner product distance, Hamming distance, etc.) between two 3D map point descriptors. If the distance is less than the threshold, the two 3D map points are considered to match.

[0131] (2) Spatial position of the 3D map point

[0132] The spatial position of the 3D map point may be represented by using the x-axis, y-axis, and z-axis in a three-dimensional space, or may be represented by using longitude, latitude, and altitude, or may be represented by using polar coordinates, etc. The method for representing the spatial position of the 3D map point is not particularly limited in this embodiment of the present application. The spatial position of the 3D map point may be the absolute position of the 3D map point, or may be the relative position of the 3D map point. For example, using the center position of the entire zone as the origin, the spatial position of all 3D map points is the offset position relative to the spatial position of the origin.

[0133] In this embodiment of the present application, a number may be assigned to each 3D map point and written into the data of the 3D map, or the storage sequence of a plurality of 3D map points in the memory may be used to implicitly indicate the numbers of the 3D map points. It should be noted that the sequence of the plurality of 3D map points included in the 3D map has no practical significance. Therefore, the aforementioned numbers can be regarded as identifiers used to identify 3D map points and distinguish between 3D map points. However, this number is not used to limit the sequence of a plurality of 3D map points. For example, the 3D map includes three 3D map points numbered 1, 2, and 3, and the three 3D map points may be processed in the sequence of 1, 2, and 3, or in the sequence of 3, 2, and 1, or in the sequence of 2, 1, and 3.

[0134] In a possible implementation, the data of the 3D map further includes a plurality of zone descriptors, and any one of the plurality of zone descriptors is used to describe some or all of the features of a plurality of 3D map points. In other words, for any one of the plurality of zone descriptors, the zone descriptor can be used to describe some or all of the features of a plurality of 3D map points. Therefore, the zone descriptor has a one-to-many relationship with the 3D map points. The features of each of the plurality of 3D map points can be described by some or all of the plurality of zone descriptors. Therefore, the 3D map points have a one-to-many relationship with the zone descriptors. It can be seen that the plurality of zone descriptors have a many-to-many relationship with the plurality of 3D map points. The method for generating the zone descriptor is not limited to this, but includes conventional methods such as bag of words (BOW), or vector of locally aggregated descriptors (VLAD), and new methods based on NetVLAD, or artificial intelligence (AI). Similarly, numbers can also be used to identify the plurality of zone descriptors and distinguish between the plurality of zone descriptors. However, this number does not limit the order of the plurality of zone descriptors.

[0135] In a possible implementation, the data of the 3D map further includes a correspondence relationship between the 3D map points and the descriptors, and the correspondence relationship clearly describes the 3D map points corresponding to any descriptor and the descriptors corresponding to any 3D map point.

[0136] Optionally, the correspondence may be explicitly described by using a correspondence table between the numbers of zone descriptors and the numbers of 3D map points. For example, a 3D map includes three zone descriptors numbered from T1 to T3, and six 3D map points. Here, the numbers of the spatial locations of the six 3D map points are from P 1 to P 6 and the numbers of the six 3D map point descriptors are from F 1 to F 6 The correspondence table is shown in Table 1. [Table 1] Table 1

[0137] It should be noted that Table 1 is one example of the correspondence table between the numbers of zone descriptors and the numbers of 3D map points. However, the correspondence table may also be presented in another format or method. This is not particularly limited in the present application.

[0138] Optionally, the correspondence may also be implicitly described by using the storage locations of zone descriptors and 3D map points. For example, T1 is stored in the memory first, then the data of P 1 , P 2 , and P 3 are stored, then T2 is stored, then the data of P 2 and P 3 are stored, and finally T3 is stored, and then the data of P 3 , P 4 , P 5 , and P 6 are stored.

[0139] Figure 2 is a schematic diagram of the structure of an electronic device 20 according to one embodiment of the present application. As shown in Figure 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 Figure 1. It should be understood that the structure shown in Figure 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 the components of the structure shown in Figure 2, some components may be combined, or some components may be divided, or different component arrangements may be used. Each component shown in Figure 2 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing circuits and / or application-specific integrated circuits.

[0140] 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, a sensor 26, a positioning module 27 configured to perform device positioning, and a transceiver 28 configured to perform communication. These components may communicate with each other by using one or more buses 29.

[0141] 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 a timer necessary for data transmission and timing control to the processor 211, where the timer can implement a clock function for data transmission and timing control. The processor 211 can generate an operation control signal based on an instruction operation code and a timing signal to control instruction fetching and instruction execution. The power management module 213 integrated into the chip 21 is mainly configured to supply a stable and high-precision voltage to the chip 21 and other components of the electronic device 20.

[0142] The processor 211 may also be referred to as a central processing unit (CPU). Specifically, the processor 211 may 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, and / or a neural-network processing unit (NPU). Different processing units may be independent components or may be integrated into one or more processors.

[0143] In a possible implementation, the processor 211 may include one or more interfaces. The interfaces 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) interface, and the like.

[0144] The memory 22 uses the bus 29 to communicate with the processor 211may be connected to, or may be coupled to, the processor 211. The memory 22 is configured to store various software programs and / or a plurality of instruction groups. The memory 22 may include a high-speed random access memory (e.g., cache), or may include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or another non-volatile solid state storage device. The memory 22 may store an operating system, such as an embedded operating system like Android, Apple mobile platform (iOS), Microsoft Windows® operating system (Windows), or Linux®. The memory 22 may further store data such as image data, point cloud data, 3D map data, pose data, coordinate system conversion information, and map update information. The memory 22 may further store computer-executable program code. The computer-executable program code includes instructions, such as communication program instructions of a SLAM system or related program instructions. The memory 22 may further store one or more application programs, such as virtual scene application programs like AR / VR / MR, map application programs, image management application programs, and navigation and control application programs. The memory 22 may further store a user interface program. The user interface program can clearly display the content of the application program, such as virtual objects in a virtual scene like AR / VR / MR, by using a graphical operation interface, and present the content by using the display component 24, and receive the user's application program control operations by using input controls such as menus, dialog boxes, or buttons.

[0145] The user interface 23 may be, for example, a touch panel. The touch panel can detect the user's operation commands on the touch panel. The user interface 23 may alternatively be, for example, a keypad, physical buttons, or a mouse.

[0146] The electronic device 20 may include one or more display components 24. The electronic device 20 can realize a display function together with the display component 24, the graphics processing unit (GPU) and the application processor (AP) in the chip 21, etc. The GPU is a microprocessor for realizing image processing. The GPU is connected to the display component 24 and the application processor. The GPU executes mathematical and geometric calculations for graphics rendering. The display component 24 can display the interface content output by the electronic device 20, and can display, for example, images, videos, etc. in a virtual scene such as AR / VR / MR. The interface content may include interfaces such as a running application program, a system-level menu, and specifically, input interface elements such as buttons, text input boxes, scroll bars, or menus, and output interface elements such as windows, labels, images, videos, or animations.

[0147] The display component 24 can be a display panel, a lens (e.g., VR glasses), a projection screen, etc. The display panel may also be referred to as a display screen and can be, for example, a touch screen, a flexible screen, a curved screen, etc., or it can be another optical component. It should be understood that the display screen of the electronic device in this embodiment of the present application can be a touch screen, a flexible screen, a curved screen, or another form of screen. In other words, the display screen of the electronic device has an image display function, but the specific material and shape of the display screen are not particularly limited.

[0148] For example, when the display component 24 includes a display panel, the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a mini LED, a micro LED, a micro OLED, a quantum dot light-emitting diode (QLED), etc. In addition, in a possible implementation, the touch panel of the user interface 23 may be connected to the display panel of the display component 24. For example, the touch panel may be disposed under the display panel, and the touch panel is configured to detect the touch pressure applied to the display panel when the user performs a touch operation (e.g., tap, slide, or touch) by using the display panel, and the display panel is configured to display content.

[0149] The camera 25 may be a monocular camera, a binocular camera, or a depth camera, and is configured to photograph or record the environment in order to acquire an image or a video. The image or video image collected by the camera 25 may be used, for example, as input data for a SLAM system, or the image or video may be displayed by using the display component 24.

[0150] In a possible implementation, the camera 25 may also be considered as a sensor. The image collected by the camera 25 may be in the IMG format, or may be in another format type. This is not particularly limited in this embodiment of the present application.

[0151] The sensor 26 may be configured to collect data related to a state change of the electronic device 20 (for example, rotation, swing, movement, or vibration). The data collected by the sensor 26 may be used as input data for a SLAM system. The sensor 26 may include one or more sensors, for example, 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 transmit light, for example, a laser, infrared, or radar wave. The optical receiver is configured to detect reflected light, for example, a reflected laser, infrared, or radar wave.

[0152] It should be noted that the sensor 26 may further include many other sensors such as an inertial sensor, a barometer, a magnetometer, and a cyclometer. This is not particularly limited in this embodiment of the present application.

[0153] The positioning module 27 is configured to perform physical positioning of the electronic device 20, for example, to obtain the 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 arranged in the satellite positioning module to assist in positioning. GNSS may include the BeiDou system, the global positioning system (GPS )、 GLONASS (global navigation satellite system, GLONASS )、 and the Galileo navigation satellite system (Galileo ) to is not limited.

[0154] The transceiver 28 is configured to perform 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, each configured to transmit and receive radio frequency signals. In a particular 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, a storage medium, etc. In a possible implementation, the transceiver 28 can be further implemented on a separate chip. The transceiver 28 supports data communication in at least one of 2G, 3G, 4G, and 5G networks, etc., and / or supports at least one short-range wireless communication mode among Bluetooth (BT) communication, Wireless Fidelity (Wi-Fi) communication, near field communication (NFC), infrared (IR) wireless communication, ultra wide band (UWB) communication, and ZigBee (registered trademark) communication.

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

[0156] FIG. 3 is a schematic diagram related to 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 can communicate with each other by using one or more buses 304.

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

[0158] Memory 302 may be connected to processor 301 by using bus 304, or may be coupled to processor 301. Memory 302 is configured to store various types of program codes and / or multiple instruction groups, as well as data (such as map data and pose data). In a specific implementation, memory 302 includes, but is not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM), Compact Disc Read-Only Memory (CD-ROM), and the like.

[0159] Transceiver 303 mainly integrates a receiver and a transmitter. The receiver is configured to receive data (such as a request or an image) transmitted by an electronic device, and the transmitter is configured to transmit data (such as map data or pose data) to an electronic device.

[0160] It should be understood that server 30 shown in FIG. 3 is merely an example provided in this embodiment of the present application. Server 30 may further have more components than the illustrated components. This is not particularly limited in this embodiment of the present application.

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

[0162] The term "coupling" as used in this embodiment of the present application means a direct connection or a connection via one or more intermediate components or circuits.

[0163] Figure 4a is a schematic diagram according to an embodiment of the present application, related to an application scenario. As shown in Figure 4a, in this application scenario, the electronic device collects image information by using a sensor, and determines the current posture of the electronic device with reference to the image information and the 3D map from the server.

[0164] The 3D map is provided by the server. Specifically, the server creates a 3D map, then performs a compression process on 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 a decompression process to obtain the reconstructed data of the 3D map, and determines the current posture of the electronic device with reference to the collected image information and the reconstructed data of the 3D map. The posture may be the position information of the electronic device and the absolute posture in the world coordinate system, or the relative posture with respect to a point in the environment.

[0165] In this embodiment of the present application, the server may create a 3D map in advance, and after performing a compression process, store the 3D map locally, as a result, storage space can be saved. In addition, the server may alternatively transmit the compressed data of the 3D map to other devices (for example, cloud storage).

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

[0167] The server performs a compression process on the 3D map to save local storage space.

[0168] 2. The electronic device sends a map download request to the server. The map download request is triggered in two ways.

[0169] (1) The user launches a map application program installed on the electronic device, and the application program uploads the location information obtained based on GPS positioning or Wi-Fi positioning to the server corresponding to the application program. The upload operation may trigger a map download request. Since the uploaded content includes location information, the server can perform a preliminary estimation based on the location information and send the compressed data of the 3D map of the zone to which the measurement point indicated by the location information belongs to the electronic device. The range of the zone to which the measurement point indicated by the location information belongs may be preset. For example, the zone to which the measurement point belongs may be the administrative region at each level where the measurement point is located (including county, city, country, administrative region, etc.), or may be a circular zone centered on the measurement point with a specified distance as the radius.

[0170] (2) The user launches a map application program installed on the electronic device and actively inputs or selects a zone within the application program. For example, the user actively enters "xx Business Center" or selects "Street A" from the list "Street A, Street B, and Street C". The above operation of the user may trigger a map download request. Regardless of whether the user enters or selects a geographical location, the server sends the compressed data of the 3D map of the geographical location to the electronic device.

[0171] In this embodiment of the present application, it should be understood that the map download request can be triggered in another way in addition to the above two methods. For example, the electronic device automatically detects whether the conditions for downloading a 3D map or starting the download of a 3D map are met, or the electronic device starts the download of the 3D map by detecting a change in ambient light or a change in the environment, and requests to download the 3D map within the range of the zone from the server. The size of the spread of the zone is not particularly limited.

[0172] 3. The server transmits the compressed data of the 3D map to the electronic device.

[0173] 4. The electronic device collects image information by using a sensor.

[0174] It should be noted that step 3 and step 4 are independent of each other, and the order thereof is not limited.

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

[0176] 6. The electronic device performs positioning on the 3D map based on the image information to obtain the posture corresponding to the image information.

[0177] After receiving the compressed data of the 3D map, the electronic device does not need to immediately decompress the compressed data, and only needs to decompress the compressed data to obtain the reconstructed data of the 3D map before performing positioning based on the image information. For example, the user can download the compressed data of the 3D map within the range of the zone in the way of downloading an "offline map" in advance, and decompress the compressed data of the 3D map only when positioning is required.

[0178] Figure 4b is a schematic diagram related to an application scenario according to one embodiment of the present application. As shown in Figure 4b, in this application scenario, the electronic device collects image information by using a sensor, and the server determines the current posture of the electronic device with reference to the image information and the 3D map of the electronic device.

[0179] The 3D map is provided by the server. Specifically, the server creates a 3D map, then compresses the 3D map, and stores the compressed data of the 3D map locally. When receiving the image information from the electronic device, the server performs a decompression process to obtain the reconstructed data of the 3D map, and determines the current posture of the electronic device with reference to the image information and the reconstructed data of the 3D map.

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

[0181] 2. The electronic device collects image information by using a sensor.

[0182] 3. The electronic device sends the image information to the server.

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

[0184] It should be understood that the server performs a compression process on the 3D map to save storage space.

[0185] 5. The server performs positioning on the 3D map based on the image information to obtain the posture corresponding to the image information.

[0186] 6. The server sends the posture to the electronic device.

[0187] Figure 4c is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in Figure 4c, in this application scenario, the electronic device collects image information by using a sensor, and determines the current posture of the electronic device with reference to the collected image information and the 3D map.

[0188] The 3D map is provided by the electronic device. Specifically, the electronic device creates a 3D map, then compresses the 3D map, and stores the compressed data of the 3D map locally. When image information is collected, the electronic device executes a decompression process to obtain the reconstructed data of the 3D map, and determines the current posture of the electronic device with reference to the collected image information and the reconstructed data of the 3D map.

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

[0190] It should be understood that the electronic device performs a compression process on the 3D map to save storage space.

[0191] 2. The electronic device collects image information by using a sensor.

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

[0193] 4. The electronic device performs positioning on the 3D map based on the image information to obtain the posture corresponding to the image information.

[0194] Figure 4d is a schematic diagram of an application scenario according to an embodiment of the present application. Figure 4dAs shown, in this application scenario, the second electronic device collects image information by using sensors, and determines the current posture of the second electronic device with reference to the image information and the 3D map from the server.

[0195] The 3D map is created by the first electronic device. Specifically, the first electronic device creates a 3D map, performs a compression process on the 3D map, and then transmits the compressed data of the 3D map to the server. Next, the server transmits the compressed data of the 3D map to the second electronic device. The second electronic device performs a decompression process to obtain the reconstructed data of the 3D map, and determines the current posture of the second electronic device with reference to the collected image information and the reconstructed data of the 3D map.

[0196] In this embodiment of the present application, the first electronic device may create a 3D map in advance, perform a compression process, and then transmit the 3D map to the server, so that the transmission bandwidth can be saved.

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

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

[0199] Since the first electronic device transmits the 3D map after the compression process, the transmission bandwidth can be saved and the transmission efficiency can be improved.

[0200] 3. The second electronic device transmits a map download request to the server.

[0201] Alternatively, the second electronic device can transmit a map download request based on the trigger method shown in FIG. 4a.

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

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

[0204] 6. The second electronic device collects image information by using a sensor.

[0205] 7. The second electronic device performs positioning on the 3D map based on the image information to obtain the posture corresponding to the image information.

[0206] FIG. 4e is a schematic diagram according to an embodiment of the present application related to an application scenario. As shown in the figure 4e In this application scenario, the second electronic device collects image information by using a sensor, and the server determines the current posture of the second electronic device with reference to the image information from the second electronic device and the 3D map from the first electronic device.

[0207] The 3D map is created by the first electronic device. Specifically, the first electronic device creates a 3D map, performs a compression process on the 3D map, and then sends the compressed data of the 3D map to the server. The server performs a decompression process to obtain the reconstructed data of the 3D map, and determines the current posture of the second electronic device with reference to the image information from the second electronic device and the reconstructed data of the 3D map.

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

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

[0210] 3. The second electronic device collects image information by using a sensor.

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

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

[0213] 6. The server performs positioning on the 3D map based on the image information to obtain the pose corresponding to the image information.

[0214] 7. The server sends the pose obtained through positioning to the second electronic device.

[0215] Figure 4f is a schematic diagram of an application scenario according to an embodiment of the present application. As shown in the figure 4f In this application scenario, as shown, the second electronic device collects image information by using a sensor, and determines the current pose of the second electronic device with reference to the image information from the first electronic device and the 3D map.

[0216] The 3D map is created by the first electronic device. Specifically, the first electronic device creates a 3D map, performs compression processing on the 3D map, and then sends the compressed data of the 3D map to the second electronic device. The second electronic device performs decompression processing to obtain the reconstructed data of the 3D map, and determines the current pose of the second electronic device with reference to the collected image information and the 3D map from the first electronic device.

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

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

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

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

[0221] 5. The second electronic device collects image information by using a sensor.

[0222] 6. The second electronic device performs positioning on the 3D map based on the image information to obtain the posture corresponding to the image information.

[0223] The positioning algorithm used in the embodiments shown from FIGS. 4a to 4f may include the following steps.

[0224] (1) Extract a to-be-retrieved zone descriptor from the image information. The algorithm used to extract the to-be-retrieved zone descriptor is consistent with the algorithm used to extract the zone descriptor from the 3D map.

[0225] (2) Extract to-be-retrieved 3D map points from the image information, and obtain the spatial positions and to-be-retrieved 3D map point descriptors of the to-be-retrieved 3D map points. Here, the algorithm used to extract the to-be-retrieved 3D map point descriptor is consistent with the algorithm used to extract the 3D map point descriptor from the 3D map.

[0226] (3) Based on the to-be-retrieved zone descriptor, search for a plurality of candidate zone descriptors from the plurality of zone descriptors included in the data of the 3D map.

[0227] In an embodiment of the present application, the distance between the search target zone descriptor and each of the plurality of zone descriptors can be calculated. The distance can include Hamming distance, Manhattan distance, Euclidean distance, etc. Then, at least one zone descriptor that satisfies the condition (for example, the distance is less than the threshold) is selected as a candidate zone descriptor.

[0228] (4) The search target 3D map point descriptor is separately matched with the 3D map point descriptors corresponding to the plurality of candidate zone descriptors. Here, the matching is to calculate the similarity between the search target 3D map point descriptor and each of the 3D map point descriptors corresponding to the plurality of candidate zone descriptors, and find the most similar 3D map point.

[0229] (5) Based on the matched 3D map points, the pose of the electronic device is obtained through calculations using a pose solution algorithm such as perspective-n-point (PnP) camera pose estimation or efficient perspective-n-point camera pose estimation (EPnP).

[0230] In any one of the application scenarios from FIGS. 4a to 4f, in order to obtain the current posture of the electronic device, positioning based on the 3D map in the embodiments of the present application is performed. The posture can be applied in fields such as AR navigation, AR man-machine interaction, assisted driving, autonomous driving, etc. Assuming that AR navigation is executed based on the posture, FIG. 4g is a schematic diagram related to the user interface displayed by the electronic device according to one embodiment of the present application. The electronic device can display the user interface shown in FIG. 4g based on the posture. The user interface may include a navigation arrow display for navigating to Conference Room 2. And the navigation arrow display for navigating to Conference Room 2 can be a virtual object obtained from the server or locally obtained based on the posture. The user interface may further include image information collected by the sensor. For example, the building shown in FIG. 4g. The user goes to Conference Room 2 with reference to the user interface of the electronic device as shown in FIG. 4g.

[0231] It should be noted that in the embodiments of the present application, the reconstructed data of the 3D map obtained through decompression can also be called the re-established data of the 3D map.

[0232] The embodiments shown in FIGS. 4a to 4f are all related to the compression process and decompression process of the 3D map. The embodiments of the present application provide a plurality of methods for performing the above-mentioned compression process and decompression process. The following describes the methods of the compression process and decompression process.

[0233] Based on the above description, the following provides a 3D map compression method provided in one embodiment of the present application. For convenience, the embodiments of the method described below are expressed as a combination of a series of operation steps. However, those skilled in the art should understand that the specific implementation of the technical solution of the present application is not limited to the sequence of the series of operation steps described.

[0234] FIG. 5 is a schematic flowchart of a 3D map compression method according to one embodiment of the present application. In some embodiments, the method may be applied to an electronic device shown in any one of FIGS. 1 to 4f, or may be applied to a server shown in any one of FIGS. 1 to 4f. The method includes the following steps, but is not limited thereto.

[0235] S101. Perform a compression process on a to-be-encoded descriptor to obtain a first compressed representation of the to-be-encoded descriptor.

[0236] The to-be-encoded descriptor corresponds to at least one 3D map point on the 3D map. The to-be-encoded descriptor may be a zone descriptor, and the zone descriptor corresponds to a plurality of 3D map points on the 3D map. Alternatively, the to-be-encoded descriptor may be a 3D map point descriptor, and the 3D map point descriptor corresponds to one 3D map point on the 3D map.

[0237] In a possible implementation, to obtain a first compact representation of the to-be-encoded descriptor, a quantization process is performed on the to-be-encoded descriptor. The quantization process includes, but is not limited thereto, scalar quantization, vector quantization, product quantization, etc. For example, the to-be-encoded descriptor may be mapped to one or more quantization indices through the quantization process, and the one or more quantization indices are the first compact representation of the to-be-encoded descriptor. Each of the one or more quantization indices corresponds to one quantization center.

[0238] In another possible implementation, to obtain the first compact representation of the descriptor to be encoded, a binarization process is performed on the descriptor to be encoded. The binarization process includes, but is not limited to, iterative quantization (ITQ) hashing, locality-sensitive hashing (LSH), spectral hashing method, and the like. For example, the binarization process may map the descriptor to be encoded to a Hamming space (also called a binary space) to obtain a binary representation. Here, the binary representation is the first compact representation of the descriptor to be encoded.

[0239] Regardless of whether quantization processing is performed or binarization processing is performed, the amount of bits in the first compact representation of the descriptor to be encoded is generally significantly less than the amount of bits of the original descriptor to be encoded. Therefore, the purpose of saving storage space and / or transmission bandwidth is achieved.

[0240] S102. Obtain the compact representation of at least one reference descriptor corresponding to the descriptor to be encoded.

[0241] At least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map. For example, the 3D map point descriptor and the spatial position of the 3D map point are encoded separately, and at least one encoded 3D map point can be at least one encoded 3D map point descriptor. The encoding of the spatial position of the 3D map point is not particularly limited in this embodiment of the present application. Indeed, in some cases, it will be understood that at least one encoded 3D map point can be at least one encoded 3D map point descriptor and the spatial position of at least one encoded 3D map point. This is not limited in this embodiment of the present application.

[0242] Similar to the compression process performed on the descriptor to be encoded, in some embodiments, a compression process can be performed on at least one reference descriptor to obtain a compressed representation of the at least one reference descriptor. For example, when a quantization process is performed on the descriptor to be encoded to obtain a first compact representation of the descriptor to be encoded, a quantization process is performed on at least one reference descriptor to obtain a compact representation of the at least one reference descriptor. When a binarization process is performed on the descriptor to be encoded to obtain a first compact representation of the descriptor to be encoded, a binarization process is performed on at least one reference descriptor to obtain a compact representation of the at least one reference descriptor.

[0243] At least one reference descriptor corresponding to the descriptor to be encoded is described as follows. In a possible implementation, at least one reference descriptor may include at least one encoded or compressed descriptor before the descriptor to be encoded. One reference descriptor is used as an example, and the reference descriptor may be an encoded or compressed descriptor before the descriptor to be encoded. In another possible implementation, at least one reference descriptor may include at least one preset descriptor. The preset descriptor may be flexibly set based on requirements. For example, the preset descriptor may be 10101010. In yet another possible implementation, at least one reference descriptor may include at least one descriptor determined by using a neural network model or according to a clustering algorithm. The neural network model may be a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a recursive residual convolutional neuron network (RR-CNN), etc. This is not particularly limited in this embodiment of the present application. For example, at least one reference descriptor may be determined based on a plurality of descriptors in a database or a plurality of descriptors of an image to be retrieved by using a CNN.

[0244] S103. Obtain a second compact representation of the descriptor to be encoded based on the first compact representation of the descriptor to be encoded and the compact representation of at least one reference descriptor.

[0245] Since the first compact representation of the encoding target descriptor is mapped to the second compact representation, the data distribution of the second compact representation is different from that of the first compact representation. In this embodiment of the present application, the data distribution of the compact representation (for example, the first compact representation or the second compact representation) is the distribution of binary numbers in the compact representation. In this embodiment of the present application, since the data distribution of the compact representation is changed, the data amount of the bit stream of the 3D map obtained later through encapsulation is reduced, and the resource overhead required to transmit the bit stream of the 3D map is reduced.

[0246] In some embodiments, the first compact representation may include at least one first compact representation substring, and the second compact representation may include at least one second compact representation substring. Correspondingly, the compact representation of each of the at least one reference descriptor includes at least one first reference compact representation substring. FIG. 6 is a schematic diagram related to the comparison between the data distribution of the second compact representation and the data distribution of the first compact representation according to an embodiment of the present application. As shown in FIG. 6, the horizontal axis is the compact representation substring, the vertical axis is the occurrence frequency, the hatched bar is the data distribution of the first compact representation, and the blank bar is the data distribution of the second compact representation. As can be seen from FIG. 6, the first compact representation substrings included in the first compact representation have different values and are generally evenly distributed. However, different from the first compact representation, the second compact representation substrings included in the second compact representation are distributed around a certain value (for example, from 0 to 22 in FIG. 6). Therefore, it can be seen that the data distribution of the second compact representation is different from that of the first compact representation.

[0247] It should be noted that FIG. 6 is merely an example for illustration purposes. The data distribution of the second compact representation in this embodiment of the present application may alternatively be in another form. For example, the second compact representation substrings included in the second compact representation are distributed around some other value (e.g., from 230 to 255). The data distribution of the second compact representation in this embodiment of the present application is not limited to FIG. 6.

[0248] S104. Encapsulate the second compact representation to obtain the bitstream of the 3D map.

[0249] To obtain the bitstream of the 3D map, processes such as entropy encoding may be performed on the second compact representation.

[0250] The second compact representation obtained by performing the compression process from S101 to S103 may also be referred to as compressed data. Then, in S104, the compressed data is encapsulated, and as a result, the bitstream of the 3D map is obtained. Such a compression process is also referred to as an encoding process.

[0251] Optionally, this embodiment may be executed by a server, and the server may further receive 3D map request information (e.g., the map download request in FIG. 4a) transmitted by an electronic device, and in response to the 3D map request information, transmit the bitstream of the 3D map corresponding to the 3D map request information to the electronic device. Alternatively, this embodiment may be executed by an electronic device, and the electronic device may further transmit the bitstream of the 3D map to the server. The electronic device may be a user terminal device or an electronic device carried by a carrier.

[0252] In some embodiments, the number of at least one reference descriptor corresponding to the descriptor to be encoded, or the difference between the number of the reference descriptor and the number of the descriptor to be encoded, may be further encapsulated, such that the bitstream of the 3D map further conveys the number of at least one reference descriptor, or the difference between the numbers. During decompression, at least one reference descriptor can be obtained based on the number of at least one reference descriptor or the difference between the numbers. And decompression is performed based on at least one reference descriptor.

[0253] In this embodiment, in order to obtain the first compact representation of the descriptor to be encoded, a compression process is performed on the descriptor to be encoded, and based on the first compact representation of the descriptor to be encoded and the compact representation of at least one reference descriptor, a second compact representation of the descriptor to be encoded is obtained. And in order to obtain the bitstream of the 3D map, the second compact representation is encapsulated. The compression process is first performed to reduce the data amount of the descriptor to be encoded, and then the first compact representation is mapped to the second compact representation, so that the data distribution of the compact representation is changed. Thereby, further reducing the data amount of the bitstream of the 3D map obtained through encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0254] FIG. 7 is a schematic flowchart of a 3D map decompression method according to an embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may be applied to the server shown in any one of FIGS. 1 to 4f. This method includes the following steps, but is not limited thereto.

[0255] To obtain the second compact representation of the to-be-decoded descriptor, the bitstream of the 3D map is decapsulated.

[0256] The to-be-decoded descriptor corresponds to at least one 3D map point on the 3D map. The to-be-decoded descriptor may be a zone descriptor, and the zone descriptor corresponds to a plurality of 3D map points on the 3D map. Alternatively, the to-be-decoded descriptor may be a 3D map point descriptor, and the 3D map point descriptor corresponds to one 3D map point on the 3D map.

[0257] The second compact representation of the to-be-decoded descriptor in this embodiment is the second compact representation of the to-be-encoded descriptor in the embodiment of FIG. 5.

[0258] It should be noted that the second compact representation is obtained by decapsulating the bitstream of the 3D map in S201. Such a decompression process is also called a decoding process. The second compact representation obtained through decapsulation may also be called compressed data. Then, the decompression process of the compressed data is executed from S202 to S20.

[0259] S202. Obtain the compact representation of at least one reference descriptor corresponding to the to-be-decoded descriptor.

[0260] At least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map. For example, the 3D map point descriptor and the spatial position of the 3D map point are decoded separately, and at least one decoded 3D map point can be at least one decoded 3D map point descriptor. The decoding of the spatial position of the 3D map point is not particularly limited in this embodiment of the present application. Indeed, in some cases, it will be understood that at least one decoded 3D map point can be at least one decoded 3D map point descriptor and the spatial position of at least one decoded 3D map point. This is not limited in this embodiment of the present application.

[0261] The descriptions and accounts related to at least one reference descriptor corresponding to the descriptor to be decoded are the same as the descriptions and accounts related to the reference descriptor in the embodiment shown in FIG. 5. In a possible implementation, at least one reference descriptor may include at least one decoded or decompressed descriptor before the descriptor to be decoded. One reference descriptor is used as an example, and the reference descriptor may be a decoded or decompressed descriptor before the descriptor to be decoded. In another possible implementation, at least one reference descriptor may include at least one preset descriptor. The preset descriptor can be flexibly set based on requirements. For example, the preset descriptor can be 10101010. In still another possible implementation, at least one reference descriptor may include at least one descriptor determined by using a neural network model or according to a clustering algorithm. In yet another possible implementation, when the bitstream of the 3D map is decapsulated, the number of at least one reference descriptor corresponding to the descriptor to be decoded, or the difference between the number of the reference descriptor and the number of the descriptor to be decoded, can be further obtained. And at least one reference descriptor corresponding to the descriptor to be decoded is obtained based on the number of at least one reference descriptor corresponding to the descriptor to be decoded, or the difference between the number of the reference descriptor and the number of the descriptor to be decoded.

[0262] S203. Obtain the first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded.

[0263] The second compact representation of the descriptor to be decoded is demapped with respect to the first compact representation of the descriptor to be decoded. The first compact representation of the descriptor to be decoded here is the first compact representation of the descriptor to be encoded in the embodiment of FIG. 5.

[0264] S204. Obtain reconstruction data of at least one 3D map point based on the first compact representation of the descriptor to be decoded.

[0265] The reconstruction data of at least one 3D map point is obtained based on the first compact representation of the descriptor to be decoded. The reconstructed data of at least one 3D map point can be used for positioning based on the 3D map. For example, when the first compact representation is one or more quantization indexes, an inverse quantization process can be performed on the one or more quantization indexes to obtain the reconstruction data of the 3D map point.

[0266] In this embodiment, the bitstream of the 3D map is decapsulated to obtain the second compact representation of the descriptor to be decoded. The first compact representation of the descriptor to be decoded is obtained based on the second compact representation of the descriptor to be decoded and the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded. Then, the reconstruction data of at least one 3D map point is obtained based on the first compact representation of the descriptor to be decoded. The encoder first performs a compression process to reduce the data amount of the descriptor to be encoded, and then maps the first compact representation to the second compact representation, so that the data distribution of the compact representation is changed. Thereby, the data amount of the bitstream of the 3D map obtained through encapsulation is further reduced, and the resource overhead required to transmit the bitstream of the 3D map is reduced. The decoder can demap the second compact representation obtained through decapsulation to obtain the first compact representation, and further obtain the reconstructed data of the 3D map point.

[0267] In the foregoing embodiment, the first compact representation may be mapped to the second compact representation in different ways.

[0268] Method 1: Mapping by using the first table (also called mapping by using a static table)

[0269] The second compact representation of the descriptor to be encoded is obtained by looking up the first table based on the first compact representation of the descriptor to be encoded and the compact representation of at least one reference descriptor. The first table may be preset.

[0270] Method 2: Mapping by using the second table (also called mapping by using a dynamic table)

[0271] The second compact representation of the descriptor to be encoded is obtained by looking up the second table based on the first compact representation of the descriptor to be encoded. The second table is established based on the compact representation of at least one reference descriptor.

[0272] Method 3: Difference or exclusive logical sum

[0273] The exclusive logical sum value or difference between the compact representation of at least one reference descriptor and the first compact representation of the descriptor to be encoded is used as the second compact representation of the descriptor to be encoded.

[0274] In the following, the aforementioned Method 1, Method 2, and Method 3 are described in detail, and several specific encoding and decoding embodiments are used for description.

[0275] FIG. 8 is a schematic flowchart of a 3D map compression method according to an embodiment of the present application. In some embodiments, the method may be applied to an electronic device shown in any one of FIGS. 1 to 4f, or may be applied to a server shown in any one of FIGS. 1 to 4f. In the 3D map compression method in this embodiment, the foregoing method 1 is used to map a first compact representation to a second compact representation. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring, and the second compact representation includes at least one second compact representation substring. The method includes the following steps, but is not limited thereto.

[0276] S301. To obtain a first compressed representation of an encoding target descriptor, perform a compression process on the encoding target descriptor. The first compact representation includes at least one first compact representation substring.

[0277] S302. Obtain a compact representation of at least one reference descriptor corresponding to the encoding target descriptor. The compact representation of at least one reference descriptor includes at least one first reference compact representation substring of each of the at least one reference descriptor.

[0278] For the related explanations and descriptions of S301 and S302, refer to the detailed explanations and descriptions of S101 and S102 in the embodiment shown in FIG. 5. Details will not be described again in this specification.

[0279] S303. Based on at least one first compact representation substring and at least one first reference compact representation substring, obtain at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring from a first table.

[0280] In this embodiment, the first table may include at least one encoded compact representation substring and at least one third compact representation substring corresponding to at least one second reference compact representation substring.

[0281] At least one encoded compact representation substring in the first table includes at least one first compact representation substring of the encoding target descriptor, and at least one second reference compact representation substring in the first table includes at least one first reference compact representation substring of at least one reference descriptor. Therefore, at least one corresponding third compact representation substring can be obtained from the first table based on at least one first compact representation substring and at least one first reference compact representation substring.

[0282] The first table may have a plurality of different formats. In one example, the first table may be a multi-dimensional array, such as a two-dimensional array or a three-dimensional array.

[0283] Assuming that the first table is a two-dimensional array, T[i][j] represents the third compact representation substring corresponding to the encoded compact representation substring i and the second reference compact representation substring j. Here, i ranges from 0 to N - 1, j ranges from 0 to M - 1, N and M are positive integers greater than 1, N represents the total number of encoded compact representation substrings, and M represents the total number of second reference compact representation substrings. One first compact representation substring is used as an example. When the first table is used to map the first compact representation substring, the first compact representation substring can be used to find the substring x that is the same as the first compact representation substring among the N encoded compact representation substrings. Here, x ∈ [0, N - 1]. Then, the first reference compact representation substring corresponding to the first compact representation substring is used to find the substring y that is the same as the first reference compact representation substring among the M second reference compact representation substrings. Here, y ∈ [0, M - 1]. In this case, T[x][y] is the corresponding third compact representation substring.

[0284] T[i][j] can be obtained through mapping by using a function. This function can be a function for the encoded compact representation substring i and the reference compact representation substring j. Certainly, it can be understood that the function may alternatively be another function. The specific form of the function is not particularly limited in this embodiment of the present application.

[0285] In some embodiments, T[i][j] is less than or equal to the encoded compact representation substring i, or greater than or equal to the encoded compact representation substring i.

[0286] When T[i][j] in the first table is less than or equal to the encoded compact representation substring i, the third compact representation substring obtained by using the first table is less than or equal to the first compact representation substring.

[0287] When T[i][j] in the first table is greater than or equal to the encoded compact representation substring i, the third compact representation substring obtained by using the first table is greater than or equal to the first compact representation substring.

[0288] Assuming that the first table is a three-dimensional array, in one example, T[i][j][1], T[i][j][2], …, T[i][j][K] represent K third compact representation substrings corresponding to the encoded compact representation substring i and the reference compact representation substring j. Here, i ranges from 0 to N - 1, j ranges from 0 to M - 1, N, M, and K are positive integers greater than 1, N represents the total number of encoded compact representation substrings, and M represents the total number of reference compact representation substrings. One first compact representation substring is used as an example. When the first table is used to map the first compact representation substring, the first compact representation substring is used to find the substring x that is the same as the first compact representation substring among the N encoded compact representation substrings. Here, x ∈ [0, N - 1]. Then, the compact representation substring corresponding to the first compact representation substring is used to find the substring y that is the same as the compact representation substring among the M reference compact representation substrings. Here, y ∈ [0, M - 1]. In this case, T[x][y][1], T[x][y][2], …, T[x][y][K] are multiple corresponding third compact representation substrings.

[0289] T[i][j][1], T[i][j][2], …, T[i][j][K] can be obtained through mapping by using a function. This function can be a function for the encoded compact representation substring i and the reference compact representation substring j. In one example, the function can be a random function. Certainly, it will be understood that the function can alternatively be another function. The specific form of this function is not particularly limited in this embodiment of the present application.

[0290] In another example, T[i][j 1 [j 2 represents the encoded compact representation substring i, the second reference compact representation substring j 1 , and the third compact representation substring corresponding to the second reference compact representation substring j 2 . Here, i ranges from 0 to N - 1, j 1 and j 2 each range from 0 to M - 1, N and M are positive integers greater than 1, N represents the total number of encoded compact representation substrings, and M represents the total number of second reference compact representation substrings. One first compact representation substring is used as an example. When a first table is used to map the first compact representation substring, the first compact representation substring is used to find a substring x in the N encoded compact representation substrings that is the same as the first compact representation substring. Here, x ∈ [0, N - 1]. One second reference compact representation substring j 1 corresponding to the first compact representation substring is used to find a substring y in the M second reference compact representation substrings that is the same as the second reference compact representation substring j 1 . Here, y ∈ [0, M - 1]. And another second reference compact representation substring j 2is used to find a substring z that is the same as the second reference compact representation substring j among the M second reference compact representation substrings. Here, z ∈ [0, M-1]. In this case, T[x][y][z] is the corresponding third compact representation substring. 2 T[x][y][z] can be obtained through mapping by using a function. This function can be a function related to the encoded compact representation substring i, the second reference compact representation substring j

[0291] , and the second reference compact representation substring j 1 . In one example, the function can be a random function. Certainly, it will be understood that this function can alternatively be another function. The specific form of the function is not particularly limited in this embodiment of the present application. 2

[0292] S304. Obtain the second compact representation of the descriptor to be encoded based on at least one first compact representation substring and at least one third compact representation substring corresponding to at least one first reference compact representation substring.

[0293] ​In a possible implementation, one first compact representation substring and one first reference compact representation substring correspond to one third compact representation substring. Each of at least one corresponding third compact representation substring is used as one second compact representation substring, and at least one obtained second compact representation substring is the second compact representation of the descriptor to be encoded. Since T[i][j] in the first table is less than or equal to the encoded compact representation substring i, the second compact representation substring obtained by mapping the first compact representation substring by using the first table is less than or equal to the first compact representation substring. Therefore, through the mapping by using the first table, the first compact representation substring can be mapped in the first direction. Here, the first direction may be the direction with a smaller value (for example, the left direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring is a smaller value, the data distribution of the second compact representation is more concentrated, and the data amount of the bitstream of the 3D map obtained through entropy encoding is reduced. Alternatively, since T[i][j] in the first table is greater than or equal to the encoded compact representation substring i, the second compact representation substring obtained by mapping the first compact representation substring by using the first table is greater than or equal to the first compact representation substring. Therefore, through the mapping by using the first table, the first compact representation substring can be mapped in the second direction. Here, the second direction may be the direction with a larger value (for example, the right direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring is a larger value, the data distribution of the second compact representation is more concentrated, and the data amount of the bitstream of the 3D map obtained through entropy encoding is reduced.

[0294] In another possible implementation, one first compact representation substring and one first reference compact representation substring correspond to a plurality of third compact representation substrings. One second compact representation substring is obtained based on the plurality of corresponding third compact representation substrings. At least one second compact representation substring obtained in this way is the second compact representation of the descriptor to be encoded. For example, one first compact representation substring and the plurality of third compact representation substrings corresponding to one first reference compact representation substring are T[i][j][1], T[i][j][2], …, T[i][j][K]. In this case, one second compact representation substring can be obtained based on T[i][j][1], T[i][j][2], …, T[i][j][K]. For example, T[i][j][1], T[i][j][2], …, T[i][j][K] may be averaged, and the average value is used as one second compact representation substring. Certainly, it will be understood that one second compact representation substring can be obtained in another way based on the plurality of third compact representation substrings. In this embodiment of the present application, examples are not described one by one. Since the second compact representation substring obtained by using the first table is below the encoded compact representation substring i, the second compact representation substring obtained by mapping the first compact representation substring by using the first table is below the first compact representation substring. Therefore, through the mapping by using the first table, the first compact representation substring can be mapped in the first direction. Here, the first direction may be a direction having a small value (for example, the left direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring is a small value, the data distribution of the second compact representation is more concentrated, and the data amount of the bit stream of the 3D map obtained through entropy encoding is reduced.Instead, since the second compact representation substring obtained by using the first table is equal to or greater than the encoded compact representation substring i, the second compact representation substring obtained by mapping the first compact representation substring by using the first table is equal to or greater than the first compact representation substring. Therefore, through the mapping by using the first table, the first compact representation substring can be mapped in the second direction. Here, the second direction may be the direction having a larger value (for example, the right direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring has a larger value, the data distribution of the second compact representation is more concentrated, and the data amount of the bit stream of the 3D map obtained through entropy encoding is reduced.

[0295] In this embodiment of the present application, the sequence of at least one first compact representation substring is different from the sequence of at least one second compact representation substring.

[0296] S305. To obtain the bit stream of the 3D map, encapsulate the second compact representation.

[0297] For the related description and description of S305, refer to the detailed description and description of S104 in the embodiment shown in FIG. 5. Details are not described again in this specification.

[0298] In this embodiment, in order to obtain at least one first compact representation substring of the descriptor to be encoded, a compression process is performed on the descriptor to be encoded, and at least one first compact representation substring, and at least one third compact representation substring corresponding to at least one first reference compact representation substring are obtained from a first table based on the at least one first compact representation substring and the at least one first reference compact representation substring, a second compact representation of the descriptor to be encoded is obtained based on the at least one first compact representation substring and the at least one third compact representation substring corresponding to the at least one first reference compact representation substring, and the second compact representation is encapsulated to obtain a bitstream of the 3D map. In order to reduce the data amount of the descriptor to be encoded, first, a compression process is performed, and then, by using the first table, the first compact representation is mapped to the second compact representation, as a result, the data distribution of the compact representation is changed, thereby further reducing the data amount of the bitstream of the 3D map obtained through encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0299] FIG. 9 is a schematic flowchart of a 3D map decompression method according to an embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may be applied to the server shown in any one of FIGS. 1 to 4f. In the 3D map decompression method in this embodiment, the second compact representation is demapped from the first compact representation by using the first table. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring, and the second compact representation includes at least one second compact representation substring. The method includes the following steps, but is not limited thereto.

[0300] S401. To obtain the second compact representation of the descriptor to be decoded, the bitstream of the 3D map is decapsulated. The second compact representation includes at least one second compact representation substring.

[0301] The bitstream of the 3D map may be the bitstream of the 3D map obtained according to the embodiment shown in FIG. 8, or may be the bitstream of the 3D map obtained according to the embodiment shown in FIG. 10. The compression method and the decompression method in the embodiment of the present application may be flexibly combined.

[0302] S402. Obtain the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded. The compact representation of at least one reference descriptor includes at least one first reference compact representation substring of each of the at least one reference descriptor.

[0303] For the related descriptions and descriptions of S401 and S402, refer to the detailed descriptions and descriptions of S201 and S202 in the embodiment shown in FIG. 7. Details will not be described again in this specification.

[0304] S403. Based on at least one second compact representation substring and at least one first reference compact representation substring, obtain at least one first compact representation substring corresponding to the at least one second compact representation substring and the at least one first reference compact representation substring from the first table.

[0305] The first table in this embodiment may be the same table as the first table in the embodiment shown in FIG. 8, or may be a different table from the first table in the embodiment shown in FIG. 8. For example, the first table may be a demapping table corresponding to the first table in the embodiment shown in FIG. 8. In this embodiment, by using the first table, the compact representation before mapping is obtained, and further, the reconstructed data of the 3D map points is obtained.

[0306] Assuming that the first table is a two-dimensional array, T[i][j] represents the third compact representation substring corresponding to the encoded compact representation substring i and the second reference compact representation substring j, and the third compact representation substring is used as one second compact representation substring. Assuming i' = T[i][j], i' represents the second compact representation substring, and the demapping table in this embodiment may be represented as T'[i'][j], that is, the compact representation substring before mapping is obtained by using the demapping table. Here, i = T'[i'][j].

[0307] S404. Based on at least one first compact representation substring, obtain the reconstructed data of at least one 3D map point.

[0308] For the related explanations and descriptions of S404, refer to the detailed explanations and descriptions of S204 in the embodiment shown in FIG. 7. Details will not be described again in this specification.

[0309] In this embodiment, to obtain at least one second compact representation substring of the descriptor to be decoded, the bitstream of the 3D map is decapsulated. At least one first compact representation substring of the descriptor to be decoded is obtained from a first table based on at least one second compact representation substring of the descriptor to be decoded and at least one first reference compact representation substring of at least one reference descriptor. And the reconstructed data of at least one 3D map point is obtained based on at least one first compact representation substring of the descriptor to be decoded. The encoder first performs a compression process to reduce the data volume of the descriptor to be encoded, and then maps the first compact representation to the second compact representation, thereby changing the data distribution of the compact representation, further reducing the data volume of the bitstream of the 3D map obtained through encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map. The decoder uses the first table to demap the second compact representation obtained through decapsulation to obtain the first compact representation, and further obtains the reconstructed data of the 3D map point.

[0310] FIG. 10 is a schematic flowchart of a 3D map compression method according to one embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may be applied to the server shown in any one of FIGS. 1 to 4f. In the 3D map compression method in this embodiment, the foregoing method 2 is used to map the first compact representation to the second compact representation. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring and the second compact representation includes at least one second compact representation substring. The method includes the following steps, although not limited thereto.

[0311] S501. Perform a compression process on the descriptor to be encoded to obtain a first compressed representation of the descriptor to be encoded. The first compact representation includes at least one first compact representation substring.

[0312] S502. Obtain a compact representation of at least one reference descriptor corresponding to the descriptor to be encoded. The compact representation of the at least one reference descriptor includes at least one first reference compact representation substring of each of the at least one reference descriptor.

[0313] For the related explanations and descriptions of S501 and S502, refer to the detailed explanations and descriptions of S101 and S102 in the embodiment shown in FIG. 5. Details will not be described again in this specification.

[0314] S503. Based on the at least one first compact representation substring, obtain at least one fourth compact representation substring corresponding to the at least one first compact representation substring from the second table.

[0315] The second table is established based on a compact representation of at least one reference descriptor corresponding to the descriptor to be encoded.

[0316] One first reference compact representation substring is used as an example. The second table in this embodiment may include the first reference compact representation substring and at least one fourth compact representation substring corresponding to at least one first compact representation substring. In other words, there is one second table based on one first reference compact representation substring. A plurality of second tables may be established based on a plurality of first reference compact representation substrings.

[0317] The second table may have a plurality of different forms. In one example, the second table may be a one-dimensional array or a multi-dimensional array. The multi-dimensional array may be, for example, a two-dimensional array or a three-dimensional array.

[0318] Assuming that the second table is a one-dimensional array, T[k] represents the fourth compact representation substring corresponding to the first compact representation substring k. Here, k ranges from 0 to N - 1, N is the quantity of the first compact representation substrings, N is a positive integer greater than 1, and k is the first compact representation substring k.

[0319] T[k] can be obtained through mapping by using a function. In one example, the function may be a random function. Of course, it will be understood that the function may alternatively be another function. The specific form of the function is not particularly limited in this embodiment of the present application.

[0320] T[k] is less than or equal to the first compact representation substring k, or greater than or equal to the first compact representation substring k.

[0321] When T[k] in the second table is less than or equal to the first compact representation substring k, the fourth compact representation substring obtained by using the second table is less than or equal to the first compact representation substring.

[0322] Second When T[k] in the table is greater than or equal to the first compact representation substring k, the fourth compact representation substring obtained by using the second table is greater than or equal to the first compact representation substring.

[0323] S504. Obtain the second compact representation of the descriptor to be encoded based on at least one fourth compact representation substring.

[0324] In a possible implementation, one first compact representation substring corresponds to one fourth compact representation substring. Each of at least one corresponding fourth compact representation substring is used as one second compact representation substring, and at least one obtained second compact representation substring is the second compact representation of the encoding target descriptor. Since T[k] in the second table is less than or equal to the first compact representation substring k, the second compact representation substring obtained by mapping the first compact representation substring by using the second table is less than or equal to the first compact representation substring. Therefore, through the mapping by using the second table, the first compact representation substring can be mapped in the first direction. Here, the first direction may be the direction having a small value (for example, the left direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring is a small value, the data distribution of the second compact representation is more concentrated, and the data amount of the bit stream of the 3D map obtained through entropy encoding is reduced. Alternatively, since T[k] in the second table is greater than or equal to the first compact representation substring k, the second compact representation substring obtained by mapping the first compact representation substring by using the second table is greater than or equal to the first compact representation substring. Therefore, through the mapping by using the second table, the first compact representation substring can be mapped in the second direction. Here, the second direction may be the direction having a large value (for example, the right direction of the horizontal axis as shown in FIG. 6). Therefore, there is a higher probability that the second compact representation substring is a large value, the data distribution of the second compact representation is more concentrated, and the data amount of the bit stream of the 3D map obtained through entropy encoding is reduced.

[0325] In this embodiment of the present application, the sequence of at least one first compact representation substring is different from the sequence of at least one second compact representation substring.

[0326] S505. Encapsulate the second compact representation to obtain the bitstream of the 3D map.

[0327] For the related explanations and descriptions of S505, refer to the detailed explanations and descriptions of S104 in the embodiment shown in FIG. 5. Details are not described again in this specification.

[0328] In this embodiment, in order to obtain at least one first compact representation substring of the encoding target descriptor, a compression process is performed on the encoding target descriptor, and at least one fourth compact representation substring corresponding to the at least one first compact representation substring is obtained from a second table based on the at least one first compact representation substring. The second table is established based on at least one first reference compact representation substring of at least one reference descriptor. The second compact representation of the encoding target descriptor is obtained based on the at least one fourth compact representation substring, and the second compact representation is encapsulated to obtain the bitstream of the 3D map. In order to reduce the data volume of the encoding target descriptor, first, a compression process is performed, and then, by using the second table, the first compact representation is mapped to the second compact representation, so that the data distribution of the compact representation is changed, thereby further reducing the data volume of the bitstream of the 3D map obtained through encapsulation and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0329] FIG. 11 is a schematic flowchart of a 3D map decompression method according to an embodiment of the present application. In some embodiments, the method may be applied to an electronic device shown in any one of FIGS. 1 to 4f, or may be applied to a server shown in any one of FIGS. 1 to 4f. In the 3D map decompression method in this embodiment, the second compact representation is demapped from the first compact representation by using a second table. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring and the second compact representation includes at least one second compact representation substring. The method includes the following steps, but is not limited thereto.

[0330] S601. To obtain the second compact representation of the descriptor to be decoded, the bitstream of the 3D map is decapsulated. The second compact representation includes at least one second compact representation substring.

[0331] The bitstream of the 3D map may be the bitstream of the 3D map obtained according to the embodiment shown in FIG. 8, or may be the bitstream of the 3D map obtained according to the embodiment shown in FIG. 10. The compression method and the decompression method in the embodiments of the present application may be flexibly combined.

[0332] S602. Obtain the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded. The compact representation of at least one reference descriptor includes at least one first reference compact representation substring of each of the at least one reference descriptor.

[0333] For the related descriptions and descriptions of S601 and S602, refer to the detailed descriptions and descriptions of S201 and S202 in the embodiment shown in FIG. 7. Details are not described again in this specification.

[0334] S603. Based on at least one second compact representation substring, obtain at least one first compact representation substring corresponding to the at least one second compact representation substring from a second table.

[0335] The second table is established based on at least one first reference compact representation substring of one or more reference descriptors.

[0336] The second table in this embodiment may be a demapping table corresponding to the second table in the embodiment shown in FIG. 10. In this embodiment, by using the second table, the compact representation before mapping is obtained, and further, the reconstruction data of the 3D map points is obtained.

[0337] Assuming that the second table is a one-dimensional array, T[k] represents the fourth compact representation substring corresponding to the first compact representation substring k, and the fourth compact representation substring is used as one second compact representation substring. Assuming k' = T[k], where k' represents the second compact representation substring, the demapping table in this embodiment can be represented as T'[k']. That is, by using the demapping table, the compact representation substring before mapping is obtained. Here, k = T'[k'], and T'[k'] is obtained based on the compact representation substring j of the reference descriptor.

[0338] S604. Based on at least one first compact representation substring, obtain the reconstructed data of at least one 3D map point.

[0339] For the related explanations and descriptions of S604, refer to the detailed explanations and descriptions of S204 in the embodiment shown in FIG. 7. The details are not described again in this specification.

[0340] In this embodiment, in order to obtain at least one second compact representation substring of the descriptor to be decoded, the bitstream of the 3D map is decapsulated, and at least one first compact representation substring of the descriptor to be decoded is obtained from a second table based on at least one second compact representation substring of the descriptor to be decoded, and the reconstructed data of at least one 3D map point is obtained based on at least one first compact representation substring of the descriptor to be decoded. The second table is established based on at least one first reference compact representation substring of at least one reference descriptor. The encoder first performs a compression process in order to reduce the data amount of the descriptor to be encoded, and then maps the first compact representation to the second compact representation, as a result, the data distribution of the compact representation is changed. Thereby, further reducing the data amount of the bitstream of the 3D map obtained through encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map. The decoder can demap the second compact representation obtained through decapsulation by using the second table, obtain the first compact representation, and further obtain the reconstructed data of the 3D map point.

[0341] FIG. 12 is a schematic flowchart of a 3D map compression method according to one embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may be applied to the server shown in any one of FIGS. 1 to 4f. In the 3D map compression method in this embodiment, the aforementioned method 3 is used to map the first compact representation to the second compact representation. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring and the second compact representation includes at least one second compact representation substring. The method includes the following steps, although not limited thereto.

[0342] S701. To obtain the first compressed representation of the descriptor to be encoded, perform a compression process on the descriptor to be encoded. The first compact representation includes at least one first compact representation substring.

[0343] S702. Obtain the compact representation of at least one reference descriptor corresponding to the descriptor to be encoded. The compact representation of at least one reference descriptor includes at least one first reference compact representation substring for each of the at least one reference descriptor.

[0344] For the related explanations and descriptions of S701 and S702, refer to the detailed explanations and descriptions of S101 and S102 in the embodiment shown in FIG. 5. Details will not be described again in this specification.

[0345] S703. Use the exclusive logical sum value or difference between at least one first compact representation substring and the corresponding compact representation substring of at least one reference descriptor as at least one second compact representation substring.

[0346] Assume that at least one first compact representation substring includes N first compact representation substrings. Then, N exclusive OR values or differences are used as N second compact representation substrings. The N exclusive OR values or differences are the exclusive OR values or differences between the N first compact representation substrings and the corresponding compact representation substrings of at least one reference descriptor.

[0347] S704. Obtain a second compact representation of the descriptor to be encoded based on at least one second compact representation substring.

[0348] The second compact representation of the descriptor to be encoded is obtained by combining at least one second compact representation substring.

[0349] S705. Encapsulate the second compact representation to obtain the bit stream of the 3D map.

[0350] For the related explanations and descriptions of S705, refer to the detailed explanations and descriptions of S104 in the embodiment shown in FIG. 5. Details are not described again in this specification.

[0351] In this embodiment, in order to obtain at least one first compact representation substring of the descriptor to be encoded, a compression process is performed on the descriptor to be encoded, and in order to further obtain a second compact representation of the descriptor to be encoded, at least one exclusive logical sum value or difference between at least one first compact representation substring and the corresponding compact representation substring of at least one reference descriptor is used as at least one second compact representation substring, and the second compact representation is encapsulated to obtain the bitstream of the 3D map. In order to reduce the data amount of the descriptor to be encoded, first, a compression process is performed, and then, by using the exclusive logical sum value or difference, the first compact representation is mapped to the second compact representation, as a result, the data distribution of the compact representation is changed, thereby further reducing the data amount of the bitstream of the 3D map obtained through encapsulation and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0352] FIG. 13 is a schematic flowchart of a 3D map decompression method according to an embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may also be applied to the server shown in any one of FIGS. 1 to 4f. In the 3D map decompression method of this embodiment, the second compact representation is demapped to the first compact representation by using the exclusive logical sum value or sum. This embodiment is described by using an example in which the first compact representation includes at least one first compact representation substring and the second compact representation includes at least one second compact representation substring. The method includes the following steps, although not limited thereto.

[0353] To obtain the second compact representation of the descriptor to be decoded, the bitstream of the 3D map is decapsulated. The second compact representation includes at least one second compact representation substring.

[0354] The bitstream of the 3D map can be the bitstream of the 3D map obtained according to the embodiment shown in FIG. 12.

[0355] S802. Obtain the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded. The compact representation of at least one reference descriptor includes at least one first reference compact representation substring for each of the at least one reference descriptors.

[0356] For the related explanations and descriptions of S801 and S802, refer to the detailed explanations and descriptions of S201 and S202 in the embodiment shown in FIG. 7. Details are not described again in this specification.

[0357] S803. Use the exclusive logical sum value or sum of at least one second compact representation substring and the corresponding compact representation substring of at least one reference descriptor as at least one first compact representation substring.

[0358] Assuming that at least one second compact representation substring includes N second compact representation substrings, N exclusive logical sum values or sums are used as N first compact representation substrings. The N exclusive logical sum values or sums are the exclusive logical sum values or sums of the N second compact representation substrings and the corresponding compact representation substrings of at least one reference descriptor.

[0359] S804. Obtain the first compact representation of the descriptor to be decoded based on at least one first compact representation substring.

[0360] The first compact representation of the descriptor to be decoded is obtained by combining at least one first compact representation substring.

[0361] Based on the first compact representation of the descriptor to be decoded, reconstruction data of at least one 3D map point is obtained.

[0362] For the related explanations and descriptions of S805, refer to the detailed explanations and descriptions of S204 in the embodiment shown in FIG. 7. Details will not be described again in this specification.

[0363] In this embodiment, in order to obtain the second compact representation of the descriptor to be decoded, the bitstream of the 3D map is decapsulated, and based on the second compact representation of the descriptor to be decoded and the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded, the first compact representation of the descriptor to be decoded is obtained, and based on the first compact representation of the descriptor to be decoded, reconstruction data of at least one 3D map point is obtained. The encoder first performs a compression process in order to reduce the data amount of the descriptor to be encoded, and then maps the first compact representation to the second compact representation, as a result, the data distribution of the compact representation is changed, thereby further reducing the data amount of the bitstream of the 3D map obtained through encapsulation and reducing the resource overhead required for transmitting the bitstream of the 3D map. The decoder can demap the second compact representation obtained through decapsulation in order to obtain the first compact representation, and further obtain the reconstructed data of the 3D map point.

[0364] At least one first compact representation substring of the encoding target descriptor in the foregoing embodiment of the present application can be obtained in the following manner. To obtain the first compact representation of the encoding target descriptor, perform a compression process on the encoding target descriptor, and divide the first compact representation into one or more first compact representation substrings. The first compact representation may be divided in a plurality of ways. For example, the first compact representation includes a plurality of pieces of binary information, and one or more consecutive pieces of binary information are one first compact representation substring, or binary information separated by a preset amount (for example, 2) is one first compact representation substring. For example, for details, refer to FIGS. 17(a) and (b). As shown in FIG. 17(a), three consecutive pieces of binary information are used as one first compact representation substring, and the first compact representation can be divided into three first compact representation substrings. It should be noted that in FIG. 17(a), for the sake of explanation, an example where the lengths of the first compact representation substrings are the same is used. This is not limited in this embodiment of the present application. For example, alternatively, the lengths of the first compact representation substrings may be different. In this embodiment of the present application, examples are not described one by one. As shown in FIG. 17(b), the first piece of binary information, the fourth piece of binary information, and the seventh piece of binary information in the first compact representation are used as one first compact representation substring, the second piece of binary information, the fifth piece of binary information, and the eighth piece of binary information in the first compact representation are used as one first compact representation substring, and the third piece of binary information, the sixth piece of binary information, and the ninth piece of binary information in the first compact representation are used as one first compact representation substring. It should be noted that in FIG. 17(b), the interval by two pieces of binary information is used as one example for explanation. This is not limited in this embodiment of the present application.In this embodiment of the present application, examples will not be described one by one.

[0365] In the foregoing embodiments of the present application, in order to reduce the data amount of the encoding target descriptor, first, a compression process is executed, and then the first compact representation is mapped to the second compact representation, as a result, the data distribution of the compact representation is changed, thereby further reducing the data amount of the bit stream of the 3D map obtained through encapsulation, and reducing the resource overhead required to transmit the bit stream of the 3D map. The present application further provides the following embodiments to achieve the same technical effect. For the detailed description and description of the embodiments, refer to the following embodiments.

[0366] FIG. 18 is a schematic flowchart of a 3D map compression method according to an embodiment of the present application. In some embodiments, the method may be applied to an electronic device shown in any one of FIGS. 1 to 4f, or may be applied to a server shown in any one of FIGS. 1 to 4f. This method includes the following steps, although not limited thereto.

[0367] S901. Perform a clustering process on the encoding target descriptor to obtain information about at least one first center of the encoding target descriptor.

[0368] For the detailed description and description of the encoding target descriptor, refer to the related description and description of S101 in the embodiment shown in FIG. 5. Details will not be described again in this specification.

[0369] Information about at least one first center represents a center obtained after clustering processing is performed on at least one sub-feature of an encoding target descriptor. Any sub-feature of the encoding target descriptor can be understood as a point in a space including at least one dimension. The center here may be a geometric center, centroid, or barycenter of one or more points. For one point, the center is that point or the sub-feature itself. For a plurality of points, the plurality of points may include a plurality of sub-features of the encoding target descriptor, or the plurality of points may include one or more sub-features of the encoding target descriptor and one or more sub-features of the encoded descriptor. Any piece of the first center information may include at least one of the number of centers, values of at least one dimension of the center, and the like. In other words, the first center information represents the center and, further, represents the type of sub-feature. Sub-features of the same type are similar, and sub-features of different types are different. The sum of the distances from sub-features of the same type to the center is smaller than the sum of the distances from a sub-feature to another sub-feature.

[0370] For example, the encoding target descriptor may be divided into one or more sub-features, and clustering processing is performed on each sub-feature to obtain one or more pieces of first center information. The one or more pieces of first center information may be numbers of one or more clustering centers.

[0371] S902. Obtain information about at least one first reference center of a reference descriptor corresponding to the encoding target descriptor.

[0372] The reference descriptor corresponds to at least one encoded 3D map point in the 3D map. For a detailed description and account of the reference descriptor, refer to the related description and account of S102 in the embodiment shown in FIG. 5. Details are not described again in this specification.

[0373] The information of at least one first reference center represents the obtained center after clustering processing is performed on at least one sub-feature of the reference descriptor. The information about at least one first reference center may be the number of at least one reference clustering center.

[0374] S903. Obtain information about at least one second center of the descriptor to be encoded based on the information about the first center of at least one descriptor to be encoded and the information about at least one first reference center.

[0375] The information about the first center of at least one descriptor to be encoded is mapped to the information about at least one second center with respect to the information about at least one first reference center. An embodiment of mapping the information about at least one first center to the information about at least one second center may be the same as the embodiment of mapping the first compact representation to the second compact representation in the foregoing embodiments. For specific implementations, refer to the detailed description and description in the foregoing embodiments. Details are not described again in this specification.

[0376] For example, when the information about at least one first center is (C1, C2, C3) and the information about at least one first reference center is (PC1, PC2, PC3), the information (C1', C2', C3') about at least one second center can be obtained based on (PC1, PC2, PC3) and (C1, C2, C3).

[0377] S904. To obtain the compact representation of the descriptor to be encoded, perform compression processing on the information about at least one second center of the descriptor to be encoded.

[0378] For a detailed description and explanation of the compression process, refer to S101 in the embodiment shown in FIG. 5. Details will not be described again in this specification.

[0379] For example, in order to obtain a compact representation of the descriptor to be encoded, a compression process is performed on the information about at least one second center (C1', C2', C3'), and the compact representation may be (D_bin_1', D_bin_2', D_bin_3').

[0380] S905. Encapsulate the compact representation in order to obtain the bitstream of the 3D map.

[0381] In order to obtain the bitstream of the 3D map, processes such as entropy encoding may be performed on the compact representation.

[0382] In some embodiments, the number of the reference descriptor corresponding to the descriptor to be encoded, or the difference between the number of the reference descriptor and the number of the descriptor to be encoded, may be further encapsulated, and as a result, the bitstream of the 3D map further conveys the number of the reference descriptor, or the difference between the numbers. During decompression, the reference descriptor may be obtained based on the number of the reference descriptor or the difference between the numbers. And decompression is performed based on the reference descriptor.

[0383] In this embodiment, in order to obtain information about at least one first center of the encoding target descriptors, clustering processing is performed on the encoding target descriptors, and based on the information about at least one first center of the encoding target descriptors and the information about at least one first reference center, information about a second center of at least one encoding target descriptor is obtained. To obtain a compact representation of the encoding target descriptors, compression processing is performed on the information about at least one second center of the encoding target descriptors, and then, to obtain the bitstream of the 3D map, the compact representation is encapsulated. The clustering processing is first performed, and the first center information is used to represent the original encoding target descriptors, reducing the data volume of the encoding target descriptors. Then, the information about at least one first center is mapped to the information about at least one second center, changing the data distribution of the center information, thereby further reducing the data volume of the bitstream of the 3D map obtained through the compression processing and encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map.

[0384] FIG. 19 is a schematic flowchart of a 3D map decompression method according to an embodiment of the present application. In some embodiments, the method may be applied to the electronic device shown in any one of FIGS. 1 to 4f, or may be applied to the server shown in any one of FIGS. 1 to 4f. This method includes the following steps, although not limited thereto.

[0385] S1001. To obtain information about at least one second center of the decoding target descriptors, the bitstream of the 3D map is decapsulated.

[0386] For a detailed description and explanation of the descriptor to be decoded, refer to the related description and explanation of S201 in the embodiment shown in FIG. 7. Details will not be described again in this specification.

[0387] In this embodiment, the information about the second center of at least one descriptor to be decoded is the information about the second center of at least one descriptor to be encoded in the embodiment shown in FIG. 18.

[0388] S1002. Obtain information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0389] The reference descriptor corresponds to at least one decoded 3D map point on the 3D map. For a detailed description and explanation of the reference descriptor, refer to the related description and explanation of S202 in the embodiment shown in FIG. 7. Details will not be described again in this specification.

[0390] The information about at least one first reference center represents the obtained center after clustering processing is performed on at least one sub-feature of the reference descriptor.

[0391] S1003. Based on the information about at least one second center of the descriptor to be decoded and the information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded, obtain information about at least one first center of the descriptor to be decoded.

[0392] The information about at least one second center of the descriptor to be decoded is demapped to the information about at least one first center of the descriptor to be decoded. The information about at least one first center of the descriptor to be decoded is the information about at least one first center of the descriptor to be encoded in the embodiment shown in FIG. 18.

[0393] Based on information about at least one first center of at least one descriptor to be decoded, obtain reconstruction data of at least one 3D map point.

[0394] The reconstruction data of at least one 3D map point is obtained based on information about at least one first center of at least one descriptor to be decoded. The reconstructed data of at least one 3D map point can be used for positioning based on the 3D map.

[0395] In this embodiment, to obtain information about at least one second center of at least one descriptor to be decoded, the bitstream of the 3D map is decapsulated, and the information about at least one first center of at least one descriptor to be decoded is obtained based on the information about at least one second center of at least one descriptor to be decoded and the information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded, and then, based on the information about at least one first center of at least one descriptor to be decoded, reconstruction data of at least one 3D map point is obtained. The encoder first performs a clustering process, uses the first center information to represent the original descriptor to be encoded, reduces the data volume of the descriptor to be encoded, and then maps the information about at least one first center to the information about at least one second center to change the data distribution of the center information, thereby further reducing the data volume of the bitstream of the 3D map obtained through compression processing and encapsulation, and reducing the resource overhead required to transmit the bitstream of the 3D map. The decoder can demap the information about at least one second center obtained through decapsulation to obtain the information about at least one first center, and further obtain the reconstructed data of the 3D map point.

[0396] The above has described in detail the 3D map compression method and the 3D map decompression method in the embodiments of the present application with reference to the accompanying drawings. Hereinafter, with reference to FIGS. 14 to 16, the 3D map compression apparatus and the 3D map decompression apparatus in the embodiments of the present application will be described. It should be understood that the 3D map compression apparatus can execute the 3D map compression method in the embodiments of the present application, and the 3D map decompression apparatus can execute the 3D map decompression method in the embodiments of the present application. In order to avoid unnecessary repetition, when the 3D map compression apparatus and the 3D map decompression apparatus in the embodiments of the present application are described below, the repeated descriptions will be omitted as appropriate.

[0397] FIG. 14 is a schematic diagram related to the structure of a 3D map compression apparatus according to an embodiment of the present application. As shown in FIG. 14, the 3D map compression apparatus 1400 may include a compression processing module 1401, a mapping module 1402, and a encapsulation module 1403.

[0398] The compression processing module 1401 is configured to perform a compression process on an encoding target descriptor in order to obtain a first compact representation of the encoding target descriptor. Here, the encoding target descriptor corresponds to at least one 3D map point on the 3D map.

[0399] The mapping module 1402 is configured to obtain a compact representation of at least one reference descriptor corresponding to the encoding target descriptor. Here, the at least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map. The mapping module 1402 is further configured to obtain a second compact representation of the encoding target descriptor based on the first compact representation of the encoding target descriptor and the compact representation of the at least one reference descriptor. The encapsulation module 1403 is configured to encapsulate the second compact representation in order to obtain a bit stream of the 3D map.

[0400] In some embodiments, the apparatus may further include a transmission module 1404. The transmission module 1404 is configured to receive 3D map request information transmitted by an electronic device and, in response to the 3D map request information, transmit a bitstream of a 3D map corresponding to the 3D map request information to the electronic device, or the transmission module 1404 is configured to transmit the bitstream of the 3D map to a server.

[0401] In some embodiments, the mapping module 1402 is configured to obtain a second compact representation of the descriptor to be encoded by searching a first table based on the first compact representation of the descriptor to be encoded and the compact representation of at least one reference descriptor.

[0402] In some embodiments, the first table includes at least one encoded compact representation substring and at least one third compact representation substring corresponding to at least one second reference compact representation substring. Here, the first compact representation of the descriptor to be encoded includes at least one first compact representation substring of the descriptor to be encoded, the at least one encoded compact representation substring includes at least one first compact representation substring, and the at least one second reference compact representation substring includes at least one first reference compact representation substring of at least one reference descriptor. The mapping module 1402 is configured to obtain, from the first table, at least one first compact representation substring and at least one third compact representation substring corresponding to at least one first reference compact representation substring based on at least one first compact representation substring of the descriptor to be encoded and at least one first reference compact representation substring of the reference descriptor corresponding to the descriptor to be encoded, and to obtain a second compact representation of the descriptor to be encoded based on at least one first compact representation substring and at least one third compact representation substring corresponding to at least one first reference compact representation substring.

[0403] In some embodiments, the mapping module 1402 is configured to obtain a second compact representation of the descriptor to be encoded by looking up a second table based on the first compact representation of the descriptor to be encoded. Here, the second table is established based on the compact representation of at least one reference descriptor.

[0404] In some embodiments, the first compact representation of the descriptor to be encoded includes at least one first compact representation substring of the descriptor to be encoded, the compact representation of at least one reference descriptor includes at least one first reference compact representation substring, and the second table includes at least one first reference compact representation substring and at least one fourth compact representation substring corresponding to at least one first compact representation substring. The mapping module 1402 is configured to obtain, from the second table, at least one fourth compact representation substring corresponding to at least one first compact representation substring based on at least one first compact representation substring of the descriptor to be encoded, where the second table is established based on at least one first reference compact representation substring and is configured to obtain a second compact representation of the descriptor to be encoded based on at least one fourth compact representation substring corresponding to at least one first compact representation substring.

[0405] In some embodiments, the mapping module 1402 is configured to use the exclusive logical sum value or difference between the compact representation of at least one reference descriptor and the first compact representation of the descriptor to be encoded as the second compact representation of the descriptor to be encoded.

[0406] It should be noted that the 3D map compression device 1400 may execute the 3D map compression method in the embodiments shown in FIGS. 5, 8, 10, or 12. For specific implementation principles and technical effects, refer to the detailed description of the method embodiments above. Details will not be described again in this specification.

[0407] Embodiments of the present application further provide another 3D map compression device. This 3D map compression device may have the same structure as that in FIG. 14.

[0408] The mapping module 1402 is configured to perform a clustering process on the encoding target descriptors to obtain information about at least one first center of the encoding target descriptors. Here, the encoding target descriptors correspond to at least one 3D map point on the 3D map, and the information about at least one first center represents the center obtained after performing a clustering process on at least one sub-feature of the encoding target descriptors. The mapping module 1402 is further configured to obtain information about at least one first reference center of the reference descriptors corresponding to the encoding target descriptors. Here, the reference descriptors correspond to at least one encoded 3D map point on the 3D map, the information about at least one first reference center represents the center obtained after performing a clustering process on at least one sub-feature of the reference descriptors, and based on the information about at least one first center and the information about at least one first reference center of the encoding target descriptors, it is configured to obtain information about at least one second center of the encoding target descriptors.

[0409] The compression processing module 1401 is configured to perform a compression process on the information about at least one second center of the encoding target descriptors to obtain a compressed representation of the encoding target descriptors.

[0410] The encapsulation module 1403 is configured to encapsulate the compact representation to obtain a bit stream of the 3D map.

[0411] In a possible design, the apparatus may further include a transmission module 1404. The transmission module 1404 is configured to receive 3D map request information transmitted by an electronic device and, in response to the 3D map request information, transmit a bitstream of a 3D map corresponding to the 3D map request information to the electronic device, or the transmission module 1404 is configured to transmit the bitstream of the 3D map to a server.

[0412] In a possible design, the mapping module 1402 is configured to obtain information about at least one second center of the encoding target descriptor by looking up a first table based on information about at least one first center of the encoding target descriptor and information about at least one first reference center.

[0413] In a possible design, the first table includes information about at least one third center corresponding to information about at least one coding center and information about at least one second reference center. Here, the information about at least the coding center includes information about at least one first center of the encoding target descriptor, and the information about at least one second reference center includes information about at least one first reference center. The mapping module 1402 is specifically configured to obtain, from the first table, information about at least one third center corresponding to information about at least one first center and information about at least one first reference center based on information about at least one first center of the encoding target descriptor and information about at least one first reference center, and is configured to use the information about at least one third center as information about at least one second center of the encoding target descriptor.

[0414] In a possible design, the first table is a multi-dimensional array, and each element in the multi-dimensional array corresponds to information about at least a coding center or information about at least one second reference center.

[0415] In a possible design, the mapping module 1402 is specifically configured to obtain information about at least one second center of the descriptor to be encoded by looking up a second table based on information about at least one first center of the descriptor to be encoded. Here, the second table is established based on information about at least one first reference center.

[0416] In a possible design, the second table includes information about at least one first reference center and information about at least one fourth center corresponding to information about at least one first center of the descriptor to be encoded. The mapping module 1402 is configured to obtain, from the second table, information about at least one fourth center corresponding to information about at least one first center based on information about at least one first center of the descriptor to be encoded, and to use the information about at least one fourth center corresponding to information about at least one first center as information about at least one second center of the descriptor to be encoded.

[0417] In a possible design, the second table is an array having at least one dimension, and each element in the array having at least one dimension corresponds to information about at least one first center.

[0418] In a possible design, the mapping module 1402 is configured to use, as information about at least one second center of the encoding target descriptor, an exclusive logical sum value or difference between information about at least one first center of the encoding target descriptor and information about at least one first reference center, in particular.

[0419] It should be noted that the 3D map compression device can execute the 3D map compression method in the embodiment shown in FIG. 18. For specific implementation principles and technical effects, refer to the detailed description of the embodiments of the above method. Details are not described again in this specification.

[0420] FIG. 15 is a schematic diagram related to the structure of a 3D map decompression device according to an embodiment of the present application. As shown in FIG. 15, the 3D map decompression device 1500 may include a decapsulation module 1501, a demapping module 1502, and a reconstruction module 1503.

[0421] The decapsulation module 1501 is configured to decapsulate the bitstream of the 3D map in order to obtain a second compact representation of the decoding target descriptor, where the decoding target descriptor corresponds to at least one 3D map point on the 3D map. The demapping module 1502 is configured to obtain a compact representation of at least one reference descriptor corresponding to the decoding target descriptor, where at least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map. The demapping module 1502 is further configured to obtain a first compact representation of the decoding target descriptor based on the second compact representation of the decoding target descriptor and the compact representation of at least one reference descriptor corresponding to the decoding target descriptor. The reconstruction module 1503 is configured to obtain reconstruction data of at least one 3D map point based on the first compact representation of the decoding target descriptor.

[0422] In some embodiments, the apparatus may further include a transmission module 1504 configured to transmit 3D map request information and receive a bitstream of a 3D map corresponding to the 3D map request information.

[0423] In some embodiments, the demapping module 1502 is configured to obtain a first compact representation of a descriptor to be decoded by looking up a first table based on a second compact representation of the descriptor to be decoded and a compact representation of at least one reference descriptor corresponding to the descriptor to be decoded.

[0424] In some embodiments, the demapping module 1502 is configured to obtain a first compact representation of a descriptor to be decoded by looking up a second table based on a second compact representation of the descriptor to be decoded. Here, the second table is established based on a compact representation of at least one reference descriptor corresponding to the descriptor to be decoded.

[0425] In some embodiments, the demapping module 1502 is configured to use an exclusive logical sum value or sum of a compact representation of at least one reference descriptor and a second compact representation of the descriptor to be decoded as the first compact representation of the descriptor to be decoded.

[0426] It should be noted that the 3D map decompression apparatus 1500 may execute the 3D map decompression method in the embodiments shown in FIGS. 7, 9, 11, or 13. For specific implementation principles and technical effects, refer to the detailed description of the method embodiments above. Details are not described again in this specification.

[0427] One embodiment of the present application further provides another 3D map decompression apparatus. The three-dimensional map decompression apparatus may have the same structure as that in FIG. 15.

[0428] The decapsulation module 1501 is configured to decapsulate the bitstream of the 3D map in order to obtain information about at least one second center of at least one descriptor to be decoded. Here, the descriptor to be decoded corresponds to at least one 3D map point on the 3D map.

[0429] The demapping module 1502 is configured to obtain information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded. Here, the reference descriptor corresponds to at least one decoded 3D map point on the 3D map, and the information about at least one first reference center represents the center obtained after clustering processing is performed on at least one sub - feature of the reference descriptor. And, based on the information about at least one second center of the descriptor to be decoded and the information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded, it is configured to obtain information about at least one first center of the descriptor to be decoded.

[0430] The reconstruction module 1503 is configured to obtain reconstruction data of at least one 3D map point based on the information about at least one first center of the descriptor to be decoded.

[0431] In a possible design, the apparatus may further include a transmission module 1504 configured to transmit 3D map request information and receive the bitstream of the 3D map corresponding to the 3D map request information, or configured to receive the bitstream of the 3D map transmitted by an electronic device.

[0432] In a possible design, the demapping module 1502 is configured to obtain information about at least one first center of the descriptor to be decoded by looking up a first table, based particularly on information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0433] In a possible design, the demapping module 1502 is particularly configured to obtain information about at least one first center of the descriptor to be decoded by looking up a second table based on information about at least one second center of at least one of the descriptors to be decoded. Here, the second table is established based on information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0434] In a possible design, the demapping module 1502 is configured to use, as information about at least one first center of the descriptor to be decoded, an exclusive logical sum value or sum of information about at least one second center of at least one of the descriptors to be decoded and information about at least one first reference center of at least one reference descriptor corresponding to the descriptor to be decoded.

[0435] It should be noted that the 3D map decompression device can execute the 3D map decompression method in the embodiment shown in FIG. 19. For specific implementation principles and technical effects, refer to the detailed description of the method embodiment above. Details are not described again in this specification.

[0436] FIG. 16 is a schematic block diagram of a decoding device 1600 according to one embodiment of the present application. The acquisition device 1600 may include a processor 1601, a memory 1602, and a bus system 1603. The processor 1601 and the memory 1602 are connected by using the bus system 1603. The memory 1602 is configured to store instructions. The processor 1601 is configured to execute the instructions stored in the memory 1602 to execute various 3D map compression methods or 3D map decompression methods described in the present application. To avoid repetition, details are not described again in this specification.

[0437] The processor 1601 in this embodiment of the present application may be a central processing unit (CPU). Alternatively, the processor 1601 may be another general-purpose processor, DSP, ASIC, FPGA, or another programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc.

[0438] Memory 1602 may include a ROM device or a RAM device. Any other suitable type of storage device may also be used as memory 1602. Memory 1602 may include code and data 16021 that are accessed by processor 1601 by using bus 1603. Memory 1602 may further include operating system 16023 and application program 16022. Application program 16022 includes at least one program that enables processor 1601 to execute the 3D map compression or decompression method described in this application. For example, application program 16022 may include applications 1 to N and may further include a 3D map compression or decompression application (hereinafter abbreviated as a 3D map decoding application) that executes the 3D map compression or decompression method described in this application.

[0439] In addition to the data bus, bus system 1603 may further include a power bus, a control bus, a status signal bus, etc. However, for clarity of explanation, in the figure, various buses are shown as bus system 1603.

[0440] Optionally, decoding device 1600 may further include one or more output devices such as display 1604. In one example, display 1604 may be a touch display, and the touch display combines a display and a touch unit that operably senses touch input. Display 1604 may be connected to processor 1601 by using bus 1603.

[0441] It should be noted that decoding device 1600 may execute the 3D map compression method in this application or may execute the 3D map decompression method in this application.

[0442] The processor mentioned in the foregoing embodiments may be an integrated circuit chip and has signal processing capabilities. In the implementation process, the steps of the method embodiments described above may be completed by the hardware integrated logic circuit in the processor or by using 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, an individual gate or transistor logic device, or an individual hardware component. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application may be directly executed and completed by a hardware encoding processor, or may be executed and completed by a combination of hardware and software modules in the encoding processor. The software module may be disposed in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or a register. The storage medium is disposed in the memory. The processor reads the information in the memory and combines it with the hardware of the processor to complete the steps of the foregoing method.

[0443] The memory mentioned in the foregoing embodiments may be a volatile memory, a non-volatile memory, or may include both a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM) used as an external cache. By way of example and not limitation, many forms of RAM may be used, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DRRAM). The memory in the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0444] A person skilled in the art can recognize that, in combination with the examples described in the embodiments disclosed in this specification, the units and algorithm steps can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the function is executed by hardware or software depends on the specific application and design constraints of the technical solution. A person skilled in the art may use different methods to implement the functions described for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0445] A person skilled in the art can clearly understand that, for the sake of convenience and conciseness of the description, for the detailed operation processes of the aforementioned systems, devices, and units, reference should be made to the corresponding processes in the embodiments of the aforementioned methods. And the details will not be described again in this specification.

[0446] In some embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the aforementioned device embodiments are merely examples. For example, the division of units is merely a logical function division, and during actual implementation, there may be other divisions. For example, a plurality of units or components may be combined or integrated into another system, or some functions may be ignored or not executed. In addition, the displayed or discussed mutual coupling, or direct coupling, or communication connection can be implemented by using some interfaces. The indirect coupling or communication connection between devices or units can be implemented in electronic, mechanical, or other forms.

[0447] 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, and may be arranged in one location or distributed over multiple network units. Some or all of the units may be selected according to actual requirements to achieve the objectives of the solutions in the embodiments.

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

[0449] When a function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the present application are essentially, or the parts contributing to the prior art, or some of the technical solutions may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computer device (personal computer, server, network device, etc.) to execute all or part 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, removable hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0450] The foregoing description is merely specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application shall fall within the protection scope of the present application. Therefore, the protection scope of the present application shall comply with the protection scope of the claims.

Claims

1. A 3D map compression method, comprising: executing a compression process on a descriptor to be encoded, obtaining a first compact representation of the descriptor to be encoded, wherein the descriptor to be encoded corresponds to at least one 3D map point on a 3D map, a step; obtaining a compact representation of at least one reference descriptor corresponding to the descriptor to be encoded, wherein the at least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map, a step; obtaining a second compact representation of the descriptor to be encoded based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor; encapsulating the second compact representation; obtaining a bitstream of the 3D map, a step; and the step of obtaining the second compact representation of the descriptor to be encoded based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor includes: obtaining the second compact representation of the descriptor to be encoded by looking up a first table based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor, or obtaining the second compact representation of the descriptor to be encoded by looking up a second table based on the first compact representation of the descriptor to be encoded, wherein the second table is established based on the compact representation of the at least one reference descriptor, or using an exclusive logical sum value or a difference between the compact representation of the at least one reference descriptor and the first compact representation of the descriptor to be encoded as the second compact representation of the descriptor to be encoded, including a method.

2. The method further includes: receiving 3D map request information sent by an electronic device, responding to the 3D map request information, transmitting the bitstream of the 3D map corresponding to the 3D map request information to the electronic device, or transmitting the bitstream of the 3D map to the server, The method according to claim 1, comprising.

3. The data distribution of the first compact representation is different from the data distribution of the second compact representation, The method according to claim 1.

4. The first compact representation of the encoding target descriptor includes at least one first compact representation substring of the encoding target descriptor, and The second compact representation of the encoding target descriptor includes at least one second compact representation substring of the encoding target descriptor, The at least one first compact representation substring is different from the at least one second compact representation substring, The method according to claim 3.

5. The at least one second compact representation substring is partially or entirely less than the corresponding first compact representation substring, or The at least one second compact representation substring is partially or entirely greater than the corresponding first compact representation substring, The method according to claim 4.

6. The first table includes at least one third compact representation substring corresponding to at least one encoded compact representation substring and at least one second reference compact representation substring, The at least one encoded compact representation substring includes at least one first compact representation substring of the encoding target descriptor, and the at least one second reference compact representation substring includes at least one first reference compact representation substring of the at least one reference descriptor, The step of obtaining the second compact representation of the encoding target descriptor by looking up the first table based on the first compact representation of the encoding target descriptor and the compact representation of the at least one reference descriptor is Based on the at least one first compact representation substring of the encoding target descriptor and the at least one first reference compact representation substring of the reference descriptor corresponding to the encoding target descriptor, obtaining, from the first table, the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring; Based on the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring, obtaining the second compact representation of the encoding target descriptor; The method according to claim 1, comprising the steps of.

7. The first table is a multi-dimensional array, Each element in the multi-dimensional array corresponds to the at least one encoded compact representation substring or the at least one second reference compact representation substring; The method according to claim 6.

8. The compact representation of the at least one reference descriptor includes at least one first reference compact representation substring, and The second table includes the at least one first reference compact representation substring and the at least one fourth compact representation substring corresponding to the at least one first compact representation substring of the encoding target descriptor, The step of obtaining the second compact representation of the encoding target descriptor by looking up the second table based on the first compact representation of the encoding target descriptor is Based on the at least one first compact representation substring of the encoding target descriptor, obtaining, from the second table, the at least one fourth compact representation substring corresponding to the at least one first compact representation substring, where the second table is established based on the at least one first reference compact representation substring; Obtaining the second compact representation of the descriptor to be encoded based on the at least one fourth compact representation substring corresponding to the at least one first compact representation substring; The method according to claim 1, comprising: **Claim 9** The second table is a one-dimensional array, and each element in the one-dimensional array corresponds to the at least one first compact representation substring; The method according to claim 8; **Claim 10** The descriptor to be encoded includes a zone descriptor or a 3D map point descriptor; The method according to any one of claims 1 to 9; **Claim 11** The at least one reference descriptor corresponding to the descriptor to be encoded is at least one previous compressed descriptor of the descriptor to be encoded, at least one preset descriptor, or at least one descriptor determined by using a neural network model or through clustering; The method according to any one of claims 1 to 9, comprising: **Claim 12** The compression process includes a quantization process or a binarization process, and the quantization process or the binarization process is used to reduce the number of bits of the descriptor to be encoded; The method according to any one of claims 1 to 9; **Claim 13** A 3D map decompression method, comprising: Unencapsulating the bitstream of the 3D map, obtaining the second compact representation of the descriptor to be decoded, where the descriptor to be decoded corresponds to at least one 3D map point on the 3D map; step; obtaining the compact representation of at least one reference descriptor corresponding to the descriptor to be decoded, where the at least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map; step; obtaining the first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded; A step of obtaining reconstruction data of the at least one 3D map point based on the first compact representation of the decoding target descriptor; including Based on the second compact representation of the decoding target descriptor and the compact representation of the at least one reference descriptor corresponding to the decoding target descriptor, the step of obtaining the first compact representation of the decoding target descriptor is a step of obtaining the first compact representation of the decoding target descriptor by looking up a first table based on the second compact representation of the decoding target descriptor and the compact representation of the at least one reference descriptor corresponding to the decoding target descriptor, or a step of obtaining the first compact representation of the decoding target descriptor by looking up a second table based on the second compact representation of the decoding target descriptor, wherein the second table is established based on the compact representation of the at least one reference descriptor corresponding to the decoding target descriptor, or a step of using the exclusive logical sum value or sum of the compact representation of the at least one reference descriptor and the second compact representation of the decoding target descriptor as the first compact representation of the decoding target descriptor, including method.

14. The method further includes a step of transmitting 3D map request information; a step of receiving the bitstream of the 3D map corresponding to the 3D map request information; The method according to claim 13, including.

15. The data distribution of the first compact representation is different from the data distribution of the second compact representation, The method according to claim 13.

16. The first compact representation of the decoding target descriptor includes at least one first compact representation substring of the decoding target descriptor, and the second compact representation of the decoding target descriptor includes at least one second compact representation substring of the decoding target descriptor, the at least one first compact representation substring is different from the at least one second compact representation substring, The method according to claim 15.

17. At least one of the second compact representation substrings is, in part or in whole, less than or equal to the corresponding first compact representation substring, or At least one of the second compact representation substrings is, in part or in whole, greater than or equal to the corresponding first compact representation substring. The method according to claim 16.

18. A 3D map compression device, comprising: A compression processing module configured to perform a compression process on a descriptor to be encoded; Obtaining a first compact representation of the descriptor to be encoded; The descriptor to be encoded corresponds to at least one 3D map point on the 3D map; A compression processing module; A mapping module configured to obtain a compact representation of at least one reference descriptor corresponding to the descriptor to be encoded; The at least one reference descriptor corresponds to at least one encoded 3D map point on the 3D map; Furthermore, it is configured to obtain a second compact representation of the descriptor to be encoded based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor; A mapping module; An encapsulation module configured to encapsulate the second compact representation; Obtaining a bitstream of the 3D map; An encapsulation module; Including The mapping module is configured to obtain the second compact representation of the descriptor to be encoded by looking up a first table based on the first compact representation of the descriptor to be encoded and the compact representation of the at least one reference descriptor, or configured to obtain the second compact representation of the descriptor to be encoded by looking up a second table based on the first compact representation of the descriptor to be encoded, and the second table is established based on the compact representation of the at least one reference descriptor, or As the second compact representation of the encoding target descriptor, it is configured to use the exclusive logical sum value or difference between the compact representation of the at least one reference descriptor and the first compact representation of the encoding target descriptor. Device.

19. The device further includes a transmission module, The transmission module is configured to receive 3D map request information transmitted by an electronic device and transmit the bitstream of the 3D map corresponding to the 3D map request information to the electronic device in response to the 3D map request information, or The transmission module is configured to transmit the bitstream of the 3D map to a server. The device according to claim 18.

20. The data distribution of the first compact representation is different from the data distribution of the second compact representation. The device according to claim 18.

21. The first compact representation of the encoding target descriptor includes at least one first compact representation substring of the encoding target descriptor, and The second compact representation of the encoding target descriptor includes at least one second compact representation substring of the encoding target descriptor, The at least one first compact representation substring is different from the at least one second compact representation substring. The device according to claim 20.

22. The at least one second compact representation substring is partially or entirely less than or equal to the corresponding first compact representation substring, or The at least one second compact representation substring is partially or entirely greater than or equal to the corresponding first compact representation substring. The device according to claim 21.

23. The first table includes at least one third compact representation substring corresponding to at least one encoded compact representation substring and at least one second reference compact representation substring. The at least one encoded compact representation substring includes at least one first compact representation substring of the descriptor to be encoded, and the at least one second reference compact representation substring includes at least one first reference compact representation substring of the at least one reference descriptor. The mapping module Based on the at least one first compact representation substring of the descriptor to be encoded and the at least one first reference compact representation substring of the reference descriptor corresponding to the descriptor to be encoded, from the first table, obtain the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring, and Obtain the second compact representation of the descriptor to be encoded based on the at least one third compact representation substring corresponding to the at least one first compact representation substring and the at least one first reference compact representation substring. is configured as The apparatus according to claim 18. **Claim 24** The first table is a multi-dimensional array, Each element in the multi-dimensional array corresponds to the at least one encoded compact representation substring or the at least one second reference compact representation substring. The apparatus according to claim 23. **Claim 25** The compact representation of the at least one reference descriptor includes at least one first reference compact representation substring, and The second table includes the at least one first reference compact representation substring and at least one fourth compact representation substring corresponding to at least one first compact representation substring of the descriptor to be encoded. The mapping module Based on the at least one first compact representation substring of the encoding target descriptor, obtain the at least one fourth compact representation substring corresponding to the at least one first compact representation substring from the second table, where the second table is established based on the at least one first reference compact representation substring, and Obtain the second compact representation of the encoding target descriptor based on the at least one fourth compact representation substring corresponding to the at least one first compact representation substring. It is configured as follows. The device according to claim 18.

26. The second table is a one-dimensional array at least, and Each element in the one-dimensional array at least corresponds to the at least one first compact representation substring. The device according to claim 25.

27. The encoding target descriptor includes a zone descriptor or a 3D map point descriptor. The device according to any one of claims 18 to 26.

28. The at least one reference descriptor corresponding to the encoding target descriptor is At least one compression descriptor before the encoding target descriptor, At least one preset descriptor, or At least one descriptor determined by using a neural network model or through clustering, The device according to any one of claims 18 to 26.

29. The compression process includes a quantization process or a binarization process, and The quantization process or the binarization process is used to reduce the number of bits of the encoding target descriptor. The device according to any one of claims 18 to 26.

30. A 3D map decompression device, comprising A decompression module configured to decompress the bitstream of the 3D map, Obtain the second compact representation of the decoding target descriptor, The decoding target descriptor corresponds to at least one 3D map point on the 3D map, A decompression module; and A demapping module configured to obtain the compact representation of at least one reference descriptor corresponding to the decoding target descriptor. The at least one reference descriptor corresponds to at least one decoded 3D map point on the 3D map, and further, configured to obtain a first compact representation of the descriptor to be decoded based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded, a demapping module; a reconstruction module configured to obtain reconstruction data of the at least one 3D map point based on the first compact representation of the descriptor to be decoded, comprising: The demapping module is configured to obtain the first compact representation of the descriptor to be decoded by looking up a first table based on the second compact representation of the descriptor to be decoded and the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded, or is configured to obtain the first compact representation of the descriptor to be decoded by looking up a second table based on the second compact representation of the descriptor to be decoded, wherein the second table is established based on the compact representation of the at least one reference descriptor corresponding to the descriptor to be decoded, or configured to use the exclusive logical sum value or sum of the compact representation of the at least one reference descriptor and the second compact representation of the descriptor to be decoded as the first compact representation of the descriptor to be decoded, device.

31. The device further comprises a transmission module configured to transmit 3D map request information and receive the bitstream of the 3D map corresponding to the 3D map request information, The device according to claim 30.

32. The data distribution of the first compact representation is different from the data distribution of the second compact representation, The device according to claim 30.

33. The first compact representation of the descriptor to be decoded includes at least one first compact representation substring of the descriptor to be decoded, and The second compact representation of the decoding target descriptor includes at least one second compact representation substring of the decoding target descriptor, The at least one first compact representation substring is different from the at least one second compact representation substring, The apparatus according to claim 32.

34. The at least one second compact representation substring is partially or wholly less than or equal to the corresponding first compact representation substring, or The at least one second compact representation substring is partially or wholly greater than or equal to the corresponding first compact representation substring, The apparatus according to claim 33.

35. A 3D map compression apparatus, comprising One or more processors, and A memory configured to store one or more programs, Including When the one or more programs are executed by the one or more processors, the one or more processors The method according to any one of claims 1 to 12, Can be implemented, Apparatus.

36. A 3D map decompression apparatus, comprising One or more processors, and A memory configured to store one or more programs, Including When the one or more programs are executed by the one or more processors, the one or more processors The method according to any one of claims 13 to 17, Can be implemented, Apparatus.

37. A computer-readable storage medium including a computer program, When the computer program is executed on a computer, The computer The method according to any one of claims 1 to 12, Can be implemented, Computer-readable storage medium.

38. A computer-readable storage medium including a computer program, When the computer program is executed on a computer, The computer The method according to any one of claims 13 to 17, Can be implemented, Computer-readable storage medium.

Citation Information

Patent Citations

  • Method and apparatus for video coding

    US20200107048A1

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2020013249A1

  • Information processing device and method

    WO2020262019A1

  • Point cloud data processing method and apparatus

    WO2021002604A1

  • Point cloud data processing

    WO2021093153A1