WO2024007253A1 - Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage - Google Patents
Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage Download PDFInfo
- Publication number
- WO2024007253A1 WO2024007253A1 PCT/CN2022/104391 CN2022104391W WO2024007253A1 WO 2024007253 A1 WO2024007253 A1 WO 2024007253A1 CN 2022104391 W CN2022104391 W CN 2022104391W WO 2024007253 A1 WO2024007253 A1 WO 2024007253A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quantized residual
- residual value
- encoded
- attribute
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
Definitions
- 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 attribute compression method, device and storage medium.
- a point cloud is a set of discrete points randomly distributed in space that expresses the spatial structure and surface properties of a three-dimensional object or scene.
- Figure 1A and Figure 1B respectively show an exemplary three-dimensional point cloud image and a local enlargement. You can See that the point cloud surface is composed of densely distributed points.
- Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes, and because point clouds can be obtained directly by sampling real objects, they can provide a strong sense of reality while ensuring accuracy, so they are widely used.
- the scope includes virtual reality games, computer-aided design, geographical information systems, automatic navigation systems, digital cultural heritage, free-viewpoint broadcasting, three-dimensional immersive telepresence, three-dimensional reconstruction of biological tissues and organs, etc. Changes in the way of obtaining point cloud data have made it possible to obtain large amounts of point cloud data. However, with the growth of application requirements, the processing of massive 3D point cloud data encounters storage space and transmission bandwidth limitations, and more effective compression methods need to be provided. .
- An embodiment of the present disclosure provides a point cloud rate distortion optimization method, including:
- 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;
- Entropy coding is performed on the final quantized residual value of the current point to be encoded.
- An embodiment of the present disclosure also provides a point cloud attribute compression method, including:
- the point cloud rate distortion optimization method determines the final quantized residual value of the current point to be encoded and performs entropy coding on the final quantized residual value.
- An embodiment of the present disclosure also 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.
- An embodiment of the present disclosure also provides a point cloud rate distortion optimization device, which includes a processor and a memory storing a computer program.
- a processor executes the computer program, it can implement the method described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a point cloud compression device, which includes a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement the method described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a non-transitory computer-readable storage medium.
- the computer-readable storage medium stores a computer program. When executed by a processor, the computer program can implement any implementation of the present disclosure.
- the point cloud rate distortion optimization method described in the example, or the point cloud attribute compression method described in any embodiment of the present disclosure can be implemented.
- Figures 1A and 1B are an exemplary three-dimensional point cloud image and a partial enlargement respectively;
- Figure 2A is a schematic diagram of the encoding framework of the point cloud compression platform of the first embodiment
- Figure 2B is a schematic diagram of the decoding framework of the point cloud compression platform of the first embodiment
- Figure 3 is a flow chart of a point cloud rate distortion optimization method according to an embodiment of the present disclosure
- Figure 4 is a flow chart of a point cloud attribute compression method according to an embodiment of the present disclosure
- Figure 5 is a schematic diagram of a point cloud rate distortion optimization device according to an embodiment of the present disclosure.
- the words “exemplary” or “such as” are used to mean an example, illustration, or explanation. Any embodiment described in this disclosure as “exemplary” or “such as” is not intended to be construed as preferred or advantageous over other embodiments.
- "And/or” in this article is a description of the relationship between associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and they exist alone. B these three situations.
- "Plural” means two or more than two.
- words such as “first” and “second” are used to distinguish the same 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 number and execution order, and words such as “first” and “second” do not limit the number and execution order.
- Two-dimensional images have information expressed in each pixel and are distributed regularly, so there is no need to record additional position information; however, the distribution of points in the point cloud in the three-dimensional space is random and irregular, so each point needs to be recorded Only the position of the point in space can completely express a point cloud.
- each point in the collection process has corresponding attribute information, usually an RGB color value, and the color value reflects the color of the object; for point clouds, in addition to color, the attribute information corresponding to each point The more common one is reflectance.
- the reflectance value reflects the surface material of the object.
- point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b), and one-dimensional reflectance information (r).
- the corresponding point cloud data storage format consists of a file header information part and a data part.
- the header information includes the data format, data representation type, total point cloud points, and the content represented by the point cloud.
- the point cloud is in ".ply" format and is represented by ASCII code.
- the total number of points is 207242, and each point has three-dimensional position information xyz and three-dimensional color information RGB.
- Point cloud collection mainly includes computer generation, 3D laser scanning, 3D photogrammetry, etc.
- Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain dynamic real-world three-dimensional objects or scenes Point clouds can obtain tens of millions of point clouds per second.
- point cloud compression has become a key issue in the development of point cloud applications.
- Point cloud compression algorithms include two solutions developed by the International Moving Picture Experts Group (MPEG), namely video-based point cloud compression (V-PCC) and geometry-based point cloud compression.
- MPEG Motion Picture Experts Group
- V-PCC video-based point cloud compression
- G-PCC Geometry-based Point Cloud Compression
- geometric compression in G-PCC is mainly realized through octree model and/or triangular surface model.
- V-PCC is mainly implemented through three-dimensional to two-dimensional projection and video compression.
- PCC of AVS Audio Video coding Standard
- Point cloud compression generally adopts the method of separately compressing point cloud geometric information and attribute information.
- the point cloud geometric information is first encoded in the geometry encoder, and then the reconstructed geometric information is input into the attribute encoder as additional information, and the auxiliary point Compression of cloud attributes;
- the point cloud geometric information is first decoded in the geometry decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist in the decompression of point cloud attributes.
- FIG. 2A shows a schematic diagram of an exemplary point cloud encoding framework
- FIG. 2B shows a schematic diagram of an exemplary point cloud decoding framework.
- the encoding end of an exemplary point cloud compression reference platform includes a geometry encoder and an attribute encoder.
- the geometry encoder includes a coordinate translation module 11 , a coordinate quantization module 13 , an octree building 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 building module 15 and the geometric entropy encoder 17 encode the preprocessed geometric information to obtain a geometric code stream. in:
- the coordinate translation module 11 is configured to normalize the geometric origin of the original geometric information to the minimum value position in the point cloud space through coordinate translation.
- the coordinate quantization module 13 is configured to convert the geometric information output by the coordinate translation module 11 from floating point numbers into integers through coordinate quantization to facilitate subsequent regularization processing.
- the regularized geometric information is output to the octree building module 15 and the attribute encoder. .
- the octree building module 15 is configured to geometrically encode regularized geometric information, use the octree structure to recursively divide the point cloud space, divide the current node into eight sub-blocks of the same size each time, and judge each sub-block.
- the occupied codeword status of the block When the sub-block does not contain point cloud points, 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 all blocks are recorded in the last layer of recursive division.
- the codeword information is occupied and encoded; the geometric information expressed through the octree structure is output to the geometric entropy encoder 17 and the geometric reconstruction module 19.
- the geometric entropy encoder 17 is configured to entropy encode the geometric information expressed by the octree structure to form a geometric code stream.
- the geometric reconstruction module 19 is configured to perform geometric reconstruction processing in the geometry encoder, and the reconstructed geometric information is output to the attribute encoder as additional information.
- the attribute encoder includes a color space transformation module 21 , an attribute recoloring module 23 , an attribute prediction module 25 , a quantization module 27 and an attribute entropy encoding module 29 .
- the color space transformation 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. in:
- 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 in line with the visual characteristics of the human eye.
- the attribute recoloring module 23 is set to reassign the attribute value to each point after geometric encoding based on the geometric information output by the geometry encoder. This process is called attribute recoloring to avoid the original geometric information and the geometric information after geometric encoding. The difference between properties.
- the attribute prediction module 25 is configured to reorder the point cloud.
- the reordering method can be Hilberton code, Morton code, etc., and the traversal order of the corresponding attribute encoding is Morton order, Hilbert order, etc., attribute prediction
- the method can be multi-point prediction based on neighboring points or single-point prediction. During multi-point prediction, first find multiple points closest to the current point to be encoded as the prediction reference points of the current point to be encoded, and weight the attribute reconstruction values of the multiple prediction reference points as the attribute prediction values of the current point to be encoded.
- one point can be traced back from the current point to be encoded as the prediction reference point of the current point to be encoded, and the attribute reconstruction value of the prediction reference point can be used as the attribute prediction value of the current point to be encoded.
- the difference between the attribute value of the current point to be encoded and the predicted attribute value is the attribute residual value of the current point to be encoded.
- 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.
- the attribute entropy encoding module 29 is configured to entropy encode the quantized residual value of the attribute of the point to form an attribute code stream.
- the decoding end of the PCRM platform includes a geometry decoder and an attribute decoder.
- the geometry decoder includes a geometric entropy decoder 31 , an octree reconstruction module 33 , a coordinate inverse quantization module 35 and a coordinate inverse translation module 37 . in,
- the geometric entropy decoder 31 is configured to entropy decode the geometric code stream to obtain the geometric information of each node.
- 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 encoding, and reconstruct the coordinate-transformed geometric information expressed through the octree structure in combination with the decoded geometry.
- 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 is output to the attribute decoder as additional information.
- 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.
- the attribute decoder includes an attribute entropy decoder 41, an inverse quantization module 43, an attribute prediction module 45 and a color space inverse transform module 47. in:
- the attribute entropy decoder 41 is configured to perform entropy decoding on the attribute code stream to obtain the quantized residual value of the attribute of the point.
- 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.
- the attribute prediction module 45 is configured to construct Morton order, Hilbert order, etc. in the same way as attribute encoding based on the geometric information output by the geometry decoder, obtain the attribute prediction value of the current point to be decoded, and then convert the current point to be decoded The attribute prediction value is added to the attribute residual value, and the attribute value of the current point to be decoded is restored to obtain the attribute reconstruction value, such as YUV color value, reflectance value, etc.
- the color space inverse transformation module is configured to perform inverse color space transformation on the attribute information output by the attribute prediction module 45 to obtain decoded attribute information.
- the prediction branch When compressing, encoding and decoding point clouds based on the above encoding framework and decoding framework, there are two technical routes to distinguish based on the algorithm used for attribute compression.
- One is called the prediction branch, and the other is called the transformation 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 in the transformation branch and the prediction branch is that after obtaining the attribute residual value of the point through attribute prediction, the attribute residual value of multiple points (such as 4 points) is first transformed (the transformation algorithm can be Wavelet transform or k-element discrete cosine transform (DCT: Discrete Cosine Transform), etc.), and then quantize the transformed attribute residual value to obtain the quantized residual value of the attribute.
- DCT Discrete Cosine Transform
- the prediction branch performs attribute prediction based on the attribute residual value obtained by inverse quantization, and the transformation branch first performs attribute prediction on the multiple attribute residual values obtained by inverse quantization.
- the difference value is inversely transformed, and then attribute prediction is performed based on the attribute residual value obtained by the inverse transformation.
- the attributes of each point are encoded and decoded according to Hilbert order, where the attribute encoding process includes:
- Entropy coding is performed on the quantized residual value of the attribute of the current point to be encoded to generate an attribute code stream.
- the encoding end performs inverse quantization processing 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.
- the 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.
- the attribute decoding process includes:
- the decoding end obtains the attribute prediction value A′ j of the current point to be decoded, and decodes it from the code stream to obtain the quantized residual value (signed) of the current point to be decoded;
- the quantized residual value used is obtained by quantizing the attribute residual value.
- the quantized residual value is written into the code stream and affects the code rate.
- it is processed through inverse quantization.
- the attribute reconstruction value is then generated, thereby causing distortion between the attribute reconstruction value and the original attribute value.
- directly encoding the quantized residual value does not necessarily bring the best performance.
- a rate-distortion optimization algorithm can be introduced to balance the cost between code rate and distortion and improve coding performance.
- 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-mentioned coding framework. As shown in Figure 3, the method includes:
- Step 110 Calculate the first quantized residual value of the attribute of the current point to be encoded
- the calculated quantized residual value is called the first quantized residual value to distinguish it from other quantized residual values such as the specified quantized residual value and the final quantized residual value.
- Step 120 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, convert the first quantized residual value and the second quantized residual value into One value is determined as the final quantized residual value of the current point to be encoded;
- the specified quantized residual value should be different from the first quantized residual value.
- the rate distortion penalty may also be called rate distortion overhead.
- Step 130 Perform entropy coding on the final quantized residual value of the current point to be encoded.
- entropy coding is not performed directly. Instead, the first quantized residual value or a specified second quantized residual is selected based on the rate-distortion cost. The value is used 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 the rate distortion cost of encoding a specified quantized residual value such as 0 is smaller, the specified quantized residual value is used instead of the first quantized residual value for entropy coding, This results in better encoding performance overall.
- the specified second quantized residual value is 0. Use 0 to replace the non-zero first quantized residual value as the final quantized residual value.
- the codeword is the smallest.
- the reconstructed residual value is also 0, which is equivalent to Using the attribute prediction value of the current point to be encoded directly as the attribute reconstruction value will bring certain distortion.
- the rate-distortion cost can weigh the gain and distortion in code rate to determine whether to use 0 instead of the calculated first quantized residual value for entropy coding.
- 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.
- the rate distortion cost of encoding the first quantized residual value can be compared with the rate distortion cost of encoding multiple specified second quantized residual values, and a quantized one can be selected from them.
- the residual value is the final quantized residual value of the current point to be encoded.
- the rate distortion cost of encoding the first quantized residual value 1 can be calculated
- the rate distortion cost of encoding the specified quantized residual value 0 can be calculated
- the encoding specified quantization residual can be calculated
- the rate distortion cost of value 2 the value with the smallest corresponding rate distortion cost is used as the final quantized residual value of the current point to be encoded.
- non-zero integer values can also include more values, such as 3, -3, 4, -4, and so on.
- 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. .
- the rate distortion cost of using the first quantized residual value is usually the smallest, so the first quantized residual value is directly used as the final quantized residual value.
- the attribute residual value when compressing and encoding the 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 the attribute residual value of the current point to be encoded.
- the first quantized residual value when compressing and encoding the 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 the attribute residual value of the current point to be encoded. The first quantized residual value.
- the first quantized residual value and the second quantized residual value are One value is determined as the final quantized residual value of the current point to be encoded, including:
- the quantized residual value encoded by the encoding mode with the smaller rate distortion cost among the first encoding mode and the second encoding mode is used as the final quantized residual value of the current point to be encoded.
- the rate distortion cost of using two encoding modes can be calculated.
- One is the rate distortion cost of encoding 0.
- one is to encode the rate distortion cost of the first quantized residual value, and select the encoding mode with the smallest rate distortion cost to encode the quantized residual value as the final quantized residual value.
- the specified second quantized residual value includes 0 and non-zero integer values
- there may be multiple second encoding modes and one of the second encoding modes is a quantized residual specified for the current point to be encoded.
- the difference value is 0, and the quantization residual values specified by other second encoding modes for the current point to be encoded are non-zero integer values.
- an absolute value smaller than the absolute value of the first quantized residual value and a sign that is the same as the first quantized residual value may be selected from the value set of the second quantized residual value.
- each selected non-zero integer value can be used as a quantized residual value specified by the second encoding mode.
- N there can be N+1 second coding modes, including a second coding mode that specifies 0 as the quantized residual value, and N one non-zero value to be selected
- the first quantized residual value is 2.
- the rate distortion cost of the two second coding modes encoding 0 and 1 and the rate distortion cost of the first encoding mode encoding 2 can be calculated, and the encoding mode with the smallest rate distortion cost can be calculated.
- the encoded value is used as the final quantized residual value of the current point to be encoded. Considering the distortion and bit rate, you do not need to try values above 3 or -1, -2 and other values at this time.
- the quantized residual value encoded in the second encoding mode may also be specified as a value whose absolute value is 1 smaller than the first quantized residual value and whose sign is the same as the first optimized residual value to control distortion. , at this time it is only necessary to compare the rate distortion cost of a second coding mode and a first coding mode.
- the rate distortion cost of each coding mode used by the current point to be encoded is calculated according to the following formula:
- lambda is a set constant
- R is the codeword size required to encode the quantized residual value in this encoding mode
- D is the attribute reconstruction value and attribute value of the current point to be encoded when encoding in this encoding mode. difference.
- the size of R is related to the specific entropy coding algorithm used.
- D can use attributes to reconstruct the difference between the value and the attribute value, such as the absolute value of the difference but is not limited to this.
- 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 for bit rate and distortion. If the requirement for bit rate is higher, the value can be set to 0.5.
- Lambda is set relatively large to increase the weight of codeword size. On the contrary, if the distortion is required to be small, lambda can be set relatively small to reduce the weight of codeword size.
- the attribute residual values are transformed when compressing and encoding the point cloud. Because when transforming and inverse transforming the attribute residual values of the point cloud points, multiple points are composed into one Group, the attribute residual values of multiple points in the group are transformed together (such as wavelet transform or DCT transform) and inverse transform. In this case, after replacing the first quantized residual value calculated at a single point 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, and thus Affects the attribute reconstruction values and attribute distortion of other points. Therefore, the final quantized residual value determined based on the minimum usage rate distortion cost of a single point is not necessarily the overall optimal one.
- This embodiment proposes a rate-distortion optimization method based on a set of current points to be decoded for the transform branch, where:
- the calculation of the first quantized residual value of the attribute of the current point to be encoded includes: using a plurality of current points to be encoded D 1 , D 2 ,..., D N as a group to jointly transform the attribute residual value, and perform the transformation
- the final attribute residual values are quantized respectively, and the first quantized residual values of D 1 , D 2 ,..., D N are obtained;
- one of the first quantized residual value and the second quantized residual value is The value is determined as the final quantized residual value of the current point to be encoded, including:
- a set of quantized residual values specified for D 1 , D 2 ,..., D N in a second coding mode are composed of the same values, that is, D 1 , D 2 ,... ,D N uniformly specifies a value.
- a quantized residual value is assigned to D 1 , D 2 , ..., D N respectively within a second encoding mode, and a quantized residual value is assigned to D 1 , D 2 , ..., D N respectively.
- the method of the previous embodiment can be used, such as specifying it as 0, or specifying a non-zero integer value.
- determining the encoding mode with the optimal rate-distortion cost among the first encoding mode and the second encoding mode includes:
- the quantized residual values of D 1 , D 2 ,..., D N in the first encoding mode are the first quantized residual values of D 1 , D 2 ,..., D N respectively, D 1 , D 2 ,... , the quantized residual value of D N in the second encoding mode is the quantized residual value specified uniformly or separately for D 1 , D 2 ,..., D N in this mode.
- the second coding mode that satisfies the condition is determined to be the coding mode with the optimal rate-distortion cost.
- the second coding mode with the smallest sum of Cost 1 , Cost 2 ,..., Cost N can be determined as the coding mode with the optimal rate-distortion cost.
- the first coding mode may be determined to be the coding mode with the optimal rate-distortion cost. But in other examples, it can also be further determined whether there is a second encoding mode that meets other conditions: for example, the sum of Cost 1 , Cost 2 ,..., Cost N is less than the Cost 1 , Cost 2 ,..., of the first encoding mode. The sum of Cost N , and the Cost of more than half of the points in the second encoding mode is smaller than the Cost in the first encoding mode.
- An embodiment of the present disclosure also provides a point cloud attribute compression method, as shown in Figure 4, including:
- Step 210 Determine the attribute residual value of the current point to be encoded based on the attribute value and attribute prediction value of the current point to be encoded;
- 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 coding on the final quantized residual value.
- the point cloud attribute compression method of this embodiment adopts the rate-distortion optimization method of the previous embodiment of the present disclosure to optimize the value of the quantized residual value, which can improve the performance of compression encoding.
- An embodiment of the present disclosure also 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.
- An embodiment of the present disclosure also provides a point cloud rate distortion optimization device. As shown in Figure 5, it includes a processor 5 and a memory 6 storing a computer program. When the processor 5 executes the computer program, it can Implement the point cloud rate distortion optimization method as described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a point cloud compression device.
- a point cloud compression device Referring to Figure 5, it includes a processor and a memory storing a computer program.
- the processor executes the computer program, it can implement any implementation of the present disclosure.
- An embodiment of the present disclosure also provides a non-transitory computer-readable storage medium.
- the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it can implement any of the aspects of the present disclosure.
- the point cloud rate distortion optimization method described in the embodiment may be able to implement the point cloud attribute compression method described in any embodiment of the present disclosure.
- the processor in the above embodiments of the present disclosure may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), a microprocessor, etc., or it may be other conventional processors. Processor, etc.; the processor may also be a digital signal processor (DSP), application specific integrated circuit (ASIC), off-the-shelf programmable gate array (FPGA), discrete logic or other programmable logic devices, discrete gates or transistor logic devices , discrete hardware components; it can also be a combination of the above devices. That is, the processor in the above embodiments can be any processing device or device combination that implements the methods, steps and logical block diagrams disclosed in the embodiments of the present invention.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA off-the-shelf programmable gate array
- instructions for the software may be stored in a suitable non-volatile computer-readable storage medium and may be executed in hardware using one or more processors. Instructions are provided to perform the methods of embodiments of the present disclosure.
- An embodiment of the present disclosure provides a point cloud rate distortion optimization method, which involves a prediction branch and introduces a rate distortion optimization algorithm on the encoding side to improve encoding efficiency.
- the encoding end performs the following point cloud rate distortion optimization processing:
- the absolute value of the attribute residual value can be quantified, and the quantization result is multiplied by the sign of the attribute residual value to calculate the first quantized residual value.
- 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.
- lambda is a set constant, and the impact of code rate and distortion on overhead can be controlled by changing the size of lambda.
- the first encoding mode is a mode for encoding the calculated first quantized residual value, which is the same as the traditional encoding mode.
- R in the formula is the codeword size required to encode the first quantized residual value.
- the first quantized residual value can be encoded with entropy (or unsigned The binary bit representation required for the first quantized residual value) is related to the entropy coding algorithm used; D is the difference between the attribute reconstruction value and the attribute value encoded according to the first encoding mode.
- the current to-be-encoded point uses the first
- the rate distortion cost of coding mode encoding is recorded as cost1
- the second encoding mode is a mode for encoding a specified second quantized residual value.
- 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 encoded as the attribute reconstruction value.
- R is the smallest (for example, 0);
- D is the difference between the attribute prediction value and the attribute value. The difference is the absolute value of the difference; the rate-distortion overhead of encoding the current point to be encoded using the second encoding mode is recorded as cost2;
- this embodiment only uses one second coding mode, the disclosure is not limited thereto.
- the rate distortion cost of multiple second coding modes can also be calculated. For example, when the first quantization residual value is 2, you can add The second encoding mode with a specified quantization residual value of 1 is involved in the comparison.
- entropy encoding can be performed directly on 0, without the need to calculate and compare the rate-distortion cost.
- the second coding mode is used, and the specified quantized residual value 0 is used as the final quantized residual value of the current point to be encoded (equivalent to setting the quantized residual value to 0) for entropy coding to generate a code stream.
- the attribute reconstruction value of the current point to be encoded is the attribute prediction value;
- the first coding mode is used to perform entropy coding on the first quantized residual value to generate a code stream; at this time, the attribute reconstruction value of the current point to be encoded is equal to the predicted attribute value of the current point to be encoded plus the reconstructed residual value.
- the difference value, the reconstructed residual value is obtained by performing inverse quantization processing on the first quantized residual value.
- the quantized residual value of the current point to be encoded may change, but the decoding end still decodes in the original way and calculates the attribute reconstruction value of the point.
- this embodiment sets lambda to 0.5 and conducts tests on the point cloud compression reference platform PCRM6.0 of the Audio 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 limited and 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 general test sequences: Cat1A, Cat1C, and Cat2. The experimental results of the reflectivity properties are tested:
- class represents the category of the general test sequence
- EtE BD-AttrRate represents the end-to-end code rate-distortion
- refl represents the reflectance attribute.
- a rate-distortion optimization algorithm is introduced to determine a better quantized residual value by calculating the comprehensive cost of the code rate and distortion, thereby improving the encoding efficiency.
- the decoding end does not Additional operations are required.
- An embodiment of the present disclosure provides a point cloud rate distortion optimization method, which involves a transformation branch and introduces a rate distortion optimization algorithm on the encoding side, thereby improving encoding efficiency.
- the encoding end performs the following point cloud rate distortion optimization processing:
- lambda is a set constant, and the impact of code rate and distortion on overhead can be controlled by changing the size of lambda.
- the first coding mode is a coding mode that codes the first quantized residual value of each of D 1 , D 2 ,..., D N . For each point in the group of current points to be encoded, it is the first quantized residual value of encoding the point, which is the same as the traditional encoding mode.
- R j is the codeword size required to encode the first quantized residual value of the j-th point; D j is the j-th point when encoding in the first encoding mode.
- Point attribute reconstruction value The difference from the attribute value A j , cost1 j is the calculated rate distortion cost of encoding the j-th point using the first encoding mode.
- the second coding mode is a coding mode that codes a set of quantized residual values specified for D 1 , D 2 ,..., D N .
- a quantized residual value specified for the point is encoded.
- a quantized residual value can be specified uniformly for different points, or the quantized residual values can be specified separately. When specified separately, the quantized residual values specified for different points can be different.
- the quantized residual value specified for each point is 0, which is equivalent to directly using the attribute prediction value of each point as the attribute reconstruction value during attribute reconstruction.
- R j is 0, and D j is the difference between the attribute prediction value A′ j and the attribute value A j of the j-th point.
- the calculated rate-distortion cost of the j-th point using the second coding mode is recorded as cost2 j ;
- the second coding mode is determined to be the optimal coding mode. All points in the group use 0 as the final quantized residual value, perform entropy coding on 0, and generate a code stream;
- the first coding mode as the optimal coding mode, and use the first quantized residual value of each N point in the group as the final quantized residual value for entropy coding.
- the encoding end also performs inverse quantization processing on the first quantized residual values of each N point in the group to obtain N reconstructed residual values, and then performs N-dimensional DCT inverse transformation on the N reconstructed residual values.
- add the reconstruction residual value after inverse transformation of N points and the attribute prediction value to obtain the attribute reconstruction value of each of the N current points to be encoded.
- different strategies are used to determine the optimal coding mode.
- the N rate distortion costs calculated in the first coding mode are summed, and the N rate distortion costs calculated in the second coding mode are summed.
- the costs are summed, and the encoding mode with the smallest sum is determined as the encoding mode with the optimal rate-distortion cost.
- a rate-distortion optimization algorithm is introduced to form a group of multiple points that undergo attribute residual value transformation together, and comprehensively consider the code rate and distortion of the current group of points to be encoded.
- a better quantized residual value is determined for the group of current points to be encoded, thereby improving coding efficiency. No additional operations are required on the decoding end.
- Computer-readable media may include computer-readable storage media that corresponds to tangible media, such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, such as according to a communications protocol.
- Computer-readable media generally may correspond to non-transitory, tangible computer-readable storage media or communication media such as a signal or carrier wave.
- Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementing the techniques described in this disclosure.
- a computer program product may include computer-readable media.
- such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory or may be used to store instructions or data. Any other medium that stores the desired program code in the form of a structure and that can be accessed by a computer.
- any connection is also termed a computer-readable medium if, for example, any connection is transmitted from a website, server, or using or other remote source transmits instructions, then coaxial cable, fiber optic cable, double-stranded wire, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of medium.
- disks and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, or Blu-ray discs. Disks usually reproduce data magnetically, while optical discs use lasers to reproduce data. Regenerate data optically. Combinations of the above should also be included within the scope of computer-readable media.
- 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.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- FPGAs field programmable logic arrays
- Execute instructions may refer to any of the structures described above or any other structure suitable for implementing the techniques described herein.
- the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated in a combined codec.
- the techniques may be implemented entirely in one or more circuits or logic elements.
- inventions of the present disclosure may be implemented in a wide variety of devices or equipment, including wireless handsets, integrated circuits (ICs), or a set of ICs (eg, chipsets).
- ICs integrated circuits
- a set of ICs eg, chipsets.
- Various components, modules or units are depicted in embodiments of the present disclosure to emphasize functional aspects of devices configured to perform the described techniques, but do not necessarily require implementation by different hardware units. Rather, as described above, the various units may be combined in a codec hardware unit or provided by a collection of interoperating hardware units (including one or more processors as described above) in conjunction with suitable software and/or firmware.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202280097081.4A CN119343918A (zh) | 2022-07-07 | 2022-07-07 | 点云率失真优化方法及属性压缩方法、装置和存储介质 |
| PCT/CN2022/104391 WO2024007253A1 (fr) | 2022-07-07 | 2022-07-07 | Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/104391 WO2024007253A1 (fr) | 2022-07-07 | 2022-07-07 | Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024007253A1 true WO2024007253A1 (fr) | 2024-01-11 |
Family
ID=89454559
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/104391 Ceased WO2024007253A1 (fr) | 2022-07-07 | 2022-07-07 | Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN119343918A (fr) |
| WO (1) | WO2024007253A1 (fr) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109274968A (zh) * | 2018-10-26 | 2019-01-25 | 西安科锐盛创新科技有限公司 | 视频压缩自适应量化与反量化方法 |
| CN109361922A (zh) * | 2018-10-26 | 2019-02-19 | 西安科锐盛创新科技有限公司 | 预测量化编码方法 |
| CN112565734A (zh) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | 基于混合编码的点云属性编解码方法及装置 |
| CN113284248A (zh) * | 2021-06-10 | 2021-08-20 | 上海交通大学 | 一种点云有损压缩的编解码方法、装置和系统 |
| US20210385303A1 (en) * | 2020-06-09 | 2021-12-09 | Qualcomm Incorporated | Attribute residual coding in g-pcc |
| WO2022062369A1 (fr) * | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | Procédé et système de codage et de décodage de nuage de points, et codeur et décodeur de nuage de points |
| WO2022061786A1 (fr) * | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | Procédé de codage d'un nuage de points et dispositif associé |
| WO2022133753A1 (fr) * | 2020-12-22 | 2022-06-30 | Oppo广东移动通信有限公司 | Procédés et systèmes de codage et de décodage de nuage de points, codeur de nuage de points et décodeur de nuage de points |
-
2022
- 2022-07-07 CN CN202280097081.4A patent/CN119343918A/zh active Pending
- 2022-07-07 WO PCT/CN2022/104391 patent/WO2024007253A1/fr not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109274968A (zh) * | 2018-10-26 | 2019-01-25 | 西安科锐盛创新科技有限公司 | 视频压缩自适应量化与反量化方法 |
| CN109361922A (zh) * | 2018-10-26 | 2019-02-19 | 西安科锐盛创新科技有限公司 | 预测量化编码方法 |
| US20210385303A1 (en) * | 2020-06-09 | 2021-12-09 | Qualcomm Incorporated | Attribute residual coding in g-pcc |
| WO2022062369A1 (fr) * | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | Procédé et système de codage et de décodage de nuage de points, et codeur et décodeur de nuage de points |
| WO2022061786A1 (fr) * | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | Procédé de codage d'un nuage de points et dispositif associé |
| CN112565734A (zh) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | 基于混合编码的点云属性编解码方法及装置 |
| WO2022133753A1 (fr) * | 2020-12-22 | 2022-06-30 | Oppo广东移动通信有限公司 | Procédés et systèmes de codage et de décodage de nuage de points, codeur de nuage de points et décodeur de nuage de points |
| CN113284248A (zh) * | 2021-06-10 | 2021-08-20 | 上海交通大学 | 一种点云有损压缩的编解码方法、装置和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119343918A (zh) | 2025-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102645508B1 (ko) | Haar 기반 포인트 클라우드 코딩을 위한 방법 및 장치 | |
| WO2020123469A1 (fr) | Encodage d'attribut d'arbre hiérarchique par points médians dans un codage en nuage de points | |
| WO2022057091A1 (fr) | Procédé de codage, procédé de décodage, dispositif de codage et dispositif de décodage pour attribut de nuage de points | |
| WO2023103565A1 (fr) | Procédé et appareil de codage et de décodage d'informations d'attribut de nuage de points, dispositif, et support de stockage | |
| Chawla et al. | Image compression techniques: a review | |
| WO2024221458A9 (fr) | Procédé et appareil de codage et de décodage de nuage de points, dispositif et support de stockage | |
| TW202249488A (zh) | 點雲屬性的預測方法、裝置及編解碼器 | |
| CN117157973A (zh) | 编解码方法及相关设备、存储介质 | |
| CN117337449A (zh) | 点云质量增强方法、编码和解码方法及装置、存储介质 | |
| WO2024007253A1 (fr) | Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage | |
| TW202408237A (zh) | 一種點雲幀間補償方法、編解碼方法、碼流、裝置和系統 | |
| WO2023184196A1 (fr) | Procédés de codage et de décodage de valeur d'exécution nulle et procédés, dispositifs et systèmes de codage et de décodage vidéo | |
| WO2024174101A1 (fr) | Procédés de décodage et de codage de nuage de points, dispositif, système, support de stockage et flux de code | |
| WO2024065269A1 (fr) | Procédé et appareil de codage et de décodage de nuage de points, dispositif, et support de stockage | |
| WO2023168712A1 (fr) | Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo | |
| CN118765499A (zh) | 编码方法、编码器以及存储介质 | |
| CN115733990A (zh) | 点云编解码方法、设备及存储介质 | |
| WO2023173238A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support d'enregistrement | |
| WO2024207247A1 (fr) | Procédé de codage de nuage de points, procédé de décodage de nuage de points, flux de code, codeur, décodeur et support d'enregistrement | |
| WO2024207244A1 (fr) | Procédé de codage et de décodage de nuage de points, flux de code, codeur, décodeur et support de stockage | |
| CN120982095A (zh) | 点云编解码方法、编码器、解码器、码流及存储介质 | |
| WO2024082152A1 (fr) | Procédés et appareils de codage et de décodage, codeur et décodeur, flux de code, dispositif et support de stockage | |
| CN117426093A (zh) | 点云编解码方法、装置、点云编解码器及存储介质 | |
| WO2024207235A1 (fr) | Procédé de codage/décodage, train de bits, codeur, décodeur et support de stockage | |
| WO2024187380A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22949837 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280097081.4 Country of ref document: CN |
|
| WWP | Wipo information: published in national office |
Ref document number: 202280097081.4 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22949837 Country of ref document: EP Kind code of ref document: A1 |