Point cloud rate distortion optimization method and device, attribute compression method and device and storage medium
Patent Information
- Application Number
- CN202280097081.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-01-21
AI Technical Summary
The storage and transmission of massive 3D point cloud data face storage space and bandwidth limitations. Existing compression methods are difficult to effectively reduce the amount of point cloud data, affecting the development of applications.
The point cloud rate distortion optimization method is used to calculate the quantized residual value of the point to be encoded and select the final quantized residual value based on the rate distortion cost for entropy coding. It combines attribute prediction and transform branch technology to optimize the coding performance.
It significantly reduces the storage space and transmission traffic of point cloud data, improves coding efficiency, reduces the cost of bit rate and distortion, and improves the performance of point cloud applications.
Smart Images

Figure CN119343918A_ABST
Abstract
Description
Point cloud rate-distortion optimization method and attribute compression method, device and storage medium Technical Field
[0001] The embodiments of the present disclosure relate to, but are not limited to, video technology, and more specifically, to a point cloud rate-distortion optimization method and an attribute compression method, device, and storage medium. Background Art
[0002] A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene. Figures 1A and 1B show an exemplary three-dimensional point cloud image and a local magnified image, respectively. It can be seen that the point cloud surface is composed of densely distributed points.
[0003] Point clouds can flexibly and conveniently represent the spatial structure and surface properties of three-dimensional objects or scenes. Furthermore, because point clouds can be directly sampled from real objects, they offer a strong sense of realism while maintaining high accuracy. Consequently, they are widely used in a variety of applications, including virtual reality gaming, computer-aided design, geographic information systems, automated navigation systems, digital cultural heritage, free-viewpoint broadcasting, immersive 3D telepresence, and 3D reconstruction of biological tissues and organs. While innovations in point cloud data acquisition methods have made it possible to acquire massive amounts of point cloud data, the processing of this massive amount of 3D point cloud data is facing storage and transmission bandwidth constraints, necessitating more effective compression methods.
[0004] SUMMARY OF THE INVENTION
[0005] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
[0006] An embodiment of the present disclosure provides a point cloud rate-distortion optimization method, comprising:
[0007] Calculate the first quantized residual value of the attribute of the current point to be encoded;
[0008] Based on the rate-distortion cost, the calculated first quantized residual value or a specified quantized residual value is used as the final quantized residual value of the current point to be encoded;
[0009] Perform entropy coding on the final quantized residual value of the current point to be encoded.
[0010] An embodiment of the present disclosure further provides a point cloud attribute compression method, comprising:
[0011] Determine the attribute residual value of the current point to be coded based on the attribute value and attribute prediction value of the current point to be coded;
[0012] According to the point cloud rate-distortion optimization method described in any embodiment of the present disclosure, the final quantized residual value of the current point to be encoded is determined and entropy encoding is performed on the final quantized residual value.
[0013] An embodiment of the present disclosure further provides a point cloud attribute code stream, wherein the point cloud attribute code stream is generated according to the point cloud attribute compression method as described in any embodiment of the present disclosure.
[0014] An embodiment of the present disclosure further provides a point cloud rate-distortion optimization device, comprising a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement the point cloud rate-distortion optimization method as described in any embodiment of the present disclosure.
[0015] An embodiment of the present disclosure further provides a point cloud compression device, which includes a processor and a memory storing a computer program, wherein the processor can implement the point cloud attribute compression method as described in any embodiment of the present disclosure when executing the computer program.
[0016] An embodiment of the present disclosure further provides a non-transitory computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it can implement the point cloud rate-distortion optimization method as described in any embodiment of the present disclosure, or it can implement the point cloud attribute compression method as described in any embodiment of the present disclosure.
[0017] Still other aspects will become apparent upon reading and understanding the accompanying drawings and detailed description.
[0018] Summary of the Figures
[0019] The accompanying drawings are used to provide an understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the technical solutions of the present disclosure and do not constitute a limitation to the technical solutions of the present disclosure.
[0020] FIG1A and FIG1B are an exemplary three-dimensional point cloud image and a local magnified view, respectively;
[0021] FIG2A is a schematic diagram of the encoding framework of the point cloud compression platform of the first embodiment;
[0022] FIG2B is a schematic diagram of a decoding framework of the point cloud compression platform of the first embodiment;
[0023] FIG3 is a flow chart of a point cloud rate-distortion optimization method according to an embodiment of the present disclosure;
[0024] FIG4 is a flow chart of a point cloud attribute compression method according to an embodiment of the present disclosure;
[0025] FIG5 is a schematic diagram of a point cloud rate-distortion optimization device according to an embodiment of the present disclosure.
[0026] Details
[0027] The present disclosure describes multiple embodiments, but the description is exemplary rather than restrictive, and it is obvious to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present disclosure.
[0028] In the description of the present disclosure, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment described as "exemplary" or "for example" in the present disclosure should not be interpreted as being more preferred or advantageous than other embodiments. "And / or" in this article is a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. "Multiple" refers to two or more than two. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present disclosure, words such as "first" and "second" are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0029] When describing representative exemplary embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those skilled in the art, other sequences of steps are also possible. Therefore, the specific sequence of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to the steps performed in the order written, and those skilled in the art can readily understand that these sequences can vary and still remain within the spirit and scope of the disclosed embodiments.
[0030] Two-dimensional images contain information at every pixel, which is distributed regularly, so there's no need to record their position. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so recording the spatial position of each point is necessary to fully represent the point cloud. Similar to two-dimensional images, each point in the acquisition process has corresponding attribute information, typically RGB color values, which reflect the object's color. For point clouds, in addition to color, reflectance is also commonly associated with each point, reflecting the surface texture. Therefore, point cloud data typically includes geometric information (x, y, z) consisting of three-dimensional position information, and attribute information (r, g, b) consisting of three-dimensional color information and one-dimensional reflectance information (r). The corresponding point cloud data storage format consists of a file header and a data portion. The header information includes the data format, data representation type, the total number of points in the point cloud, and the content represented by the point cloud. In one example, the point cloud is in a ".ply" format, represented by ASCII codes, has a total of 207242 points, and each point has three-dimensional position information xyz and three-dimensional color information RGB.
[0031] Point cloud acquisition primarily involves computer generation, 3D laser scanning, and 3D photogrammetry. Computers can generate point clouds of virtual 3D objects and scenes; 3D laser scanning can obtain point clouds of static real-world 3D objects or scenes, generating millions of point clouds per second; and 3D photogrammetry can obtain point clouds of dynamic real-world 3D objects or scenes, generating tens of millions of point clouds per second. These technologies reduce the cost and time required to acquire point cloud data while improving data accuracy. However, as application demand grows, processing massive amounts of 3D point cloud data is facing bottlenecks due to storage space and transmission bandwidth limitations.
[0032] Taking a point cloud video with a frame rate of 30 fps (frames per second) as an example, each frame contains 700,000 points, each with coordinate information (xyz, float) and color information (RGB, uchar). Therefore, the data size of a 10-second point cloud video is approximately 0.7 million (4 bytes, 3 + 1 byte, 3) per 30 fps per 10 seconds, which is 3.15 GB. For a 1280×720 2D video with a YUV sampling format of 4:2:0 and a frame rate of 24 fps, the data size for 10 seconds is approximately 1280×720, 12 bits per 24 frames per 10 seconds, which is ≈ 0.33 GB. A 10-second two-view 3D video has a data size of approximately 0.33 × 2 = 0.66 GB. Clearly, the data size of a point cloud video far exceeds that of 2D and 3D videos of the same length. To better manage data, conserve server storage space, and reduce the transmission traffic and time between the server and client, point cloud compression has become a key issue in the development of point cloud applications.
[0033] Point cloud compression algorithms include two schemes developed by the Moving Picture Experts Group (MPEG): Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC). In G-PCC, geometric compression is primarily implemented using an octree model and / or a triangular surface model. V-PCC is primarily implemented through 3D-to-2D projection and video compression. Other methods include PCC from the Audio Video Coding Standard (AVS).
[0034] Point cloud compression generally uses a method of compressing point cloud geometry information and attribute information separately. On the encoding side, the point cloud geometry information is first encoded in the geometry encoder, and then the reconstructed geometry information is input as additional information to the attribute encoder to assist in the compression of the point cloud attributes. On the decoding side, the point cloud geometry information is first decoded in the geometry decoder, and then the decoded geometry information is input as additional information to the attribute decoder to assist in the decompression of the point cloud attributes. Figure 2A shows a schematic diagram of an exemplary point cloud encoding framework, and Figure 2B shows a schematic diagram of an exemplary point cloud decoding framework.
[0035] The encoding end of an exemplary Point Cloud Compression Reference Model (PCRM) includes a geometry encoder and an attribute encoder. As shown in Figure 2A, the geometry encoder includes a coordinate translation module 11, a coordinate quantization module 13, an octree construction module 15, a geometry entropy encoder 17, and a geometry reconstruction module 19. The coordinate translation module 11 and the coordinate quantization module 13 preprocess the original geometric information of the point cloud. The octree construction module 15 and the geometry entropy encoder 17 encode the preprocessed geometric information to obtain a geometry code stream. Among them:
[0036] The coordinate translation module 11 is configured to normalize the geometric origin of the original geometric information to a minimum position in the point cloud space through coordinate translation.
[0037] The coordinate quantization module 13 is configured to convert the geometric information output by the coordinate translation module 11 from floating point numbers to integers through coordinate quantization to facilitate subsequent regularization processing. The regularized geometric information is output to the octree construction module 15 and the attribute encoder.
[0038] The octree construction module 15 is configured to geometrically encode the regularized geometric information, and recursively divide the point cloud space using the octree structure. Each time, the current node is divided into eight sub-blocks of the same size, and the occupancy codeword of each sub-block is judged. When the sub-block does not contain a point cloud point, it is recorded as empty, otherwise it is recorded as non-empty. The non-empty sub-block is used as the current node to continue dividing, and the occupancy codeword information of all blocks is recorded and encoded at the last layer of the recursive division; the geometric information expressed by the octree structure is output to the geometric entropy encoder 17 and the geometric reconstruction module 19.
[0039] The geometric entropy encoder 17 is configured to perform entropy encoding on the geometric information expressed by the octree structure to form a geometric code stream.
[0040] The geometry reconstruction module 19 is configured to perform geometry reconstruction processing within the geometry encoder, and output the reconstructed geometry information as additional information to the attribute encoder.
[0041] As shown in Figure 2A, the attribute encoder includes a color space conversion module 21, an attribute recoloring module 23, an attribute prediction module 25, a quantization module 27, and an attribute entropy coding module 29. The color space conversion module 21 and the attribute recoloring module 23 preprocess the original attribute information. Other modules perform attribute encoding on the preprocessed attribute information to obtain an attribute code stream.
[0042] The color space conversion module 21 is configured to perform color space conversion when the processed original attribute information is a color value in RGB format, and convert it into a YUV color space that is more consistent with the visual characteristics of the human eye.
[0043] The attribute recoloring module 23 is configured to reallocate attribute values to each point after geometric encoding based on the geometric information output by the geometric encoder. This process is called attribute recoloring to avoid the influence of the difference between the original geometric information and the geometric information after geometric encoding on the attributes.
[0044] The attribute prediction module 25 is configured to reorder the point cloud. The reordering method may be Hilbert code, Morton code, etc. The traversal order of the corresponding attribute code may be Morton order, Hilbert order, etc. The attribute prediction method may be multi-point prediction based on neighboring points or single-point prediction. In the case of multi-point prediction, multiple points closest to the current point to be coded are first found as prediction reference points for the current point to be coded, and the attribute reconstruction values of the multiple prediction reference points are weighted as the attribute prediction value of the current point to be coded. If it is a single-point prediction, one point can be traced back from the current point to be coded as the prediction reference point for the current point to be coded, and the attribute reconstruction value of the prediction reference point is used as the attribute prediction value of the current point to be coded. The difference between the attribute value of the current point to be coded and the attribute prediction value is the attribute residual value of the current point to be coded.
[0045] The quantization module 27 is configured to perform quantization processing on the attribute residual value of the point to obtain the quantized residual value of the attribute of the point.
[0046] The attribute entropy coding module 29 is configured to perform entropy coding on the quantized residual values of the attributes of the points to form an attribute code stream.
[0047] The decoding end of the PCRM platform includes a geometry decoder and an attribute decoder. As shown in FIG2B , the geometry decoder includes a geometry entropy decoder 31, an octree reconstruction module 33, a coordinate inverse quantization module 35, and a coordinate inverse translation module 37.
[0048] The geometric entropy decoder 31 is configured to entropy decode the geometric code stream to obtain geometric information of each node.
[0049] The octree reconstruction module 33 is configured to construct an octree structure based on the geometric information of each node in the same manner as geometric coding, and reconstruct the geometric information after coordinate transformation and expressed by the octree structure in combination with the decoded geometry.
[0050] The coordinate inverse quantization module 35 is configured to perform coordinate inverse quantization on the geometric information output by the octree reconstruction module 33 . The geometric information after coordinate inverse quantization is output to the coordinate inverse translation module 37 and output to the attribute decoder as additional information.
[0051] The coordinate inverse translation module 37 is configured to perform coordinate inverse translation on the geometric information output by the coordinate inverse quantization module 35 to obtain decoded geometric information.
[0052] As shown in the figure, the attribute decoder includes an attribute entropy decoder 41, an inverse quantization module 43, an attribute prediction module 45 and a color space inverse transformation module 47.
[0053] The attribute entropy decoder 41 is configured to perform entropy decoding on the attribute code stream to obtain a quantized residual value of the attribute of the point.
[0054] The inverse quantization module 43 is configured to perform inverse quantization processing on the quantized residual value to obtain the attribute residual value of the point.
[0055] The attribute prediction module 45 is set to construct the Morton order, Hilbert order, etc. based on the geometric information output by the geometric decoder in the same way as the attribute encoding, obtain the attribute prediction value of the current point to be decoded, and then add the attribute prediction value of the current point to be decoded to the attribute residual value to restore the attribute value of the current point to be decoded, that is, to obtain the attribute reconstruction value, such as YUV color value, reflectivity value, etc.
[0056] The color space inverse transformation module is configured to perform color space inverse transformation on the attribute information output by the attribute prediction module 45 to obtain decoded attribute information.
[0057] When compressing and encoding point clouds based on the above-mentioned encoding and decoding frameworks, there are two technical routes distinguished by the algorithm used for attribute compression. One is called the prediction branch and the other is called the transform branch. The attribute encoding and decoding method used by the prediction branch is described above. The difference between the attribute encoding and decoding method used by the transform branch and the prediction branch is that after the attribute residual value of the point is obtained through attribute prediction, the attribute residual values of multiple points (such as 4 points) are first transformed (the transformation algorithm can be wavelet transform or k-ary discrete cosine transform (DCT: Discrete Cosine Transform), etc.), and then the transformed attribute residual values are quantized to obtain the quantized residual value of the attribute. Correspondingly, after the decoding end performs entropy decoding and inverse quantization on the attribute code stream to obtain the attribute residual value, the prediction branch performs attribute prediction based on the attribute residual value obtained by inverse quantization, while the transform branch first performs inverse transformation on the multiple attribute residual values obtained by inverse quantization, and then performs attribute prediction based on the attribute residual value obtained by inverse transformation.
[0058] In a point cloud compression method according to one embodiment, the attributes of each point are encoded and decoded according to the Hilbert order, wherein the attribute encoding process includes:
[0059] The encoding end obtains the attribute prediction value A′ of the current point to be encoded j , according to the attribute value A of the current point to be coded j Calculate the attribute residual value delta of the current point to be coded with the attribute prediction value, delta = A j -A′ j ;
[0060] Quantize the attribute residual value of the current point to be coded to obtain the quantized residual value of the attribute (with sign); wherein, during the quantization process, the absolute value of the attribute residual value is quantized, and the quantization result is multiplied by the sign of the attribute residual value to calculate the quantized residual value;
[0061] Perform entropy coding on the quantized residual value of the attribute of the current point to be coded to generate an attribute code stream.
[0062] On the other hand, the encoder performs inverse quantization on the quantized residual value of the current point to be encoded to obtain the reconstructed residual value of the current point to be encoded. This reconstructed residual value of the current point to be encoded is added to the attribute prediction value to obtain the attribute reconstruction value of the current point to be encoded. The attribute reconstruction value of the current point to be encoded can be used to calculate the attribute prediction value of subsequent points.
[0063] The attribute decoding process includes:
[0064] The decoding end obtains the attribute prediction value A′ of the current point to be decoded j , decode the bitstream to obtain the quantized residual value (with sign) of the current point to be decoded;
[0065] Dequantize the quantized residual value of the current point to be decoded to obtain the reconstructed residual value of the current point to be decoded Among them, the absolute value of the quantized residual value is dequantized during the dequantization process, and the dequantized result is multiplied by the sign of the quantized residual value to obtain the reconstructed residual value.
[0066] Finally, the reconstructed residual value of the current point to be decoded and attribute prediction value A ′ j Add together to get the attribute reconstruction value of the current point to be decoded Right now:
[0067] In the above-mentioned embodiment, the quantized residual value used when encoding attributes is obtained by quantizing the attribute residual value. This quantized residual value is written into the bitstream, affecting the bitrate. Furthermore, it is inverse-quantized to generate a reconstructed attribute value, which can cause distortion between the reconstructed attribute value and the original attribute value. However, directly encoding this quantized residual value does not necessarily result in the best performance. A rate-distortion optimization algorithm can be introduced to balance the cost between bitrate and distortion, thereby improving encoding performance.
[0068] An embodiment of the present disclosure provides a point cloud rate-distortion optimization method, which can be used in the quantization module of the above coding framework. As shown in FIG3 , the method includes:
[0069] Step 110, calculating a first quantized residual value of an attribute of the current point to be encoded;
[0070] Herein, the calculated quantized residual value is referred to as a first quantized residual value to distinguish it from other quantized residual values such as a specified quantized residual value and a final quantized residual value.
[0071] Step 120: Determine one of the first quantized residual value and the second quantized residual value as the final quantized residual value of the current point to be encoded based on a rate-distortion cost for encoding the first quantized residual value and a rate-distortion cost for encoding a specified second quantized residual value.
[0072] Obviously, the specified quantized residual value should be different from the first quantized residual value. The rate-distortion cost may also be called rate-distortion overhead.
[0073] Step 130: Perform entropy coding on the final quantized residual value of the current point to be coded.
[0074] After calculating the first quantized residual value of the current point to be encoded, the disclosed embodiment does not directly perform entropy coding. Instead, based on the rate-distortion cost, the first quantized residual value or a specified second quantized residual value is selected as the final quantized residual value of the current point to be encoded, and then entropy coding is performed on the final quantized residual value of the current point to be encoded. For example, if the calculated first quantized residual value is 1, and encoding a specified quantized residual value, such as 0, has a lower rate-distortion cost, the specified quantized residual value is used instead of the first quantized residual value for entropy coding, thereby achieving better overall coding performance.
[0075] In an exemplary embodiment of the present disclosure, the specified second quantization residual value is 0. Replacing the non-zero first quantization residual value with 0 as the final quantization residual value minimizes the codeword during entropy coding. When reconstructing the attribute value of the current point to be coded, the reconstructed residual value is also 0, which is equivalent to directly using the attribute prediction value of the current point to be coded as the attribute reconstruction value, which will cause certain distortion. The rate-distortion cost can be used to balance the benefit and distortion in bit rate and determine whether to replace the calculated first quantization residual value with 0 for entropy coding.
[0076] In an exemplary embodiment of the present disclosure, the specified second quantized residual value includes 0 and a non-zero integer value, and the non-zero integer value includes any one or more of the following values: 1, -1, 2, -2. After calculating the first quantized residual value, this embodiment can compare the rate-distortion cost of encoding the first quantized residual value with the rate-distortion cost of encoding multiple specified second quantized residual values, and select one quantized residual value as the final quantized residual value of the current point to be encoded. For example, when the first quantized residual value is 1, the rate-distortion cost of encoding the first quantized residual value 1, the rate-distortion cost of encoding the specified quantized residual value 0, and the rate-distortion cost of encoding the specified quantized residual value 2 can be calculated, and the value with the smallest corresponding rate-distortion cost is used as the final quantized residual value of the current point to be encoded. Of course, in other examples, the non-zero integer value can also include more values, such as 3, -3, 4, -4, and so on.
[0077] In an exemplary embodiment of the present disclosure, the method further includes: when the first quantized residual value is 0, using the first quantized residual value as the final quantized residual value of the current point to be encoded. In this case, the rate-distortion cost of using the first quantized residual value is generally minimized, and therefore the first quantized residual value is directly used as the final quantized residual value.
[0078] In an exemplary embodiment of the present disclosure, when compressing and encoding a point cloud, the attribute residual value is not transformed, but the attribute residual value of a current point to be encoded is quantized to obtain a first quantized residual value of the current point to be encoded.
[0079] At this time, according to the rate-distortion cost of encoding the first quantized residual value and the rate-distortion cost of encoding the specified second quantized residual value, determining one of the first quantized residual value and the second quantized residual value as the final quantized residual value of the current point to be encoded, including:
[0080] Calculating a rate-distortion cost of a first coding mode for the current point to be coded, encoding the first quantized residual value under the first coding mode;
[0081] Calculating a rate-distortion cost of the current point to be coded using a second coding mode, and encoding the second quantized residual value under the second coding mode;
[0082] The quantized residual value encoded by the coding mode with the smaller rate-distortion cost value among the first coding mode and the second coding mode is used as the final quantized residual value of the current point to be encoded.
[0083] In this embodiment, there is one second encoding mode, and one second quantized residual value is encoded under the second encoding mode; or, there are multiple second encoding modes, and one second quantized residual value is encoded under each second encoding mode, and the second quantized residual values encoded under different second encoding modes are different.
[0084] For example, when the specified second quantized residual value has only one value, 0, and the first quantized residual value is not 0, the rate-distortion cost of using two coding modes can be calculated, one is the rate-distortion cost of encoding 0, and the other is the rate-distortion cost of encoding the first quantized residual value. The quantized residual value encoded by the coding mode with the smallest rate-distortion cost is selected as the final quantized residual value.
[0085] For another example, when the designated second quantized residual value includes 0 and a non-zero integer value, there may be multiple second coding modes, wherein one second coding mode specifies a quantized residual value of 0 for the current point to be coded, and other second coding modes specify a non-zero integer value for the current point to be coded. When determining the number of second coding modes and the designated quantized residual value, a non-zero integer value whose absolute value is less than the absolute value of the first quantized residual value and whose sign is the same as the sign of the first quantized residual value can be selected from the numerical set of second quantized residual values, and each selected non-zero integer value can be used as a designated quantized residual value for a second coding mode. If there are N selected non-zero integer values, there can be N+1 second coding modes, including one second coding mode that specifies 0 as the quantized residual value, and N second coding modes that specify a selected non-zero integer value as the designated quantized residual value. Assuming the first quantized residual value is 2, we can calculate the rate-distortion cost of the two second coding modes for encoding 0 and 1, as well as the rate-distortion cost of the first coding mode for encoding 2. The value encoded by the coding mode with the lowest rate-distortion cost is used as the final quantized residual value for the current point to be encoded. Considering both distortion and bit rate, we can avoid trying values greater than 3 or values such as -1 and -2.
[0086] In some other examples, the quantized residual value encoded in the second coding mode can also be specified as a value whose absolute value is 1 less than the first quantized residual value and whose sign is the same as the first quantized residual value to control distortion. In this case, only the rate-distortion cost of a second coding mode and a first coding mode needs to be compared.
[0087] In an exemplary embodiment of the present disclosure, the rate-distortion cost of each coding mode used for the current point to be coded is calculated according to the following formula:
[0088] cost = lambda * R + D
[0089] Where lambda is a set constant, R is the codeword size required to encode the quantized residual value in this coding mode, and D is the difference between the attribute reconstruction value and the attribute value of the current point to be coded when encoded according to this coding mode. The size of R depends on the specific entropy coding algorithm used, and D can be the difference between the attribute reconstruction value and the attribute value, such as the absolute value of the difference, but is not limited to this.
[0090] In one example, the value of lambda is between 0 and 1, for example, it can be set to 0.5. The user can set it according to the specific requirements of bit rate and distortion. If the bit rate requirement is high, lambda can be set to a relatively large value to increase the weight of the codeword size. Conversely, if the distortion is required to be small, lambda can be set to a relatively small value to reduce the weight of the codeword size.
[0091] In an exemplary embodiment of the present disclosure, the attribute residual value is transformed when the point cloud is compressed and encoded. Since the attribute residual values of the point cloud points are transformed and inversely transformed, multiple points are grouped together, and the attribute residual values of the multiple points in the group are transformed (such as wavelet transform or DCT transform) and inversely transformed together. In this case, after the first quantized residual value calculated for a single point is replaced with a specified quantized residual value, during the inverse transformation, it will affect the reconstructed residual values obtained by inverse transformation of other points in the same group, thereby affecting the attribute reconstruction values and attribute distortion of other points. Therefore, the final quantized residual value determined based on the minimum distortion cost of the utilization rate of a single point is not necessarily the overall optimal.
[0092] This embodiment proposes a rate-distortion optimization method based on a set of current points to be decoded for the transform branch, wherein:
[0093] The first quantized residual value of the attribute of the current point to be coded is calculated, comprising: taking multiple current points to be coded D1, D2, ..., D N The attribute residual values are transformed for a group of attributes, and the transformed attribute residual values are quantized to obtain D1, D2, ..., D N respective first quantized residual values;
[0094] The step of determining, according to a rate-distortion cost of encoding the first quantized residual value and a rate-distortion cost of encoding a specified second quantized residual value, one of the first quantized residual value and the second quantized residual value as a final quantized residual value of the current point to be encoded includes:
[0095] Calculate D1, D2, ..., D N The rate-distortion cost of the first coding mode is used, in which D1, D2, ..., D N encoding the respective first quantized residual values;
[0096] Calculate D1, D2, ..., D N The rate-distortion cost of the second coding mode is used, in which the pairs D1, D2, ..., D N A specified set of quantized residual value encodings;
[0097] Determine a coding mode with the best rate-distortion cost among the first coding mode and the second coding mode, and convert D1, D2, ..., D encoded in the coding mode into N The respective quantized residual values are used as D1, D2, ..., D N The final quantized residual value of each.
[0098] In an example of this embodiment, a second coding mode is D1, D2, ..., D NThe specified set of quantized residual values is composed of the same values, namely D1, D2, ..., D N In another example, D1, D2, ..., D N Specify a quantized residual value, D1, D2, ..., D N The quantized residual values specified can be the same or different. N When specifying a quantized residual value respectively, the method of the above embodiment may be adopted, such as specifying 0, or specifying a non-zero integer value.
[0099] In an example of this embodiment, determining a coding mode with an optimal rate-distortion cost between the first coding mode and the second coding mode includes:
[0100] For each coding mode, calculate D1, D2, ..., D N In this coding mode, the rate-distortion costs of encoding the quantized residual values are Cost1, Cost2, ..., Cost N ; As mentioned above, D1, D2, ..., D N The quantized residual values in the first coding mode are D1, D2, ..., D N The first quantized residual values of each, D1, D2, ..., D N The quantized residual values in the second coding mode are D1, D2, ..., D N Quantized residual values specified uniformly or individually.
[0101] Calculate Cost1, Cost2,…, Cost N After that, the coding mode with the best rate-distortion cost can be determined according to the following strategy:
[0102] For each of the above coding modes, Cost1, Cost2, ..., Cost N Sum up and determine the coding mode with the smallest sum as the coding mode with the optimal rate-distortion cost; or,
[0103] Determine whether the second encoding mode meets the conditions: Cost calculated in this mode i are all less than the Cost calculated in the first encoding mode i If so, a second coding mode that meets the condition is determined as the coding mode with the optimal rate-distortion cost, i=1,2,…,N.
[0104] There may be one or more second coding modes that meet the condition. When there is one second coding mode that meets the condition, the second coding mode that meets the condition is determined to be the coding mode with the best rate-distortion cost. When there are multiple second coding modes, Cost1, Cost2, ..., Cost N The second coding mode with the smallest sum is determined as the coding mode with the optimal rate-distortion cost.
[0105] If no second coding mode meets this condition, in one example, it can be determined that the first coding mode is the coding mode with the best rate-distortion cost. However, in other examples, it can be further determined whether there is a second coding mode that meets other conditions: such as Cost1, Cost2, ..., Cost N The sum is less than Cost1, Cost2, ..., Cost of the first coding mode N and the sum of the costs of more than half of the points in the second coding mode is less than the costs in the first coding mode.
[0106] An embodiment of the present disclosure further provides a point cloud attribute compression method, as shown in FIG4 , comprising:
[0107] Step 210: determining the attribute residual value of the current point to be coded based on the attribute value and the attribute prediction value of the current point to be coded;
[0108] Step 220: Determine the final quantized residual value of the current point to be encoded according to the point cloud rate-distortion optimization method described in any embodiment of the present disclosure and perform entropy encoding on the final quantized residual value.
[0109] The point cloud attribute compression method of this embodiment adopts the rate-distortion optimization method of the aforementioned embodiment of the present disclosure to optimize the value of the quantized residual value, which can improve the performance of compression coding.
[0110] An embodiment of the present disclosure further provides a point cloud attribute code stream, wherein the point cloud attribute code stream is generated according to the point cloud attribute compression method described in any embodiment of the present disclosure.
[0111] An embodiment of the present disclosure further provides a point cloud rate-distortion optimization device, as shown in FIG5 , comprising a processor 5 and a memory 6 storing a computer program, wherein when the processor 5 executes the computer program, it is capable of implementing the point cloud rate-distortion optimization method as described in any embodiment of the present disclosure.
[0112] An embodiment of the present disclosure further provides a point cloud compression device, referring to FIG5 , comprising a processor and a memory storing a computer program, wherein when the processor executes the computer program, it is capable of implementing the point cloud attribute compression method as described in any embodiment of the present disclosure.
[0113] An embodiment of the present disclosure further provides a non-transitory computer-readable storage medium, which stores a computer program, wherein the computer program, when executed by a processor, can implement the point cloud rate-distortion optimization method as described in any embodiment of the present disclosure, or can implement the point cloud attribute compression method as described in any embodiment of the present disclosure.
[0114] The processors of the above embodiments of the present disclosure may be general-purpose processors, including central processing units (CPUs), network processors (NPs), microprocessors, etc., or other conventional processors; the processors may also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components; or combinations of the above devices. That is, the processors of the above embodiments may be any processing device or combination of devices that implement the various methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure. If the embodiments of the present disclosure are partially implemented in software, the instructions for the software may be stored in a suitable non-volatile computer-readable storage medium, and one or more processors may be used to execute the instructions in hardware to implement the methods of the embodiments of the present disclosure.
[0115] An embodiment of the present disclosure provides a point cloud rate-distortion optimization method involving a prediction branch, which improves coding efficiency by introducing a rate-distortion optimization algorithm at the encoding end.
[0116] The encoder performs the following point cloud rate-distortion optimization:
[0117] a) Obtain the attribute prediction value A' of the current point to be coded;
[0118] b) Calculate the attribute residual value of the current point to be coded based on the attribute value and attribute prediction value of the current point to be coded:
[0119] delta=AA'
[0120] c) quantizing the attribute residual value of the current point to be coded to obtain a quantized residual value of the attribute of the current point to be coded, which is called a first quantized residual value;
[0121] During the quantization process, the absolute value of the attribute residual value may be quantized, and the quantization result is multiplied by the sign of the attribute residual value to calculate a first quantized residual value.
[0122] d) Dequantize the first quantized residual value to obtain the reconstructed residual value of the current point to be coded, and add the reconstructed residual value of the current point to be coded to the attribute prediction value to obtain the attribute reconstructed value of the current point to be coded
[0123] During the inverse quantization process, the absolute value of the first quantized residual value is inversely quantized, and the inverse quantization result is multiplied by the sign of the first quantized residual value to calculate the reconstructed residual value.
[0124] e) The following cost equation is introduced to calculate the rate-distortion overhead under the two coding modes:
[0125] cost = lambda * R + D
[0126] Here, lambda is a set constant. The impact of bit rate and distortion on overhead can be controlled by changing the size of lambda.
[0127] The two encoding modes of this embodiment include a first encoding mode and a second encoding mode:
[0128] The first coding mode is the mode of encoding the first quantized residual value calculated, which is the same as the traditional coding mode. When calculating the rate-distortion cost of the current point to be coded using the first coding mode, R in the formula is the codeword size required to encode the first quantized residual value, which can be represented by the binary bits required for entropy coding the first quantized residual value (or unsigned first quantized residual value), which is related to the entropy coding algorithm used; D is the difference between the attribute reconstruction value obtained by encoding in the first coding mode and the attribute value. The rate-distortion cost of the current point to be coded using the first coding mode is recorded as cost1
[0129] The second coding mode is a mode for encoding a specified second quantized residual value. In this embodiment, the specified second quantized residual value is 0. Since the residual reconstruction value after inverse quantization is also equal to 0, it is equivalent to directly using the attribute prediction value of the current point to be coded as the attribute reconstruction value. In this case, R is minimum (e.g., 0); D is the difference between the attribute prediction value and the attribute value, such as the absolute value of the difference; the rate-distortion cost of encoding the current point to be coded using the second coding mode is recorded as cost2;
[0130] Although this embodiment only adopts one second coding mode, the present disclosure is not limited to this. The rate-distortion costs of multiple second coding modes can also be calculated. For example, when the first quantization residual value is 2, a second coding mode with a coding-specified quantization residual value of 1 can be added for comparison.
[0131] In addition, if the first quantized residual value is 0, 0 can be directly entropy coded without the need to calculate and compare the rate-distortion cost.
[0132] f) Compare the rate-distortion overhead of the two coding modes:
[0133] If cost2 < cost1, then the second coding mode is adopted, and the specified quantized residual value 0 is used as the final quantized residual value of the current coding point to be coded (equivalent to setting the quantized residual value to 0) for entropy coding to generate a bitstream, and the attribute reconstruction value of the current coding point to be coded is the attribute prediction value;
[0134] If cost2 > cost1, otherwise the first coding mode is adopted to perform entropy coding on the first quantized residual value to generate a bitstream; at this time, the attribute reconstruction value of the current coding point to be coded is equal to the attribute prediction value of the current coding point plus the reconstruction residual value, and the reconstruction residual value is obtained by performing inverse quantization on the first quantized residual value.
[0135] In the case of cost2 = cost1, either the first coding mode or the second coding mode can be adopted.
[0136] After the coding end adopts the above rate-distortion optimization method, the quantized residual value of the current coding point to be coded may change, but the decoding end still decodes in the original manner and calculates the attribute reconstruction value of this point.
[0137] To verify the effect of this embodiment, lambda is set to 0.5 in this embodiment, and tests are carried out on the point cloud compression reference platform PCRM6.0 of the audio and video coding standard (AVS: Audio Video coding Standard), involving the following two test conditions: limit-lossy geometry, lossy attributes, that is, the geometric position is limitedly lossy and the attributes are lossy; lossless geometry, lossy attributes, that is, the geometric position is lossless and the attributes are lossy. The test sequences used include three types of general test sequences Cat1A, Cat1C, and Cat2, and the experimental results of the reflectivity attributes are tested:
[0138] Table 1 C1 - limit-lossy geometry, lossy attributes
[0139]
[0140] Table 2 C2 - lossless geometry, lossy attributes
[0141]
[0142] In the above table, class represents the category of the general test sequence, EtE BD-AttrRate represents the end-to-end rate-distortion, and refl represents the reflectivity attribute. Experimental results show that the rate-distortion optimization method of this embodiment can bring performance gains.
[0143] In this embodiment, when the encoding end performs point cloud compression encoding based on the prediction branch, a rate-distortion optimization algorithm is introduced to determine a better quantization residual value by calculating the comprehensive cost of bit rate and distortion, thereby improving the encoding efficiency. In addition, no additional operations are required on the decoding end.
[0144] An embodiment of the present disclosure provides a point cloud rate-distortion optimization method, which involves a transformation branch and improves coding efficiency by introducing a rate-distortion optimization algorithm at the encoding end.
[0145] The encoder performs the following point cloud rate-distortion optimization:
[0146] a) Take multiple current points to be coded as a group and calculate the attribute prediction value A′ of each of the current points to be coded in the group j , j = 1, 2, ..., N, N is the number of points to be encoded in the group, in an example N = 4;
[0147] b) Calculate the attribute residual value of each of the current points to be coded in the group according to the attribute value and attribute prediction value of each of the current points to be coded in the group:
[0148] delta j =A j -A′ j
[0149] c) performing an N-dimensional DCT transform on the attribute residual values of the group of current points to be coded, to obtain the transformed attribute residual values of the respective points in the group of current points to be coded;
[0150] d) performing quantization processing on the transformed attribute residual values to obtain first quantized residual values of the respective current points to be encoded in the group;
[0151] e) performing inverse quantization on the first quantized residual value of each of the group of current points to be coded to obtain a reconstructed residual value of each of the group of current points to be coded;
[0152] f) performing an N-dimensional inverse DCT transform on the reconstructed residual values of the group of current points to be coded, to obtain the transformed reconstructed residual values of the group of current points to be coded;
[0153] g) Add the transformed reconstruction residual value of each of the current points to be coded to the attribute prediction value to obtain the attribute reconstruction value of each of the current points to be coded
[0154] h) Introduce the cost equation to calculate the rate-distortion overhead under the two coding modes:
[0155] cost j =lambda*R j +D j
[0156] Here, lambda is a set constant. The impact of bit rate and distortion on overhead can be controlled by changing the size of lambda.
[0157] The two encoding modes of this embodiment include a first encoding mode and a second encoding mode:
[0158] First encoding mode
[0159] The first coding mode is to encode D1, D2, ..., D N The encoding mode of the first quantized residual value of each point. For each point in the set of points to be encoded, the first quantized residual value of the point is encoded, which is the same as the traditional encoding mode. When calculating the rate-distortion cost of the j-th point using the first encoding mode, R j is the codeword size required to encode the first quantized residual value of the jth point; D j Reconstruct the attribute value of the jth point when encoded in the first encoding mode With attribute value A j The difference between cost1 j The rate-distortion cost of encoding the j-th point using the first coding mode is calculated.
[0160] Second encoding mode
[0161] The second coding mode is coded as D1, D2, ..., D N The encoding mode for a specified set of quantized residual values. When using the second encoding mode, each point in the set of points to be encoded is encoded with a specified quantized residual value. Different points can be assigned a single quantized residual value, or they can be assigned individually. When assigning quantized residual values individually, the values assigned to different points can be different.
[0162] In this embodiment, the quantized residual value specified for each point is 0, which is equivalent to using the attribute prediction value of each point directly as the attribute reconstruction value during attribute reconstruction. j is 0, D j A′ is the attribute prediction value of the jth point j With attribute value A j The difference between the two, the calculated rate-distortion cost of the j-th point using the second coding mode is recorded as cost2 j ;
[0163] i) Compare the rate-distortion overhead of the two coding modes and determine whether each point in the group of points to be coded has cost2 j <cost1 j holds, j = 1, 2, …, N;
[0164] If yes, determine that the second coding mode is the optimal coding mode, use 0 as the final quantized residual value for all points in the group, perform entropy coding on 0, and generate a bitstream;
[0165] If not, there is at least one cost2 j ≥cost1 j , determine that the first coding mode is the optimal coding mode, and use the first quantized residual value of each of the N points in the group as their final quantized residual value for entropy coding to generate a bitstream; the encoding end also performs inverse quantization processing on the first quantized residual value of each of the N points in the group to obtain N reconstructed residual values, and then performs N-dimensional inverse DCT transform on the N reconstructed residual values to obtain inversely transformed reconstructed residual values of each of the N points, and finally adds the inversely transformed reconstructed residual values of the N points to the attribute prediction value to obtain the attribute reconstruction value of each of the N current points to be encoded.
[0166] In another embodiment, a different strategy is adopted to determine the optimal coding mode. In this embodiment, the N rate-distortion costs calculated under the first coding mode are summed, and the N rate-distortion costs calculated under the second coding mode are summed, and the coding mode with the smallest sum is determined as the coding mode with the optimal rate-distortion cost.
[0167] In this embodiment, when the encoder performs point cloud compression encoding based on the transform branch, a rate-distortion optimization algorithm is introduced. Multiple points that undergo attribute residual value transformations are grouped together. The algorithm then comprehensively considers the bit rate and distortion costs of the points currently to be encoded in the group, determining a more optimal quantized residual value for the points currently to be encoded, thereby improving encoding efficiency. The decoder also does not require additional operations.
[0168] In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or codes on or transmitted via a computer-readable medium and executed by a hardware-based processing unit. The computer-readable medium may include a computer-readable storage medium corresponding to a tangible medium such as a data storage medium, or a communication medium that facilitates the transfer of a computer program from one place to another, such as according to a communication protocol. In this manner, a computer-readable medium may generally correspond to a non-transitory tangible computer-readable storage medium or a communication medium such as a signal or carrier wave. The data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for implementing the techniques described in this disclosure. A computer program product may include a computer-readable medium.
[0169] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection may also be referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient (transient) media, but rather refer to non-transient tangible storage media. As used herein, disk and optical disk include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, or Blu-ray disc, among others, where disks typically reproduce data magnetically, while optical discs use lasers to reproduce data optically. Combinations of the above should also be included within the scope of computer-readable media.
[0170] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Thus, the term "processor," as used herein, may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into a combined codec. Furthermore, the techniques may be fully implemented in one or more circuits or logic elements.
[0171] The technical solutions of the embodiments of the present disclosure can be implemented in a wide variety of devices or equipment, including wireless mobile phones, integrated circuits (ICs), or a group of ICs (e.g., chipsets). Various components, modules, or units are described in the embodiments of the present disclosure to emphasize the functional aspects of the devices configured to perform the described techniques, but they do not necessarily need to be implemented by different hardware units. Instead, as described above, the various units can be combined in a codec hardware unit or provided by a collection of interoperable hardware units (including one or more processors as described above) in combination with appropriate software and / or firmware.
Claims
1. A point cloud rate-distortion optimization method, comprising: Calculate the first quantized residual value of the attribute of the current point to be encoded; Determining one of the first quantized residual value and the second quantized residual value as a final quantized residual value of the current point to be encoded according to a rate-distortion cost of encoding the first quantized residual value and a rate-distortion cost of encoding a specified second quantized residual value; Perform entropy coding on the final quantized residual value of the current point to be encoded.
2. The method of claim 1, wherein: The specified second quantization residual value is 0; or the specified second quantization residual value includes 0 and a non-zero integer value.
3. The method of claim 2, wherein: The non-zero integer value includes any one or more of the following values: 1, -1, 2, -2.
4. The method of claim 1, wherein: The method further includes: when the first quantization residual value is 0, using the first quantization residual value as the final quantization residual value of the current point to be encoded.
5. The method of claim 1, wherein: The calculating of the first quantized residual value of the attribute of the current point to be encoded includes: performing quantization processing on the attribute residual value of the current point to be encoded to obtain the first quantized residual value of the current point to be encoded; The step of determining, according to a rate-distortion cost of encoding the first quantized residual value and a rate-distortion cost of encoding a specified second quantized residual value, one of the first quantized residual value and the second quantized residual value as a final quantized residual value of the current point to be encoded includes: Calculating a rate-distortion cost of a first coding mode for the current point to be coded, encoding the first quantized residual value under the first coding mode; Calculating a rate-distortion cost of the current point to be coded using a second coding mode, and encoding the second quantized residual value under the second coding mode; The quantized residual value encoded by the coding mode with the smaller rate-distortion cost value among the first coding mode and the second coding mode is used as the final quantized residual value of the current point to be encoded.
6. The method of claim 5, wherein: There is one second encoding mode, and one second quantized residual value is encoded in the second encoding mode; or There are multiple second encoding modes. Each second encoding mode encodes a second quantized residual value, and the second quantized residual values encoded in different second encoding modes are different.
7. The method of claim 5, wherein: The rate-distortion cost of each coding mode for the current point to be coded is calculated using the following formula: cost = lambda * R + D Wherein, lambda is a set constant, R is the codeword size required to encode the quantized residual value in the coding mode, and D is the difference between the attribute reconstruction value and the attribute value of the current point to be encoded when encoded according to the coding mode.
8. The method of claim 1, wherein: The first quantized residual value of the attribute of the current point to be coded is calculated, comprising: taking multiple current points to be coded D1, D2, ..., D N The attribute residual values are transformed for a group of attributes, and the transformed attribute residual values are quantized to obtain D1, D2, ..., D N respective first quantized residual values; The step of determining, according to a rate-distortion cost of encoding the first quantized residual value and a rate-distortion cost of encoding a specified second quantized residual value, one of the first quantized residual value and the second quantized residual value as a final quantized residual value of the current point to be encoded includes: Calculate D1, D2, ..., D N The rate-distortion cost of the first coding mode is used, in which D1, D2, ..., D N encoding the respective first quantized residual values; Calculate D1, D2, ..., D N The rate-distortion cost of the second coding mode is used, in which the pairs D1, D2, ..., D N A specified set of quantized residual value encodings; Determine a coding mode with the best rate-distortion cost among the first coding mode and the second coding mode, and convert D1, D2, ..., D encoded in the coding mode into N The respective quantized residual values are used as D1, D2, ..., D N The final quantized residual value of each.
9. The method of claim 8, wherein: The determining a coding mode with the best rate-distortion cost between the first coding mode and the second coding mode includes: For each encoding mode, calculate D1, D2, ..., D N In this coding mode, the rate-distortion costs of encoding the quantized residual values are Cost1, Cost2, ..., Cost N ; Determine a coding mode with the best rate-distortion cost according to the following strategy: Cost1, Cost2, ..., Cost calculated for each encoding mode N Sum up and determine the coding mode with the smallest sum as the coding mode with the optimal rate-distortion cost; or Determine whether the second encoding mode meets the conditions: Cost calculated in this mode i are all less than the Cost calculated in the first encoding mode i If so, a second coding mode that meets the condition is determined as the coding mode with the optimal rate-distortion cost, i=1,2,…,N.
10. The method of claim 9, wherein: The method further includes: if no second coding mode satisfies the condition, determining the first coding mode as a coding mode with the best rate-distortion cost.
11. The method of claim 9, wherein: The step of determining a second coding mode that satisfies the condition as the coding mode with the optimal rate-distortion cost includes: When there is one second coding mode that satisfies the condition, determining the second coding mode that satisfies the condition as the coding mode with the optimal rate-distortion cost; When there are multiple second coding modes that meet this condition, Cost1, Cost2, ..., Cost N The second coding mode with the smallest sum is determined as the coding mode with the optimal rate-distortion cost.
12. A point cloud attribute compression method, comprising: Determine the attribute residual value of the current point to be coded based on the attribute value and attribute prediction value of the current point to be coded; According to the point cloud rate-distortion optimization method described in any one of claims 1 to 11, the final quantized residual value of the current point to be encoded is determined and entropy encoding is performed on the final quantized residual value.
13. A point cloud attribute code stream, wherein: The point cloud attribute code stream is generated according to the point cloud attribute compression method according to claim 12.
14. A point cloud rate-distortion optimization device, comprising a processor and a memory storing a computer program, wherein: When the processor executes the computer program, it is capable of implementing the point cloud rate-distortion optimization method as described in any one of claims 1 to 11.
15. A point cloud compression device, wherein: The method comprises a processor and a memory storing a computer program, wherein the processor can implement the point cloud attribute compression method according to claim 12 when executing the computer program.
16. A non-transitory computer-readable storage medium storing a computer program, wherein: When the computer program is executed by a processor, it can implement the point cloud rate-distortion optimization method according to any one of claims 1 to 11, or it can implement the point cloud attribute compression method according to claim 12.