A point cloud attribute encoding method, a decoding method, an encoding device, and a decoding device
By improving the correlation utilization of child nodes in point cloud attribute encoding and decoding methods using KD trees and Haar wavelet transform, the problem of poor point cloud attribute compression performance is solved, and more efficient data storage and transmission are achieved.
Patent Information
- Application Number
- CN202010967090.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-15
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2040-09-15
AI Technical Summary
Existing point cloud attribute encoding and decoding methods fail to effectively utilize the attribute correlations between child nodes, resulting in poor point cloud attribute compression performance.
A KD tree structure is used to divide the point cloud, and the attribute coefficients of the point cloud are calculated by Haar wavelet transform and one-dimensional discrete cosine transform. Combined with entropy coding and quantization processing, the utilization of attribute correlation between child nodes is improved.
It improves the performance of point cloud attribute compression, solves the problem of sparse point cloud data, and achieves more efficient data storage and transmission.
Smart Images

Figure CN114187401B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of point cloud processing technology, and in particular to a point cloud attribute encoding method, decoding method, encoding device, and decoding device. Background Technology
[0002] 3D point clouds are an important representation of the digitization of the real world. With the rapid development of 3D scanning equipment (such as lasers and radar), the accuracy and resolution of point clouds have become much higher. High-precision point clouds are widely used in the construction of digital city maps and play a technical supporting role in many popular research areas such as smart cities, autonomous driving, and cultural relic protection. Point clouds are obtained by sampling the surface of objects using 3D scanning equipment. A single frame of a point cloud typically contains millions of points, each containing geometric information and attribute information such as color and reflectivity, resulting in a massive amount of data. The enormous data volume of 3D point clouds poses significant challenges to data storage and transmission, making point cloud compression crucial.
[0003] Point cloud compression is mainly divided into geometric compression and attribute compression. Currently, the point cloud attribute compression framework described in the PCEM test platform provided by the China AVS (Audio Video coding Standard) Point Cloud Compression Working Group primarily relies on nearest neighbor prediction. However, these related technologies do not effectively utilize the correlation of point cloud attributes, leading to reduced compression performance.
[0004] Therefore, existing technologies still need to be improved and developed. Summary of the Invention
[0005] This invention provides a point cloud attribute encoding method, a decoding method, an encoding device, and a decoding device, aiming to solve the problem that existing point cloud attribute encoding and decoding methods cannot effectively utilize the attribute correlation between child nodes, resulting in poor point cloud attribute compression performance.
[0006] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:
[0007] A point cloud attribute encoding method, comprising the following steps:
[0008] The point cloud is divided into KD trees based on the position of the points within the target point cloud, and an N-level KD tree structure is constructed, where N is a positive integer greater than 1.
[0009] For the target node in the KD tree structure, obtain the child nodes of the target node, perform transformation calculation on the first attribute coefficient of the child node, and obtain the first attribute coefficient and second attribute coefficient of the target node, wherein the target node is a node in the P-th level of the KD tree structure, and P is a positive integer greater than or equal to 1 and less than or equal to N-1;
[0010] The first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure are used as the output coefficients of the point cloud attribute encoding method. The first attribute coefficient of the leaf node in the KD tree structure is the point cloud attribute value corresponding to the leaf node, and the leaf node has no second attribute coefficient.
[0011] The point cloud attribute encoding method, wherein the transformation calculation method for target nodes at different layers of the N-layer KD tree structure specifically includes:
[0012] For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes. The leaf nodes of the target node in the N-1 layer and the N layer are obtained. The first attribute coefficient of the leaf node is calculated to obtain the first attribute coefficient and the second attribute coefficient of the target node.
[0013] For the target node in the KD tree structure, obtain the two child nodes of the target node, perform Haar wavelet transform on the first attribute coefficients of the two child nodes, and obtain the first attribute coefficients and second attribute coefficients of the target node. The target node is a node in the Mth level of the KD tree structure, where M is a positive integer greater than or equal to 1 and less than or equal to N-3.
[0014] The point cloud attribute encoding method, wherein the calculation steps for the first attribute coefficient and the second attribute coefficient of the N-2 layer target node of the N-layer KD tree structure include:
[0015] For the N-1 layer of the N-layer KD tree structure, the non-leaf nodes in the layer are taken as the target nodes. The two child leaf nodes of the target node are obtained. The first attribute coefficients of the two child leaf nodes are a1 and a2, respectively. Then the first attribute coefficient of the target node is calculated as (a1+a2) / 2 and the second attribute coefficient is (a1-a2) / 2.
[0016] For the N-2th layer of the N-layer KD tree structure, all nodes in the layer are taken as the target node. The two child nodes of the target node are obtained. The first attribute coefficients of the two child nodes are calculated in the same way as above to obtain the first attribute coefficients and second attribute coefficients of the target node. The second attribute coefficients of the two child nodes are also the second attribute coefficients of the target node.
[0017] The point cloud attribute encoding method, wherein another method for calculating the first attribute coefficient and the second attribute coefficient of the N-2 layer target node of the N-layer KD tree structure includes the following steps:
[0018] For the N-2 layer of the N-layer KD-tree structure, all nodes within the layer are taken as the target node. K leaf nodes of the target node in layers N-1 and N are obtained, where K is an integer greater than or equal to 2 and less than or equal to 4. A one-dimensional discrete cosine transform is performed on the first attribute coefficients of the K leaf nodes. The low-frequency DC coefficient is taken as the first attribute coefficient of the target node, and the remaining high-frequency AC coefficients are taken as the second attribute coefficients of the target node. The first and second attribute coefficients of the target node are then normalized by dividing by .
[0019] The point cloud attribute encoding method, wherein the calculation steps for the first and second attribute coefficients of the target node from layer N-3 to layer 1 of the N-layer KD tree structure include:
[0020] The target node contains two child nodes, and the first attribute coefficients of the two child nodes are a1 and a2, respectively.
[0021] Perform Haar wavelet transform on the first attribute coefficients of the two child nodes to obtain the first attribute coefficients of the target node. The coefficient of the second attribute is
[0022] The point cloud attribute encoding method, after taking the first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure as the output coefficients of the point cloud attribute encoding method, further includes the following steps:
[0023] The output coefficients are directly entropy encoded to obtain the transform coefficient bitstream;
[0024] Alternatively, the output coefficients can be quantized to obtain quantized transform coefficients; the quantized transform coefficients can be entropy encoded to obtain a quantized transform coefficient bitstream.
[0025] The point cloud attribute encoding method further includes the following steps before performing the Haar wavelet transform:
[0026] Convert the attribute values of the RGB color space to the attribute values of the YUV color space.
[0027] The point cloud attribute encoding method, after taking the first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure as the output coefficients of the point cloud attribute encoding method, further includes the following steps:
[0028] The difference between the original point cloud attribute values and the reconstructed point cloud attribute values is calculated as the attribute residual value. The attribute residual value is then entropy encoded to obtain the residual point cloud code stream.
[0029] Alternatively, the difference between the original point cloud attribute values and the reconstructed point cloud attribute values can be calculated as attribute residual values; the attribute residual values can be quantized to obtain attribute quantization residual coefficients; and the attribute quantization residual coefficients can be encoded to obtain the residual point cloud code stream.
[0030] Alternatively, the difference between the original point cloud attribute values and the reconstructed point cloud attribute values can be calculated as attribute residual values; the attribute residual values can be quantized to obtain attribute quantization residual coefficients; the attribute quantization residual coefficients can be encoded to obtain residual point cloud code streams; and the attribute quantization residual remainders can be encoded.
[0031] A point cloud attribute encoding device, comprising a processor, a memory, an encoding module, and a bus;
[0032] The memory stores a computer-readable program that can be executed by the processor;
[0033] The bus enables communication between the processor and the memory;
[0034] The processor is used to implement the steps in the method of the present invention when it invokes the encoding module to execute the computer-readable program.
[0035] A point cloud attribute decoding method, comprising the following steps:
[0036] The point cloud is divided into KD trees based on the position of the points within the target point cloud, and an N-level KD tree structure is constructed, where N is a positive integer greater than 1.
[0037] Decode the point cloud bitstream to obtain the point cloud transformation coefficients;
[0038] For the first layer of the N-layer KD tree structure, the transform coefficients obtained from decoding the bitstream are used as inverse transform input coefficients to perform inverse transform calculation, thereby obtaining the inverse transform output coefficients of the current layer;
[0039] Starting from the second layer of the N-layer KD tree structure up to the (N-1)th layer, the reconstructed output coefficients obtained from the inverse transformation of the parent node of the previous layer and the transformation coefficients obtained from decoding the bitstream are used as the inverse transformation input coefficients of the target node of the current layer to perform inverse transformation calculation and obtain the reconstructed output coefficients.
[0040] The reconstruction coefficients of all leaf nodes are used as the reconstruction values of the point cloud attribute transformation.
[0041] The point cloud attribute decoding method, wherein the inverse transformation calculation method for target nodes at different levels of the N-layer KD tree structure specifically includes:
[0042] For the N-layer KD tree structure from the 1st to the N-3rd layer, all nodes in the layer are taken as target nodes, and the inverse transform input coefficients of each target node are subjected to Haar wavelet inverse transform to obtain the inverse transform output coefficients of the current layer.
[0043] For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes. The inverse transform input coefficients of each target node are calculated to obtain the reconstruction output coefficients of the target node, which are used as the reconstruction coefficients of the leaf nodes in the N-1 and N layers.
[0044] The point cloud attribute decoding method, wherein the calculation steps for the reconstruction output coefficients of the target nodes from the 1st to the (N-3rd)th layers of the N-layer KD tree structure include:
[0045] The target node contains input coefficients, b1 and b2. An inverse Haar wavelet transform is performed to obtain the reconstructed output coefficients of the target node. (and
[0046] The point cloud attribute decoding method, wherein the calculation method for the reconstruction output coefficients of the N-2 layer target nodes of the N-layer KD tree structure includes the following steps:
[0047] For the (N-2)th layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes. The two child nodes of the target node in the (N-1)th layer are obtained. The input coefficients of the target node are b1 and b2, respectively. The reconstruction output coefficients of the target node are calculated as (b1+b2) and (b1-b2). The reconstruction output coefficients are the reconstruction input coefficients of the two child nodes of the target node in the (N-1)th layer.
[0048] For the (N-1)th layer of the N-layer KD tree structure, all non-leaf nodes in the layer are taken as target nodes. The two child leaf nodes of the target node in the Nth layer are obtained. The reconstruction output coefficients obtained from the parent node of the previous layer and the transformation coefficients obtained from the decoded bitstream are used as the input coefficients of the target node in the current layer. The same calculation is performed to obtain the two reconstruction output coefficients of the target node.
[0049] The point cloud attribute decoding method, wherein another method for calculating the reconstruction output coefficients of the N-2 layer target nodes of the N-layer KD tree structure includes the following steps:
[0050] For the N-2 level of the N-layer KD-tree structure, all nodes within that level are taken as the target node. The K leaf nodes of the target node in levels N-1 and N are obtained, where K is an integer greater than or equal to 2 and less than or equal to 4. The input coefficients of the target node are then subjected to inverse normalization, which is achieved by multiplying by... Then, perform an inverse one-dimensional discrete cosine transform to obtain the K reconstruction output coefficients of the target node.
[0051] The point cloud attribute decoding method, wherein the step of decoding the point cloud bitstream to obtain the point cloud transformation coefficients includes:
[0052] Entropy decoding is performed on the point cloud code stream to obtain the point cloud transformation coefficients;
[0053] Alternatively, entropy decoding is performed on the point cloud code stream to obtain quantization transformation coefficients; the quantization transformation coefficients are then inversely quantized to obtain the point cloud transformation coefficients.
[0054] The point cloud attribute decoding method further includes the step of converting the reconstructed attribute values in the YUV color space into reconstructed attribute values in the RGB color space after performing the three-dimensional Haar wavelet inverse transform.
[0055] The point cloud attribute decoding method, after using the reconstructed output coefficients of the leaf nodes as the point cloud attribute transformation reconstruction values, further includes the following steps:
[0056] Entropy decoding is performed on the point cloud code stream to obtain attribute residual values; the sum of the attribute residual values and the transformed and reconstructed point cloud attribute values is calculated as the point cloud attribute reconstruction values.
[0057] Alternatively, entropy decoding is performed on the point cloud code stream to obtain attribute quantization residual coefficients; inverse quantization is performed on the attribute quantization residual coefficients to obtain inverse quantization attribute residual values; the sum of the inverse quantization attribute residual values and the transformed reconstructed point cloud attribute values is calculated as the point cloud attribute reconstruction values;
[0058] Alternatively, entropy decoding is performed on the point cloud code stream to obtain the attribute quantization residual coefficients and attribute quantization residual remainders; the attribute quantization residual coefficients are inverse quantized to obtain inverse quantized attribute residual values; the sum of the attribute quantization residual remainders, the inverse quantization attribute residual values, and the transformed and reconstructed point cloud attribute values is calculated as the point cloud attribute reconstruction values.
[0059] A point cloud attribute decoding device, comprising a processor, a memory, an encoding module, and a bus;
[0060] The memory stores a computer-readable program that can be executed by the processor;
[0061] The bus enables communication between the processor and the memory;
[0062] The processor is used to implement the steps in the method of the present invention when it invokes the encoding module to execute the computer-readable program.
[0063] Beneficial effects: Compared with the prior art, the point cloud attribute encoding and decoding methods provided by the present invention solve the problem of the sparsity of point cloud data, and can improve the utilization of attribute correlation between child nodes, thereby effectively improving the point cloud attribute compression performance. Attached Figure Description
[0064] Figure 1 This is a first flowchart of a preferred embodiment of the cloud attribute encoding method provided by the present invention.
[0065] Figure 2 This is a schematic diagram illustrating the KD tree structure constructed according to the present invention.
[0066] Figure 3 The second flowchart of a point cloud attribute encoding method provided by the present invention is shown.
[0067] Figure 4 This invention provides a schematic diagram of the structure of a point cloud attribute encoding device.
[0068] Figure 5 This is a first flowchart of a preferred embodiment of a point cloud attribute decoding method provided by the present invention.
[0069] Figure 6 The second flowchart of a point cloud attribute decoding method provided by the present invention is shown. Detailed Implementation
[0070] This invention provides a point cloud attribute encoding method, a decoding method, an encoding device, and a decoding device. To make the objectives, technical solutions, and effects of this invention clearer and more explicit, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only for explaining this invention and are not intended to limit this invention.
[0071] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in this specification means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It should be understood that when an element is referred to as “connected” or “coupled” to another element in this embodiment, it may be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein may include wireless connection or wireless coupling. The term “and / or” as used herein includes all or any unit and all combinations of one or more associated listed items.
[0072] It will be understood by those skilled in the art that, unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. It should also be understood that terms such as those defined in general dictionaries should be understood to have the same meaning as in the context of the prior art, and should not be interpreted in an idealized or overly formal sense unless specifically defined as herein.
[0073] The invention will be further explained below with reference to the accompanying drawings and the description of the embodiments.
[0074] Please see Figure 1 , Figure 1 A flowchart of a preferred embodiment of a point cloud attribute encoding method provided by the present invention is shown in the figure, which includes the following steps:
[0075] S10. Divide the point cloud into KD trees according to the position of the points in the target point cloud, and construct an N-level KD tree structure, where N is a positive integer greater than 1.
[0076] S20. For the target node in the KD tree structure, obtain the child nodes of the target node, perform transformation calculation on the first attribute coefficient of the child node, and obtain the first attribute coefficient and second attribute coefficient of the target node, wherein the target node is a node in the P-th level of the KD tree structure, and P is a positive integer greater than or equal to 1 and less than or equal to N-1.
[0077] S30. The first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure are used as the output coefficients of the point cloud attribute encoding method, wherein the first attribute coefficient of the leaf node in the KD tree structure is the point cloud attribute value corresponding to the leaf node, and the leaf node has no second attribute coefficient.
[0078] Specifically, in this embodiment, steps S10-S30 are executed at the encoding end to realize the attribute transformation encoding of the point cloud. This embodiment applies Haar wavelet transform to the attribute encoding of the point cloud, specifically as follows: First, the point cloud is decomposed into a KD tree to obtain an N-layer KD tree structure. Each leaf node of the KD tree corresponds to the attribute value (e.g., color) of a 3D point in the point cloud to be encoded. Let this attribute value be the DC attribute coefficient of that leaf node, based on... Figure 2 The binary tree structure shown is subjected to Haar wavelet transform. The KD tree constructed in this embodiment is as follows: Figure 2The binary tree structure shown divides the 3D point coordinates as follows: For each node, first select a direction from x, y, z (generally the direction with the largest variance, i.e., the direction with the most discrete point distribution), and divide the space into two parts along this direction, so that the number of 3D points in the two spaces is the same. These two spaces are the corresponding child nodes. Repeat the above steps until there is only one 3D point in the node, and stop dividing the node. Unlike the octree division of point clouds, each node in the KD tree division used in this embodiment must contain at least one 3D point in the point cloud, and leaf nodes only appear in layers N and N-1.
[0079] In some implementations, the transformation calculation method for target nodes at different levels of the N-layer KD tree structure specifically includes: for the N-2 level of the N-layer KD tree structure, taking all nodes in the level as target nodes, obtaining the leaf nodes of the target node in the N-1 and N levels, calculating the first attribute coefficient of the leaf nodes, and obtaining the first attribute coefficient and second attribute coefficient of the target node; for the target node in the KD tree structure, obtaining the two child nodes of the target node, performing Haar wavelet transform on the first attribute coefficients of the two child nodes, and obtaining the first attribute coefficient and second attribute coefficient of the target node, wherein the target node is a node in the M-th level of the KD tree structure, and M is a positive integer greater than or equal to 1 and less than or equal to N-3.
[0080] In some embodiments, the calculation method for the first attribute coefficient (DC coefficient) and the second attribute coefficient (AC coefficient) of the target node in the N-2 layer of the N-layer KD tree structure includes the following steps: For the N-1 layer of the N-layer KD tree structure, the non-leaf nodes in the layer are taken as the target node, and the two child leaf nodes of the target node are obtained. The first attribute coefficients of the two child leaf nodes are a1 and a2, respectively. Then, the first attribute coefficient of the target node is calculated as (a1+a2) / 2, and the second attribute coefficient is (a1-a2) / 2; For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as the target node, and the two child nodes of the target node are obtained. The first attribute coefficients of the two child nodes are calculated in the same way as above to obtain the first attribute coefficient and the second attribute coefficient of the target node. The second attribute coefficient of the two child nodes is also the second attribute coefficient of the target node.
[0081] In other embodiments, the calculation method for the first attribute coefficient (DC coefficient) and the second attribute coefficient (AC coefficient) of the target node in the N-2 layer of the N-layer KD tree structure includes the following steps: For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes, and K leaf nodes of the target node in the N-1 and N layers are obtained (leaf nodes specifically refer to the child nodes of leaf nodes, and the child nodes of non-leaf nodes are not considered here), where K is an integer greater than or equal to 2 and less than or equal to 4; a one-dimensional discrete cosine transform is performed on the first attribute coefficient of the K leaf nodes, and the low-frequency DC coefficient is taken as the first attribute coefficient of the target node, and the remaining high-frequency AC coefficients are taken as the second attribute coefficient of the target node; the first attribute coefficient and the second attribute coefficient of the target node are normalized by dividing by .
[0082] Specifically, in this embodiment, the point cloud is partitioned into a KD-tree. Each node in the KD-tree must contain at least one 3D point in the point cloud. Leaf nodes of the KD-tree contain only one 3D point and appear only in layers N and N-1. For layer N-2, the first and second attribute coefficients of all nodes are calculated. K child leaf nodes of the node in layers N-1 and N are obtained, where K is an integer greater than or equal to 2 and less than or equal to 4. The first attribute coefficients of these K child leaf nodes are used as input coefficients, and a one-dimensional DCT transformation is performed on them. In this embodiment, the input coefficients within a node are assumed to be row vectors F∈R. K (K child nodes), the transformed coefficients are row vector C = {c1,…,c K}∈R K The transformation formula is C = F × A K , change matrix A K Specifically:
[0083] K=2:
[0084] K=3:
[0085] K = 4: The transformed low-frequency DC coefficient, c1, is used as the first attribute coefficient of the target node, and the remaining high-frequency AC coefficients, c2, ..., c..., are used as... K This serves as the second attribute coefficient of the target node. Next, the first and second attribute coefficients of the target node are normalized. The specific calculation method is as follows: C′∈R K , which is the final input coefficient for this node.
[0086] The first attribute coefficients of all nodes in layer N-2 will be used as input coefficients for the subsequent Haar wavelet transform. The second attribute coefficients of all nodes in layer N-2 will be directly used as encoding coefficients and quantized and entropy encoded as needed.
[0087] In some implementations, starting from layer N-3 and ending at layer 1, the two attribute coefficients of all nodes in each layer are calculated. Each node contains two child nodes with DC attribute coefficients a1 and a2, respectively. The DC coefficient of this node is then calculated as follows: The AC coefficient is
[0088] In this embodiment, layers N-1 and N-2 are preprocessing steps for Haar wavelet transform. The DC coefficients of the nodes in layer N-2 can be considered as the average value of the three-dimensional points it contains, serving as the input signal value for the wavelet transform. From layer N-3 to layer 1, Haar wavelet transform is performed, and its transform matrix is... Ultimately, the process yields a first attribute coefficient for a root node and multiple second attribute coefficients from different layers. These coefficients can be quantized and entropy encoded as coding coefficients.
[0089] In some implementations, the first attribute coefficient of the root node in the KD-tree structure and the second attribute coefficients of each of the target nodes in the KD-tree structure are used as the output coefficients of the point cloud attribute encoding method. Finally, the output coefficients are directly entropy encoded as required to obtain the transform coefficient bitstream; or the output coefficients are quantized to obtain quantized transform coefficients, and the quantized transform coefficients are entropy encoded to obtain the quantized transform coefficient bitstream.
[0090] In some implementations, since existing transformation methods generally cannot achieve lossless attribute encoding, this embodiment designs an encoding residual processing module to solve this problem. The encoding residual processing module employs the following three methods during encoding: calculating the difference between the original point cloud attribute values and the reconstructed point cloud attribute values as attribute residual values, and performing entropy encoding on the attribute residual values to obtain a residual point cloud bitstream; or, calculating the difference between the original point cloud attribute values and the reconstructed point cloud attribute values as attribute residual values; quantizing the attribute residual values to obtain attribute quantization residual coefficients; encoding the attribute quantization residual coefficients to obtain a residual point cloud bitstream; or, calculating the difference between the original point cloud attribute values and the reconstructed point cloud attribute values as attribute residual values; quantizing the attribute residual values to obtain attribute quantization residual coefficients; encoding the attribute quantization residual coefficients to obtain a residual point cloud bitstream; and encoding the attribute quantization residual remainder.
[0091] Specifically, such as Figure 3As shown, this embodiment first uses a transformation method to transform the point cloud to obtain transformation coefficients, then quantizes them to obtain quantized transformation coefficients, followed by inverse quantization to obtain reconstructed transformation coefficients, and finally performs inverse transformation to obtain the reconstructed point cloud attribute values. The reconstructed point cloud and the original point cloud are input data to the encoding residual processing module. Within this module, the attribute residual value at each spatial point between the reconstructed and original point clouds is first calculated. Then, the attribute residual value is quantized according to requirements to obtain attribute quantization residual coefficients, and finally, the attribute quantization residual coefficients are encoded. For near-lossless conditions (limited-lossy), the attribute residual values need to be quantized and encoded according to a given quantization step size to control Hausdorff error. For lossless conditions, the following two methods can be used: Method 1: No quantization processing is needed for the attribute residual values; that is, the quantization step size is 1, and the attribute residual values are directly encoded. Method 2: The attribute residual values are encoded by encoding both the attribute quantization residual remainder and the attribute quantization residual coefficients.
[0092] In some implementations, for color encoding, the calculation of attribute residual values needs to be performed in the color space of the original point cloud. If the attribute values of the reconstructed point cloud generated by the inverse transform are in a different color space than the attribute values of the original point cloud—for example, the original point cloud has attribute values in the RGB color space, while the inverse transform generates attribute values in the YUV color space—then a color space conversion needs to be performed on the reconstructed point cloud attribute values generated by the inverse transform to convert them to the same color space as the original point cloud.
[0093] Based on the above point cloud attribute decoding method, the present invention also provides a point cloud attribute decoding device, such as... Figure 4 As shown, it includes at least one processor 20; a display screen 21; and a memory 22, and may also include a communications interface 23 and a bus 24. The processor 20, display screen 21, memory 22, and communications interface 23 can communicate with each other via the bus 24. The display screen 21 is configured to display a preset user guide interface in the initial setup mode. The communications interface 23 can transmit information. The processor 20 can invoke logical instructions in the memory 22 to execute the methods described in the above embodiments.
[0094] Furthermore, the logical instructions in the aforementioned memory 22 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.
[0095] The memory 22, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, such as program instructions or modules corresponding to the methods in the embodiments of this disclosure. The processor 20 executes functional applications and data processing by running the software programs, instructions, or modules stored in the memory 22, thereby implementing the methods in the above embodiments.
[0096] The memory 22 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 22 may include high-speed random access memory (RAM) and non-volatile memory. Examples include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, as well as transient storage media.
[0097] Furthermore, the specific process of loading and executing multiple instruction processors in the aforementioned storage medium and point cloud attribute encoding device has been described in detail in the above method, and will not be repeated here.
[0098] In some implementations, a point cloud attribute decoding method is also provided, such as... Figure 5 As shown, it includes the following steps:
[0099] S100. Divide the point cloud into KD trees according to the position of the points in the target point cloud, and construct an N-level KD tree structure, where N is a positive integer greater than 1.
[0100] S200. Decode the point cloud code stream to obtain the point cloud transformation coefficients;
[0101] S300. For the first layer of the N-layer KD tree structure, the transform coefficients obtained from the decoded bitstream are used as inverse transform input coefficients to perform Haar wavelet inverse transform, and the inverse transform output coefficients of the current layer are obtained.
[0102] S400. Starting from the second layer of the N-layer KD tree structure up to the (N-1)th layer, the reconstructed output coefficients obtained from the inverse transformation of the parent node of the previous layer and the transformation coefficients obtained from the decoding of the bitstream are used as the inverse transformation input coefficients of the target node of the current layer to perform inverse transformation calculation and obtain the reconstructed output coefficients.
[0103] S500: Use the reconstruction output coefficients of all leaf nodes as the reconstruction values of point cloud attribute transformation.
[0104] Specifically, this embodiment applies Haar wavelet transform to attribute decoding of point clouds, and its implementation is as follows: First, the point cloud is decomposed into a KD tree to obtain an N-layer KD tree structure. Each leaf node of the KD tree structure corresponds to the attribute value of a 3D point in the point cloud to be decoded and reconstructed. The point cloud code stream is decoded to obtain point cloud transform coefficients, including a first attribute coefficient (DC coefficient) from the root node and multiple second attribute coefficients (AC coefficients) from different nodes.
[0105] For the first level (root node) of the KD tree, the transform coefficients (one DC coefficient and one AC coefficient, denoted as b1 and b2) decoded from the bitstream are used as inverse transform input coefficients to perform an inverse Haar wavelet transform, yielding two output coefficients a1 and a2. The calculation formula is as follows: a1 and a2 will be used as the input DC coefficients of the second-level inverse transform.
[0106] In some implementations, the method for calculating the inverse transform of target nodes at different layers of the N-layer KD tree structure specifically includes: starting from the inverse transform of the second layer of the KD tree until the end of the inverse transform of the N-3th layer, using the output coefficients obtained from the inverse transform of the previous layer and the transform coefficients decoded from the bitstream as the input coefficients of the inverse transform of the child nodes of the current layer node to perform inverse Haar wavelet transform, and obtaining the output transform coefficients.
[0107] For the (N-2)th layer of the N-layer KD-tree structure, all nodes within the layer are taken as target nodes. The two child nodes of the target node in the (N-1)th layer are obtained, with input coefficients b1 and b2 respectively. The reconstructed output coefficients of the target node are calculated as (b1+b2) and (b1-b2), where the reconstructed output coefficients are the reconstructed input coefficients of the two child nodes of the target node in the (N-1)th layer. For the (N-1)th layer of the N-layer KD-tree structure, all non-leaf nodes within the layer are taken as target nodes. The two leaf nodes of the target node in the Nth layer are obtained. The reconstructed output coefficients obtained from the parent node of the previous layer and the transform coefficients decoded from the bitstream are used as input coefficients of the target node in the current layer, and the same calculation is performed to obtain the two reconstructed output coefficients of the target node. Specifically, for the (N-2)th layer of the KD-tree, using the output coefficients obtained from the inverse transform of the previous layer and the transform coefficients decoded from the bitstream (b1 and b2 respectively), two output coefficients a1 and a2 are calculated using the formulas a1 = (b1+b2) and a2 = (b1-b2). a1 and a2 will be used as input coefficients for the inverse processing of the (N-1)th layer. For the (N-1)th layer of the KD tree, for leaf nodes, the output coefficients obtained from the previous layer are the reconstructed attribute coefficients of that node. For non-leaf nodes, using the output coefficients obtained from the inverse transform of the previous layer and the transform coefficients (b1 and b2) decoded from the bitstream, two output coefficients a1 and a2 are calculated using the formulas a1 = (b1 + b2) and a2 = (b1 - b2). a1 and a2 will then be used as the reconstructed attribute coefficients for the corresponding leaf node in the Nth layer.
[0108] In other embodiments, another method for calculating the reconstruction output coefficients of the target nodes in the N-2 layer of the N-layer KD tree structure includes the following steps: For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes, and the K leaf nodes of the target nodes in the N-1 and N layers are obtained, where K is an integer greater than or equal to 2 and less than or equal to 4. The input coefficients of the target nodes are then subjected to inverse normalization, which is achieved by multiplying by... Then, perform an inverse one-dimensional discrete cosine transform to obtain the K reconstruction output coefficients of the target node.
[0109] Specifically, after the inverse Haar transform, the output coefficients obtained from the inverse transform and the transform coefficients decoded from the bitstream are used as the inverse transform input coefficients for the N-2 layer nodes. Inverse normalization and inverse DCT transform are then performed to obtain the reconstructed point cloud attributes. Calculations are performed on all nodes in the N-2 layer. For the target node, K leaf nodes in layers N-1 and N are obtained, where K is an integer greater than or equal to 2 and less than or equal to 4. The input coefficients for the target node are denoted as the row vector C′={c1′,…,c K ′}∈R K First, inverse normalization is performed. The processing method is as follows: Then, perform an inverse one-dimensional discrete cosine transform on the row vector C to obtain the K reconstruction output coefficients of the target node, denoted as F∈R. K The calculation formula is: Where the inverse transformation matrix It is the positive transformation matrix A K The transpose of . These K reconstruction output coefficients are the reconstruction first attribute coefficients of the corresponding leaf nodes, that is, the reconstruction values of the corresponding point cloud attributes.
[0110] Through the above calculation process, a reconstruction attribute coefficient is calculated for all leaf nodes in this embodiment, and correspondingly, all reconstruction attribute values of the point cloud can be obtained.
[0111] In this embodiment, let the signal within the transformation node be a row vector F∈R 2 (2 child nodes), the transformed coefficients are row vectors C∈R 2 Construct the transformation matrix as The Haar transform and inverse Haar transform can be expressed as:
[0112] C = F × A Haar transform
[0113] F = C × A T Inverse Haar transform.
[0114] In some implementations, the proposed transformation for color attributes exhibits higher performance in the YUV space. Therefore, if the original point cloud's color attributes are located in the RGB space, this embodiment can first perform a color space conversion on the attribute values. Subsequently, the transformation is performed in the YUV color space. Correspondingly, during the decoding process, the inverse transformation generates reconstructed color attribute values in the YUV space, thus requiring an inverse color space conversion to obtain the reconstructed color attribute values in the original point cloud color space (RGB color space).
[0115] In some implementations, the step of decoding the point cloud code stream to obtain point cloud transformation coefficients includes: performing entropy decoding on the point cloud code stream to obtain the point cloud transformation coefficients; or, performing entropy decoding on the point cloud code stream to obtain quantized transformation coefficients; and performing inverse quantization on the quantized transformation coefficients to obtain the point cloud transformation coefficients.
[0116] In some implementations, since existing transformation methods generally cannot achieve lossless attribute decoding, this embodiment designs a decoding residual processing module to solve this problem. The decoding residual processing module employs the following three methods during decoding: entropy decoding of the point cloud code stream to obtain attribute residual values; calculating the sum of the attribute residual values and the transformed reconstructed point cloud attribute values as the point cloud attribute reconstruction value; or, entropy decoding of the point cloud code stream to obtain attribute quantization residual coefficients; inverse quantization of the attribute quantization residual coefficients to obtain inverse quantization attribute residual values; calculating the sum of the inverse quantization attribute residual values and the transformed reconstructed point cloud attribute values as the point cloud attribute reconstruction value; or, entropy decoding of the point cloud code stream to obtain attribute quantization residual coefficients and attribute quantization residual remainders; inverse quantization of the attribute quantization residual coefficients to obtain inverse quantization attribute residual values; calculating the sum of the attribute quantization residual remainders, the inverse quantization attribute residual values, and the transformed reconstructed point cloud attribute values as the point cloud attribute reconstruction value.
[0117] Specifically, such as Figure 6 As shown, this embodiment first uses the inverse transform method to reconstruct the point cloud to obtain the reconstructed point cloud attribute values. The reconstructed point cloud attribute values and the quantization residual coefficient bitstream are then input into the decoding residual processing module. Within the module, the quantization residual coefficient bitstream is first entropy-decoded to obtain the attribute quantization residual coefficients. Next, the attribute quantization residual coefficients are inversely quantized to obtain the reconstructed attribute residual values. Finally, the reconstructed attribute residual values are added to the reconstructed point cloud attribute values to obtain the final point cloud attribute decoding result.
[0118] For lossless conditions, the following two methods can be used: Method 1: For the existing attribute residual bitstream, first perform entropy decoding to obtain the attribute residual values. Without inverse quantization, directly add the attribute residual values to the reconstructed point cloud attribute values to obtain the final point cloud attribute decoding result. Method 2: For the existing attribute quantization residual remainder bitstream and attribute quantization residual coefficient bitstream, first perform entropy decoding on each to obtain the attribute quantization residual remainder and attribute quantization residual coefficient. Then, perform inverse quantization on each to obtain the reconstructed attribute residual remainder and reconstructed attribute residual coefficient. Finally, add the reconstructed attribute residual remainder, reconstructed attribute residual coefficient, and reconstructed point cloud attribute values to obtain the final point cloud attribute decoding result.
[0119] In some implementations, for color decoding, the decoding residual processing module needs to perform the decoding in the color space of the original point cloud. If the attribute values of the reconstructed point cloud generated by the inverse transform are in a different color space than the attribute values of the original point cloud—for example, the original point cloud has attribute values in the RGB color space, while the inverse transform generates attribute values in the YUV color space—then it is necessary to perform a color space conversion on the reconstructed point cloud attribute values generated by the inverse transform, converting them to the same color space as the original point cloud.
[0120] In some implementations, a point cloud attribute decoding device based on Haar wavelet transform is also provided, which includes a processor, a memory, an encoding module, and a bus;
[0121] The memory stores a computer-readable program that can be executed by the processor;
[0122] The bus enables communication between the processor and the memory;
[0123] The processor is used to invoke the encoding module to execute the computer-readable program, thereby implementing the steps in the method described in this invention.
[0124] Furthermore, based on PCEM software version v0.5, the present invention tested the experimental results of the method of this embodiment and the anchor, and the results are shown in Tables 1-4.
[0125] Table 1 is a comparison of rate-distortion data for luminance, chromaticity, and reflectance under finite lossy geometry and lossy property conditions.
[0126]
[0127] Table 2 compares the rate-distortion data of luminance, chromaticity, and reflectance under lossless geometry and lossy property conditions.
[0128]
[0129] Table 3 compares the rate-distortion data of color attributes and reflectance for the three color channels (Red, Green, and Blue) under lossless geometry and finite lossy attribute conditions.
[0130]
[0131] Table 4 is a comparison of bit rate data for color and reflectivity under lossless geometry and lossless property conditions.
[0132]
[0133] The data in Tables 1-4 show that, compared to the benchmark results of the PCEM test platform, under finite lossy geometry and lossy attribute conditions, and under non-lossy geometry and lossy attribute conditions, the end-to-end attribute rate distortion of this invention is reduced by 12.4% and 2.6% for reflectivity attribute, respectively; for luminance attribute, the end-to-end attribute rate distortion of this invention is reduced by 35.4% and 53.8%; for chromaticity Cb attribute, the end-to-end attribute rate distortion of this invention is reduced by 70.6% and 61.9%; and for chromaticity Cr attribute, the end-to-end attribute rate distortion of this invention is... The present invention reduces the rate distortion by 69.0% and 63.8% respectively; under lossless geometry and finite lossy property conditions, for reflectivity property, the end-to-end Hausdorf property rate distortion of the present invention is reduced by 7.0%; for color properties of the three color channels (red (R), green (G), and blue (B), the end-to-end Hausdorf property rate distortion of the present invention is reduced by 20.8%; under lossless geometry and lossless property conditions, for reflectivity property, the reflectivity bit rate of the present invention is 82.5% of the baseline result; for color property, the color bit rate of the present invention is 94.5% of the baseline result.
[0134] In summary, this invention utilizes a KD-tree structure to implement Haar wavelet transform for point cloud data, effectively addressing the sparsity issue of point cloud data and enhancing the utilization of attribute correlations between child nodes, thereby significantly improving point cloud attribute compression performance. The invention employs designed encoding and decoding residual processing modules to achieve lossless compression and near-lossless compression (limited-lossy) based on Hausdorff error as the evaluation criterion. For color attributes, transform compression is performed in the YUV space, while residual compression is performed in the RGB space, achieving highly efficient compression. The integration of the encoding and decoding residual processing modules with the transform compression method provided in this invention is independent, allowing users to decide whether to use residual encoding based on their needs. Furthermore, the encoding and decoding residual processing modules can serve as general post-processing techniques, combined with other compression methods to achieve lossless and near-lossless attribute compression.
[0135] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A point cloud attribute encoding method, characterized in that, Including the following steps: The point cloud is divided into KD trees based on the position of the points within the target point cloud, and an N-level KD tree structure is constructed, where N is a positive integer greater than 3. For the target node in the KD tree structure, obtain the child nodes of the target node, perform transformation calculation on the first attribute coefficient of the child node, and obtain the first attribute coefficient and second attribute coefficient of the target node, wherein the target node is a node in the P-th level of the KD tree structure, and P is a positive integer greater than or equal to 1 and less than or equal to N-1; The first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure are used as the output coefficients of the point cloud attribute encoding method. The first attribute coefficient of the leaf node in the KD tree structure is the point cloud attribute value corresponding to the leaf node, and the leaf node has no second attribute coefficient. The transformation calculation method for target nodes at different levels of the N-layer KD-tree structure specifically includes: For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as the target node of the N-2 layer. The leaf nodes of the target node of the N-2 layer in the N-1 layer and the N layer are obtained. The first attribute coefficient of the leaf node is calculated to obtain the first attribute coefficient and the second attribute coefficient of the target node of the N-2 layer. For the target node in the M-level of the KD tree structure, obtain the two child nodes of the target node in the M-level, perform Haar wavelet transform on the first attribute coefficients of the two child nodes, and obtain the first attribute coefficients and second attribute coefficients of the target node in the M-level. The target node in the M-level is the node in the M-th level of the KD tree structure, and M is a positive integer greater than or equal to 1 and less than or equal to N-3. The calculation steps for the first and second attribute coefficients of the target node from layer N-3 to layer 1 in the N-layer KD tree structure include: The target node from layer N-3 to layer 1 contains two child nodes, and the first attribute coefficients of the two child nodes are a1 and a2, respectively. Perform Haar wavelet transform on the first attribute coefficients of the two child nodes to obtain the first attribute coefficients of the target nodes from layer N-3 to layer 1 as (a1+a2) / The coefficient of the second attribute is (a1-a2) / .
2. The point cloud attribute encoding method according to claim 1, characterized in that, The method for calculating the first and second attribute coefficients of the target nodes in the N-2 layer of the N-layer KD tree structure includes the following steps: For the N-1 layer of the N-layer KD tree structure, the non-leaf nodes in the layer are taken as the target nodes of the N-1 layer. The two child leaf nodes of the target node of the N-1 layer are obtained. The first attribute coefficients of the two child leaf nodes are a1 and a2 respectively. Then the first attribute coefficient of the target node of the N-1 layer is calculated as (a1+a2) / 2 and the second attribute coefficient is (a1-a2) / 2. For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as the target node of the N-2 layer. The two child nodes of the target node of the N-2 layer are obtained. The first attribute coefficients of the two child nodes are calculated in the same way as above to obtain the first attribute coefficients and second attribute coefficients of the target node of the N-2 layer. The second attribute coefficients of the two child nodes are also the second attribute coefficients of the target node of the N-2 layer.
3. The point cloud attribute encoding method according to claim 1, characterized in that, Another method for calculating the first and second attribute coefficients of the target nodes in the N-2 layer of the N-layer KD tree structure includes the following steps: For the N-2 layer of the N-layer KD-tree structure, all nodes within the layer are taken as the target node of the N-2 layer. K leaf nodes of the target node in the N-2 layer are obtained in layers N-1 and N, where K is an integer greater than or equal to 2 and less than or equal to 4. A one-dimensional discrete cosine transform is performed on the first attribute coefficients of the K leaf nodes. The low-frequency DC coefficient is taken as the first attribute coefficient of the target node in the N-2 layer, and the remaining high-frequency AC coefficients are taken as the second attribute coefficients of the target node in the N-2 layer. The first and second attribute coefficients of the target node in the N-2 layer are then normalized by dividing by . .
4. The point cloud attribute encoding method according to claim 1, characterized in that, After using the first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure as the output coefficients of the point cloud attribute encoding method, the method further includes the following steps: The output coefficients are directly entropy encoded to obtain the transform coefficient bitstream; Alternatively, the output coefficients can be quantized to obtain quantized transform coefficients; the quantized transform coefficients can be entropy encoded to obtain a quantized transform coefficient bitstream.
5. The point cloud attribute encoding method according to claim 1, characterized in that, Before performing the Haar wavelet transform, the following steps are also included: Convert the attribute values of the RGB color space to the attribute values of the YUV color space.
6. The point cloud attribute encoding method according to claim 1, characterized in that, After using the first attribute coefficient of the root node in the KD tree structure and the second attribute coefficient of each target node in the KD tree structure as the output coefficients of the point cloud attribute encoding method, the method further includes the following steps: The difference between the original point cloud attribute values and the reconstructed point cloud attribute values is calculated as the attribute residual value. The attribute residual value is then entropy encoded to obtain the residual point cloud code stream. Alternatively, the difference between the original point cloud attribute values and the reconstructed point cloud attribute values can be calculated as the attribute residual value. The attribute residual value is quantized to obtain attribute quantization residual coefficients; the attribute quantization residual coefficients are encoded to obtain residual point cloud code streams; Alternatively, the difference between the original point cloud attribute values and the reconstructed point cloud attribute values can be calculated as the attribute residual value. The attribute residual value is quantized to obtain attribute quantization residual coefficients; the attribute quantization residual coefficients are encoded to obtain residual point cloud code streams; Encode the attribute quantization residual.
7. A point cloud attribute encoding device, characterized in that, Includes processor, memory, encoding module, and bus; The memory stores a computer-readable program that can be executed by the processor; The bus enables communication between the processor and the memory; When the processor is used to invoke the encoding module to execute the computer-readable program, it implements the steps of the method as claimed in any one of claims 1-6.
8. A point cloud attribute decoding method, characterized in that, Including the following steps: The point cloud is divided into KD trees based on the position of the points within the target point cloud, and an N-level KD tree structure is constructed, where N is a positive integer greater than 3. Decode the point cloud bitstream to obtain the point cloud transformation coefficients; For the first layer of the N-layer KD tree structure, the transform coefficients obtained from decoding the bitstream are used as inverse transform input coefficients to perform inverse transform calculation, thereby obtaining the inverse transform output coefficients of the current layer. Starting from the second layer of the N-layer KD tree structure up to the (N-1)th layer, the reconstructed output coefficients obtained from the inverse transformation of the parent node of the previous layer and the transformation coefficients obtained from decoding the bitstream are used as the inverse transformation input coefficients of the target node of the current layer to perform inverse transformation calculation and obtain the reconstructed output coefficients. Use the reconstruction coefficients of all leaf nodes as the reconstruction values of point cloud attribute transformation; The inverse transformation calculation method for target nodes at different levels of the N-layer KD tree structure specifically includes: For the N-layer KD tree structure, from the 1st to the (N-3rd)th layer, all nodes in each layer are taken as the target nodes of that layer. The inverse transform input coefficients of each target node in that layer are subjected to Haar wavelet inverse transform to obtain the inverse transform output coefficients of the current layer. For the N-2 layer of the N-layer KD tree structure, all nodes in the layer are taken as target nodes of the N-2 layer. The inverse transform input coefficients of each target node of the N-2 layer are calculated to obtain the reconstruction output coefficients of the target node of the N-2 layer, which are used as the reconstruction coefficients of the leaf nodes in the N-1 layer and the N layer. The calculation steps for the reconstruction output coefficients of the target nodes from layer 1 to layer N-3 of the N-layer KD tree structure include: The target nodes in each layer from layer 1 to layer N-3 contain input coefficients, b1 and b2 respectively. Performing an inverse Haar wavelet transform, the reconstructed output coefficients of the target nodes in that layer are obtained as (b1+b2) / and (b1-b2) / .
9. The point cloud attribute decoding method according to claim 8, characterized in that, The calculation method for the reconstruction output coefficients of the N-2 layer target nodes in the N-layer KD tree structure includes the following steps: For the N-2th layer of the N-layer KD tree structure, all nodes in the layer are taken as the target node of the N-2 layer. The two child nodes of the target node of the N-2 layer in the N-1 layer are obtained. The input coefficients of the target node of the N-2 layer are b1 and b2 respectively. The reconstruction output coefficients of the target node of the N-2 layer are calculated as (b1+b2) and (b1-b2). The reconstruction output coefficients are the reconstruction input coefficients of the two child nodes of the target node of the N-2 layer in the N-1 layer. For the (N-1)th layer of the N-layer KD tree structure, all non-leaf nodes in the layer are taken as the target nodes of the (N-1)th layer. The two child leaf nodes of the target node of the (N-1)th layer in the N layer are obtained. The reconstructed output coefficients obtained from the parent node of the previous layer and the transform coefficients obtained from the decoded bitstream are used as the input coefficients of the target node of the current layer and the same calculation is performed to obtain the two reconstructed output coefficients of the target node of the (N-1)th layer.
10. The point cloud attribute decoding method according to claim 8, characterized in that, Another method for calculating the reconstruction output coefficients of the N-2 layer target nodes in the N-layer KD tree structure includes the following steps: For the N-2 level of the N-level KD-tree structure, all nodes within the level are taken as the target node of the N-2 level. The K leaf nodes of the target node in the N-2 level are obtained from the N-1 and N levels, where K is an integer greater than or equal to 2 and less than or equal to 4. The input coefficients of the target node in the N-2 level are then subjected to inverse normalization, which is achieved by multiplying by... Then, perform an inverse one-dimensional discrete cosine transform to obtain the K reconstruction output coefficients of the target nodes in the N-2 layers.
11. The point cloud attribute decoding method according to claim 8, characterized in that, The step of decoding the point cloud bitstream to obtain the point cloud transformation coefficients includes: Entropy decoding is performed on the point cloud code stream to obtain the point cloud transformation coefficients; Alternatively, entropy decoding is performed on the point cloud code stream to obtain quantization transformation coefficients; the quantization transformation coefficients are then inversely quantized to obtain the point cloud transformation coefficients.
12. The point cloud attribute decoding method according to claim 8, characterized in that, The process after performing the Haar wavelet inverse transform also includes the step of converting the reconstructed attribute values of the YUV color space into the reconstructed attribute values of the RGB color space.
13. The point cloud attribute decoding method according to claim 8, characterized in that, After using the reconstructed output coefficients of the leaf nodes as the reconstructed values of the point cloud attribute transformation, the following steps are also included: Entropy decoding is performed on the point cloud code stream to obtain attribute residual values; the sum of the attribute residual values and the point cloud attribute transformation reconstructed values is calculated as the point cloud attribute reconstructed values. Alternatively, entropy decoding is performed on the point cloud code stream to obtain attribute quantization residual coefficients; inverse quantization is performed on the attribute quantization residual coefficients to obtain inverse quantization attribute residual values; the sum of the inverse quantization attribute residual values and the point cloud attribute transformation reconstruction values is calculated as the point cloud attribute reconstruction values; Alternatively, entropy decoding is performed on the point cloud code stream to obtain the attribute quantization residual coefficients and attribute quantization residual remainders; the attribute quantization residual coefficients are inversely quantized to obtain the inverse quantization attribute residual values; the sum of the attribute quantization residual remainders, the inverse quantization attribute residual values, and the point cloud attribute transformation reconstruction values is calculated as the point cloud attribute reconstruction values.
14. A point cloud attribute decoding device, characterized in that, Includes processor, memory, encoding module, and bus; The memory stores a computer-readable program that can be executed by the processor; The bus enables communication between the processor and the memory; When the processor is used to invoke the encoding module to execute the computer-readable program, it implements the steps of any one of claims 8-13.
Citation Information
Patent Citations
Point cloud attribute compression method based on multi-angle adaptive intra-frame prediction
CN108632607A
Coding method and decoding method of point cloud attribute information, storage medium and terminal equipment
CN111405281A