Encoding method and apparatus, decoding method and apparatus, point cloud encoder, point cloud decoder, bit stream, device, and storage medium

By dynamically adjusting the cross-component prediction mode during the point cloud encoding and decoding process, the encoding and decoding efficiency of the point cloud is optimized, the bottleneck problem of point cloud data storage and transmission is solved, and the processing efficiency is improved.

WO2025213480A1PCT designated stage Publication Date: 2025-10-16GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/087630
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-12
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

Existing technologies have bottlenecks in the encoding and decoding efficiency of point cloud data, especially in terms of storage space, transmission bandwidth and processing efficiency of massive point cloud data, which are difficult to meet application requirements.

Method used

By dynamically enabling or disabling the cross-component prediction mode during the point cloud encoding and decoding process, the encoding and decoding mode is determined for the node of the current transform layer to optimize the encoding and decoding efficiency of the point cloud.

Benefits of technology

It improves the encoding and decoding efficiency of point cloud data, reduces the consumption of computing resources, and improves the speed of data processing and storage efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024087630_16102025_PF_FP_ABST
    Figure CN2024087630_16102025_PF_FP_ABST
Patent Text Reader

Abstract

An encoding method and apparatus, a decoding method and apparatus, a point cloud encoder, a point cloud decoder, a bit stream, a device, and a storage medium. The decoding method comprises: determining whether a decoding mode of a node of the current transformation layer enables a cross-component prediction mode; and on the basis of the decoding mode, determining a transformation coefficient of a first attribute component of the current node.
Need to check novelty before this filing date? Find Prior Art

Description

Coding method and device, point cloud coder, code stream, equipment, storage medium TECHNICAL FIELD

[0001] Embodiments of the present application relate to point cloud compression technology, and relate to but are not limited to a coding method and device, a point cloud coder, a code stream, equipment, and a storage medium. BACKGROUND

[0002] A point cloud is a set of discrete points that are irregularly distributed in space and express the spatial structure and surface attributes of a three-dimensional object or scene. Point cloud data generally includes geometry information and attribute information of sampling points; wherein the geometry information includes three-dimensional position information (x, y, z) of the sampling points, and the attribute information includes color information and / or one-dimensional reflectivity information of the sampling points.

[0003] A point cloud can flexibly and conveniently express the spatial structure and surface attributes of a three-dimensional object or scene, and can provide strong realism under the premise of ensuring accuracy because the point cloud is obtained by directly sampling a real object, so it is widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs. Therefore, it is meaningful to enhance the coding efficiency of point clouds.

[0004] SUMMARY

[0005] The coding method and device, point cloud coder, code stream, equipment, and storage medium provided by the embodiments of the present application aim to enhance the attribute coding efficiency of point clouds. The coding processing method and device, point cloud coder, code stream, equipment, and storage medium provided by the embodiments of the present application are implemented as follows:

[0006] In a first aspect, the embodiments of the present application provide a decoding method, which is applied to a point cloud decoder, and the method comprises: determining whether a cross-component prediction mode is enabled for a decoding mode of a node of a current transform layer; and determining a transform coefficient of a first attribute component of the current node according to the decoding mode.

[0007] It can be understood that in the decoding method provided by the embodiments of the present application, it is determined whether a cross-component prediction mode is enabled for a decoding mode of a node of a current transform layer; and then a transform coefficient of a first attribute component of the current node is determined according to the decoding mode; in this way, for the node of the current transform layer, the cross-component prediction mode may be enabled or may not be enabled, rather than all nodes of all transform layers of the current point cloud enabling the cross-component prediction mode, so as to save the decoding efficiency.

[0008] In a second aspect, an embodiment of the present application provides an encoding method, the method is applied to a point cloud encoder, and the method comprises the following steps: determining whether an encoding mode of a node of a current transform layer is enabled with a cross-component prediction mode; in the case that the encoding mode is enabled with the cross-component prediction mode, determining residual values of transform coefficients of a first attribute component of the current node; quantizing the residual values of the transform coefficients of the first attribute component of the current node to obtain first quantized values; and writing the first quantized values into a bitstream.

[0009] It can be understood that, in the encoding method provided by the embodiment of the present application, for the node of the current transform layer, the cross-component prediction mode may be enabled or may not be enabled, and not all nodes of all transform layers of the current point cloud are enabled with the cross-component prediction mode, thus being beneficial to saving encoding efficiency.

[0010] In a third aspect, an embodiment of the present application provides a decoding device, which is applied to a point cloud decoder, and the device comprises the following modules: a first determining module configured to determine whether a decoding mode of a node of a current transform layer is enabled with a cross-component prediction mode; and a second determining module configured to determine transform coefficients of a first attribute component of the current node according to the decoding mode.

[0011] In a fourth aspect, an embodiment of the present application provides a point cloud decoder, comprising a first memory and a first processor; wherein the first memory is used to store a computer program capable of running on the first processor; and the first processor is used to execute the decoding method of the first aspect when the computer program is running.

[0012] In a fifth aspect, an embodiment of the present application provides a bitstream, which is generated by the encoding method of the second aspect.

[0013] In a sixth aspect, an embodiment of the present application provides an encoding device, which is applied to a point cloud encoder, and the device comprises the following modules: a third determining module configured to determine whether an encoding mode of a node of a current transform layer is enabled with a cross-component prediction mode; a fourth determining module configured to determine residual values of transform coefficients of a first attribute component of the current node in the case that the encoding mode is enabled with the cross-component prediction mode; a quantizing module configured to quantize the residual values of the transform coefficients of the first attribute component of the current node to obtain first quantized values; and an encoding module configured to write the first quantized values into a bitstream.

[0014] In a seventh aspect, an embodiment of the present application provides a point cloud encoder, comprising a second memory and a second processor; wherein the second memory is used to store a computer program capable of running on the second processor; and the second processor is used to execute the encoding method of the second aspect when the computer program is running.

[0015] In an eighth aspect, an embodiment of the present application provides an electronic device, comprising: a processor adapted to execute a computer program; and a computer readable storage medium having stored therein a computer program, which, when executed by the processor, implements the decoding method of the first aspect, or which, when executed by the processor, implements the encoding method of the second aspect.

[0016] In a ninth aspect, an embodiment of the present application provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, which, when executed, implements the decoding method of the first aspect, or implements the encoding method of the second aspect.

[0017] In a tenth aspect, an embodiment of the present application provides a computer program product comprising a computer program or instructions, which, when executed by a processor, implements the decoding method of the first aspect, or implements the encoding method of the second aspect.

[0018] It should be understood that the general description above and the detailed description below are only exemplary and explanatory, and are not limiting of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0019] The drawings herein are incorporated into and form part of the specification, which illustrate embodiments consistent with the present application and serve to explain the technical solutions of the present application. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0020] The flowcharts shown in the drawings are only exemplary descriptions, and do not necessarily include all contents and operations / steps, nor do they necessarily have to be executed in the order described. For example, some operations / steps can be further divided, and some operations / steps can be combined or partially combined, so the actual execution order can be changed according to the actual situation.

[0021] FIG. 1 is an example diagram of a certain three-dimensional point cloud image;

[0022] FIG. 2 is a partial enlarged view of the three-dimensional point cloud image;

[0023] FIG. 3 is an example diagram of a point cloud image;

[0024] FIG. 4 is a data storage format of the point cloud image shown in FIG. 3;

[0025] FIG. 5 is a structural schematic diagram of a point cloud encoder in an MPEG G-PCC attribute coding framework;

[0026] FIG. 6 is a structure of a point cloud decoder in an MPEG G-PCC attribute coding framework;

[0027] FIG. 7 is a plane schematic diagram of a node;

[0028] FIG. 8 is a node coding order schematic diagram of a node;

[0029] FIG. 9 is an example diagram one of plane identification;

[0030] FIG. 10 is an example diagram two of plane identification;

[0031] FIG. 11 is an IDCM coding schematic diagram;

[0032] FIG. 12 is a geometry information reconstruction schematic diagram in a block;

[0033] FIG. 13 is a flowchart of G-PCC attribute prediction;

[0034] FIG. 14 is a schematic diagram of a Region Adaptive Hierarchical Transform (RAHT) transform process along x, y, z three directions;

[0035] FIG. 15 is a schematic diagram of a RAHT transform structure;

[0036] FIG. 16 is a schematic diagram of a RAHT forward transform process;

[0037] FIG. 17 is a schematic diagram of a RAHT inverse transform process;

[0038] FIG. 18 is a schematic diagram of an attribute coding block structure;

[0039] FIG. 19 is a schematic diagram of a whole flow of a RAHT attribute prediction transform coding;

[0040] FIG. 20 is a schematic diagram of a neighbor prediction relationship of a current block;

[0041] FIG. 21 is a schematic diagram of an attribute transform coefficient calculation process;

[0042] FIG. 22 is a schematic diagram of an implementation flow of a decoding method provided by an embodiment of the present application;

[0043] FIG. 23 is a schematic diagram of a further implementation flow of step 2201 provided by an embodiment of the present application;

[0044] FIG. 24 is a schematic diagram of a RAHT transform layer provided by an embodiment of the present application;

[0045] FIG. 25 is a schematic diagram of a further implementation flow of step 2202 provided by an embodiment of the present application;

[0046] FIG. 26 is a further implementation flowchart of step 2202 according to an embodiment of the present application;

[0047] FIG. 27 is a further implementation flowchart of step 2602 according to an embodiment of the present application;

[0048] FIG. 28 is an implementation flowchart of an encoding method according to an embodiment of the present application;

[0049] FIG. 29 is a further implementation flowchart of step 2801 according to an embodiment of the present application;

[0050] FIG. 30 is a structural diagram of a decoding apparatus according to an embodiment of the present application;

[0051] FIG. 31 is a structural diagram of an encoding apparatus according to an embodiment of the present application;

[0052] FIG. 32 is a structural diagram of a point cloud decoder according to an embodiment of the present application;

[0053] FIG. 33 is a structural diagram of a point cloud encoder according to an embodiment of the present application. DETAILED DESCRIPTION

[0054] To make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the specific technical solutions of the present application will be further described in detail below with reference to the drawings in the embodiments of the present application. The following embodiments are used to describe the present application, but do not limit the scope of the present application.

[0055] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description herein is for describing the embodiments of the present application only and is not intended to limit the present application.

[0056] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0057] A point cloud is a discrete point set in a three-dimensional space, and these points contain geometric information for representing spatial positions and attribute information for representing the appearance texture of the point cloud. FIG. 1 is an example diagram of a three-dimensional point cloud image, and FIG. 2 is a local enlarged view of the three-dimensional point cloud image. As can be seen, the surface of the point cloud is composed of densely distributed points.

[0058] A two-dimensional image has information expressed at each pixel point, and the distribution is regular, so it does not need to record the position information additionally; however, the distribution of points in a point cloud in a three-dimensional space has randomness and irregularity, so the position of each point in the space needs to be recorded to completely express a point cloud. Similar to a two-dimensional image, each position in the collection process has corresponding attribute information, which is usually an RGB color value, and the color value reflects the color of the object. For a point cloud, the attribute information corresponding to each point, in addition to color, also includes reflectance, which reflects the surface material of the object. Therefore, a point cloud usually includes geometric information composed of three-dimensional position information (x, y, z) and attribute information such as three-dimensional color information (r, g, b) and one-dimensional reflectance information (r). FIG. 3 is an example of a point cloud image, and FIG. 4 is a data storage format of the point cloud image shown in FIG. 3. In FIG. 3, six viewing angles of the point cloud image are provided; and in FIG. 4, the data storage format is composed of a header information part and a data part, the header information includes data format, data representation type, total number of points of the point cloud, and content represented by the point cloud, such as the point cloud in this example is in “.ply” format, represented by ASCII code, with a total of 207242 points, and each point has three-dimensional position information (x, y, z) and three-dimensional color information (r, g, b).

[0059] A point cloud can flexibly and conveniently express the spatial structure and surface attribute of a three-dimensional object or scene, and because the point cloud is obtained by directly sampling a real object, it can provide strong realism under the premise of ensuring accuracy, and thus is widely applied, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free-viewpoint broadcasting, three-dimensional immersive remote presentation, three-dimensional reconstruction of biological tissues and organs, and the like.

[0060] The collection of a point cloud mainly has the following ways: computer generation, 3D laser scanning, and 3D photogrammetry. A computer can generate a point cloud of a virtual three-dimensional object and scene; 3D laser scanning can obtain a point cloud of a static real-world three-dimensional object or scene, and can obtain a million-level point cloud per second; and 3D photogrammetry can obtain a point cloud of a dynamic real-world three-dimensional object or scene, and can obtain a ten-million-level point cloud per second. These technologies reduce the cost and time period of obtaining point cloud data, and improve the accuracy of the data. The change in the way of obtaining point cloud data makes it possible to obtain a large amount of point cloud data, and along with the growth of application demand, the processing of massive 3D point cloud data encounters the bottleneck of storage space, transmission bandwidth, and coding and decoding efficiency.

[0061] In the point cloud G-PCC encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately.

[0062] Fig. 5 is a structural diagram of a point cloud encoder in an MPEG G-PCC attribute coding framework. As shown in Fig. 5, in the geometry coding process, coordinate conversion is performed on the geometry information, so that all the point clouds are contained in a bounding box (Bounding Box), and then quantization is performed. The quantization mainly plays a role of scaling. Due to the quantization rounding, the geometry information of a part of the point clouds is the same, and then it is determined based on the parameters whether to remove the repeated points. The quantization and the removal of the repeated points are also called the voxelization process. Then, octree division or prediction tree construction is performed on the Bounding Box. In the process, arithmetic coding is performed on the points in the divided leaf nodes, to generate a binary geometry bitstream; or, arithmetic coding is performed on the vertices generated by the division (surface fitting is performed based on the vertices), to generate a binary geometry bitstream. In the attribute coding process, after the geometry coding is completed and the geometry information is reconstructed, color conversion is performed, to convert the color information (i.e., attribute information) from an RGB color space to a YUV color space. Then, the point cloud is recolored based on the reconstructed geometry information, so that the uncoded attribute information corresponds to the reconstructed geometry information. The attribute coding is mainly performed on the color information. In the color information coding process, there are mainly two transformation methods, one is a distance-based lifting transformation depending on a level of detail (LOD) division, and the other is a region adaptive hierarchal transform (RAHT). Both the two methods convert the color information from a spatial domain to a frequency domain, obtain high-frequency coefficients and low-frequency coefficients through the transformation, and finally quantize the coefficients to obtain quantized coefficients; then, arithmetic coding is performed on the quantized coefficients, to generate a binary attribute bitstream.

[0063] Fig. 6 is a structure of a point cloud decoder in the MPEG G-PCC attribute coding framework. As shown in Fig. 6, for the obtained binary bitstream, first, the geometry bitstream and the attribute bitstream in the binary bitstream are independently decoded. In the decoding of the geometry bitstream, arithmetic decoding-reconstruction of the octree / reconstruction of the prediction tree-reconstruction of the geometry-coordinate inverse conversion are performed, to obtain the geometry information of the point cloud; in the decoding of the attribute bitstream, arithmetic decoding-inverse quantization-LOD division / RAHT-color inverse conversion are performed, to obtain the attribute information of the point cloud, based on which the point cloud data to be coded (i.e., the output point cloud) is restored. The attribute bitstream and the geometry bitstream shown in Fig. 5 and Fig. 6 can be understood as a point cloud code stream or a code stream.

[0064] As shown in Fig. 5 or Fig. 6, the geometry coding of the MPEG G-PCC can be divided into octree-based geometry coding (identified by a dashed box) and prediction tree-based geometry coding (identified by a dot-dashed box).

[0065] It should be noted that the point cloud encoder and the point cloud decoder shown in FIG. 5 and FIG. 6 are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. It is known to those of ordinary skill in the art that, with the evolution of the point cloud encoder and the point cloud decoder and the appearance of new service scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0066] First, the geometric information coding will be introduced as follows.

[0067] Octree-based geometry coding: First, coordinate conversion is performed on the geometric information, so that all the point clouds are contained in a bounding box. Then quantization is performed, which mainly plays a role in scaling. Due to quantization rounding, the geometric information of a part of the points is the same, and whether to remove the duplicate points is determined according to the parameters. This process of quantization and duplicate point removal is also called voxelization process. Next, the bounding box is continuously divided into a multi-tree (octree / quaternary tree / binary tree) in the order of breadth-first traversal, and the occupancy code of each node is encoded. For example, the implicit geometry division method calculates the bounding box of the point cloud Assuming that the bounding box corresponds to a cuboid d x >d y >d z In the geometry division, first, the binary tree is divided based on the x-axis to obtain two child nodes; until the condition d x =d y >d z is met, the quaternary tree is divided based on the x and y axes to obtain four child nodes; when the condition d x =d y =d z is finally met, the octree is continuously divided until the leaf node obtained by the division is a 1x1x1 unit cube, and the points in the leaf node are encoded to generate a binary code stream. In the division process based on the binary tree / quaternary tree / octree, two parameters K and M are introduced. Parameter K indicates the maximum number of times of binary tree / quaternary tree division before octree division; and parameter M is used to indicate the minimum block edge length corresponding to the binary tree / quaternary tree division, which is 2 M . At the same time, K and M must satisfy the condition: assuming d max =max(d x ,d y ,d z ), d min =min(d x ,d y ,d z), parameter K satisfies: K >= d max -d min ; parameter M satisfies: M >= d min The parameters K and M satisfy the above conditions because the priority of the partition mode in the current G-PCC in the process of geometric implicit partition is binary tree, quad tree and octree. When the node block size does not satisfy the condition of binary tree / quad tree, the octree partition is performed on the node until the leaf node of the minimum unit 1x1x1 is reached. The geometric information coding mode based on octree can effectively encode the geometric information of the point cloud by utilizing the correlation between the adjacent points in the space. For some relatively flat nodes or nodes with plane characteristics, the coding efficiency of the point cloud geometric information can be further improved by utilizing the plane coding.

[0068] As shown in FIG. 7, the (a) series (a0-a3) belongs to the low plane position in the Z-axis direction, and the (b) series (b0-b3) belongs to the high plane position in the Z-axis direction. Taking (a) as an example, as shown in FIG. 7, it can be seen that the four occupied sub-nodes in the current node are located in the low plane position of the current node in the Z-axis direction, so it can be considered that the current node belongs to a Z plane and is a low plane in the Z-axis direction. Similarly, (b) represents that the occupied sub-nodes in the current node are located in the high plane position of the current node in the Z-axis direction. Taking (a) as an example below, the efficiency of octree coding and plane coding is compared.

[0069] According to the coding order of 0-7 shown in FIG. 8, if the octree coding mode is adopted for (a) in FIG. 7, the occupancy information of the current node is represented as: 11001100. If the plane coding mode is adopted, first, an identifier needs to be coded to represent that the current node is a plane in the Z-axis direction and the plane position of the current node needs to be represented; second, only the occupancy information of the low plane node in the Z-axis direction needs to be coded (i.e., the occupancy information of the four sub-nodes 0246). Therefore, 6 bits need to be coded for the current node based on the plane coding mode, which can reduce 2 bits compared with the original octree coding mode. Based on this analysis, the plane coding mode has obvious coding efficiency compared with the octree coding mode. For an occupied node, if the plane coding mode is adopted in a certain dimension, first, the plane identifier and the plane position information of the current node in the dimension are represented, and then the occupancy information of the current node is coded based on the plane information of the current node. FIG. 9 and FIG. 10 are example diagrams of the plane identifier.

[0070] It should be noted that: PlaneMode i(i=0, 1, 2): 0 means the current node is not a plane in i-axis direction. If the current node is a plane in i-axis direction (i.e. PlaneMode i (i=0, 1, 2): 1), PlanePosition i : 0 means the current node is a low plane in i-axis direction, and the plane position is PlanePosition i : 1 means the current node is a high plane in i-axis direction.

[0071] The octree-based geometry information coding mode has high compression efficiency for points with strong correlation in space, but for points in isolated positions in the geometry space, using the DCM coding mode can improve compression efficiency while reducing coding complexity to some extent. For all nodes in the octree, the use of DCM is not indicated by flag information, but is inferred from the parent node and neighbor information of the current node. There are three ways to determine whether the current node has DCM coding qualifications. Figure 11 is an IDCM coding schematic diagram, as shown in Figure 11:

[0072] (1) The current node has no siblings (i.e. the parent node of the current node has only one child node), and the parent node of the current node has only two occupied child nodes (i.e. the current node has at most one neighbor node).

[0073] (2) The parent node of the current node has only one occupied child node, and the six neighbor nodes that share a face with the current node are all empty nodes.

[0074] (3) The number of siblings of the current node is greater than 1.

[0075] If the current node does not have DCM coding qualifications, it will be divided into an octree, and if it has DCM coding qualifications, it will further determine the number of points contained in the node: when the number of points is less than a threshold value 2 (i.e. indicating that the current node is a real isolated point), the node is coded using DCM; otherwise, the octree division will continue. When the DCM coding mode is applied, first, an identification bit (i.e. IDCM_flag) needs to be coded to indicate whether the current node is a real isolated point. When IDCM_flag is true, the current node uses DCM coding mode; otherwise, the current node still uses octree coding mode. When the current node meets the DCM coding condition, the DCM coding mode of the current node needs to be coded. There are two DCM coding modes at present, which are: 1) only one point exists (or multiple points exist, but they are duplicate points); 2) contains two points. Secondly, the geometry information of each point needs to be coded. Assuming that the edge length of the node is 2 dAt this time, d bits are needed when encoding each component of the geometric coordinates of the node, and the bit information is directly encoded into the code stream. It should be noted that when encoding the lidar point cloud, the three-dimensional coordinate information is predicted and encoded by using the lidar acquisition parameters, so that the encoding efficiency of the geometric information can be further improved.

[0076] It should be noted that when the node is divided into a leaf node, the number of repeated points in the leaf node needs to be encoded in the case of lossless geometric encoding. Finally, the occupancy information of all nodes is encoded to generate a binary code stream.

[0077] Based on the octree-based geometric decoding, the decoding end will use the reconstructed geometric information to determine whether the current node is subjected to plane decoding or IDCM decoding in the order of breadth-first traversal before decoding the occupancy information of each node. If the current node meets the conditions of plane decoding, the plane identifier and plane position information of the current node will be decoded, and the occupancy information of the current node will be decoded based on the plane identifier and the plane position information. If the current node meets the conditions of IDCM decoding, IDCM_flag needs to be further analyzed to determine whether the current node is a real IDCM node. If IDCM_flag: 1, it indicates that the current node is a real IDCM node, then the DCM decoding mode of the current node is continued to be analyzed, the number of points in the current DCM node can be obtained, and finally the geometric information of each point is decoded. For the node that does not meet the plane decoding mode and the DCM decoding mode, the occupancy information of the current node is decoded. In this way, the occupancy code of each node is continuously analyzed, and the nodes are continuously divided in sequence until the 1x1x1 unit cube is obtained, the number of points contained in each leaf node is analyzed, and finally the geometric reconstruction point cloud information is recovered.

[0078] In the geometric information encoding framework based on trisoup (triangle soup, triangle soup), geometric division also needs to be performed first, but unlike the geometric information encoding based on binary tree / quaternary tree / octree, this method does not need to divide the point cloud to a unit cube with an edge length of 1x1x1, but stops dividing when the edge length of the block (sub-block) is W. Based on the surface formed by the distribution of the points in each block, at most twelve vertices (intersection points) generated by the twelve edges of the block are obtained. The vertex coordinates of each block are sequentially encoded to generate a binary code stream.

[0079] When reconstructing the point cloud geometry information at the decoding end, the vertex coordinates are first decoded to complete the triangle patch reconstruction, as shown in FIG. 12. In block 1201, there are three vertices (v1, v2, v3), and a triangle patch set formed by the three vertices in a certain order is called triangle soup, that is, trisoup 1202. Then, sampling is performed on the triangle patch set, and the obtained sampling points are used as the reconstructed point cloud in the block, as shown in the newly added sampling points in 1203.

[0080] Geometry coding based on prediction tree: First, the input point cloud is sorted, and the sorting methods include unordered, Morton order, azimuth angle order, and radial distance order. At the encoding end, the prediction tree structure is established by using two different ways, including the KD-Tree mode of high latency and slow speed and the laser radar calibration mode of low latency and fast speed (that is, by using the laser radar calibration information, each point is divided into different Lasers, and the prediction structure is established according to different Lasers). Next, based on the prediction tree structure, each node in the prediction tree is traversed, the geometry position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometry prediction residual is quantized by using the quantization parameter. Finally, by continuously iterating, the prediction residual of the position information of the prediction tree node, the prediction tree structure, and the quantization parameter are encoded to generate a binary code stream.

[0081] Geometry decoding based on prediction tree: At the decoding end, the prediction tree structure is first reconstructed by continuously analyzing the code stream; second, the geometry position prediction residual information and the quantization parameter of each prediction node are obtained by analyzing the code stream, and the prediction residual is dequantized; the reconstructed geometry position information of each node is recovered, and finally the geometry reconstruction at the decoding end is completed.

[0082] After the geometry coding is completed, the geometry information is reconstructed. The attribute coding is mainly for color information. First, the color information is converted from the RGB color space to the YUV color space. Then, the point cloud is recolored by using the reconstructed geometry information, so that the uncoded attribute information corresponds to the reconstructed geometry information. In color information coding, there are mainly two transformation methods, one is distance-based promotion transformation depending on LOD (Level of Detail) division, and the other is RAHT (Region Adaptive Hierarchal Transform) transformation. Both of these two methods convert the color information from the spatial domain to the frequency domain, obtain the high-frequency coefficient and the low-frequency coefficient through transformation, and finally quantize and encode the coefficients to generate a binary code stream.

[0083] In the prediction of attribute information using geometry information, the nearest neighbor search can be performed using the Morton code. The Morton code corresponding to each point in the point cloud can be obtained from the geometry coordinates of the point. After obtaining the Morton code M of each point in the point cloud, the points in the point cloud are arranged in order of the Morton code from small to large. The specific calculation method of the Morton code is described as follows:

[0084] 1) For a three-dimensional coordinate represented by a d-bit binary number for each component, the three components can be represented as:

[0085] where x l ,y l ,z l ∈{0,1} are binary values corresponding to the highest bit (l=1) to the lowest bit (l=d) of x, y, and z, respectively.

[0086] 2) The Morton code M is obtained by sequentially arranging x l ,y l ,z l from the highest bit to the lowest bit, and the calculation formula of M is as follows:

[0087] where m l′ ∈{0,1} are values of the highest bit (l'=1) to the lowest bit (l'=3d) of M, respectively.

[0088] The current G-PCC coding framework includes three attribute coding methods: predicting transform (PT), lifting transform (LT), and region adaptive hierarchical transform (RAHT). The first two are based on the generation order of LOD to predict and encode the point cloud, and RAHT is based on the construction level of octree to adaptively transform the attribute information from bottom to top.

[0089] The prediction coding process of the attribute information of the point cloud is described as follows.

[0090] FIG. 13 is a flowchart of G-PCC attribute prediction. As shown in FIG. 13, the attribute of the current point is predicted based on the attribute reconstruction value of the three nearest neighbors of the current point; the prediction residual of the current point is determined according to the attribute prediction value of the current point and the original attribute value of the current point; and the prediction residual is quantized and arithmetically encoded to obtain the attribute code stream.

[0091] Attribute prediction residual and quantization:

[0092] The attribute prediction value of the current point i is obtained by the above prediction (k is the total number of points in the point cloud). Let (a i ) i∈0…k-1 is the original attribute value of the current point, then the prediction residual (r i ) i∈0…k-1 is denoted as:

[0093] Further quantize the prediction residual:

[0094] In the formula, Q i represents the quantized prediction residual of the current point i, and Qs is the quantization step (Quantization step, Qs), which can be calculated from the quantization parameter QP (Quantization Parameter, QP). The specific calculation formula is as follows:

[0095] Reconstruct the attribute value at the encoding end:

[0096] The purpose of the encoding end reconstruction is to predict the subsequent points. Before reconstructing the attribute value, the residual is dequantized, denoted as is the dequantized residual:

[0097] is added to the prediction value to obtain the reconstructed value of point i

[0098] Region Adaptive Hierarchical Transform (RAHT) is a Haar wavelet transform that can transform point cloud attribute information from spatial domain to frequency domain, further reducing the correlation between point cloud attributes. The main idea is: according to the octree structure, the nodes in each layer are transformed from x, y, z three dimensions in a bottom-up manner (as shown in Figure 14), and iteration is performed until the root node of the octree. As shown in Figure 15, the basic idea is to perform wavelet transform based on the hierarchical structure of the octree, associate the attribute information with the octree nodes, recursively transform the attributes of the occupied nodes in the same parent node in a bottom-up manner, transform the nodes in each layer from x, y, z three dimensions, and continue to transform until the root node of the octree is reached. In the process of hierarchical transform, the low-pass (DC) coefficients obtained after transforming the nodes in the same layer are passed to the nodes in the next layer for further transformation, and all high-pass (AC) coefficients are encoded by an arithmetic encoder. In Figure 15, g represents the low-frequency coefficient, and h represents the high-frequency coefficient. At the encoding end, the low-frequency coefficient g 0,0 and the high-frequency coefficient h 0,0As shown in Figure 15, the RAHT forward transform and the RAHT inverse transform are relative. Both the RAHT forward transform and the RAHT inverse transform can be called RAHT transforms. The difference is that the transformation processes of the two are opposite.

[0099] During the transformation process, the DC coefficients (direct current components) of the transformed nodes at the same layer are passed to the previous layer for further transformation, while the AC coefficients (alternating current components) of each layer are quantized and encoded. The following describes the main transformation processes.

[0100] Figure 16 is a schematic diagram of the process of a RAHT forward transformation, and Figure 17 is a schematic diagram of the process of a RAHT inverse transformation. Assume that g′ L,2x,y,z and g′L,2x+1,y,z are the DC coefficients of two neighboring points in the L layer. After linear transformation, the information of the L-1 layer is the AC coefficient f′ L-1,x,y,z and DC coefficient g′ L-1,x,y,z , f′ L-1,x,y,z No more transformation will be performed, and quantization coding will be performed directly, g′ L-1,x,y,z The next neighbor will continue to be searched for transformation. If no neighbor is found, it will be directly passed to the L-2 layer. That is, the RAHT transformation is only valid for nodes with neighbor points; nodes without neighbor points will be directly passed to the previous layer. In the above transformation process, g′ L,2x,y,z The weights (the number of non-empty child nodes in the node) corresponding to g′L, 2x+2, y, and z are w′ respectively. L,2x,y,z and w′L,2x+1,y,z (abbreviated as w′0 and w′1), g′ L-1,x,y,z The weight is w′ L-1,x,y,z , then the general transformation formula is:

[0101] Where T w0,w1 is the transformation matrix:

[0102] The transformation matrix will be updated as the weights corresponding to each point change adaptively. The above process will be iterated and updated continuously according to the partitioning structure of the octree until the root node of the octree is reached.

[0103] Region adaptive hierarchical intra prediction transform coding is described as follows.

[0104] Region Adaptive Hierarchical Prediction Transform Coding, is based on the RAHT transform coding to make prediction. As shown in Figure 18, RAHT attribute transform is based on the order of octree level, and the transform is carried out from the voxel level to the root node, so as to complete the entire attribute hierarchical transform coding. In the prediction transform coding, the attribute prediction transform coding is also based on the order of octree level, but the transform is carried out from the root node to the voxel level. In each RAHT attribute transform process, the attribute prediction transform coding is based on 2x2x2 block.

[0105] As shown in Figure 18, it can be seen that the grid filled block is the current block to be encoded, and the diagonal line filled block is some neighbor block which is coplanar and collinear with the current block to be encoded. Among them, the attribute of the current block is normalized by the following way: a node =A node / w node

[0106] Firstly, the attribute of the current block can be obtained by the attribute of the point contained in the current block, that is, A node The attribute of the current block is normalized by the following way: secondly, the mean value a node of the attribute of the current block is obtained by using the attribute of the current block and the number of points in the current block; and the attribute transform coding is carried out by using the mean value of the attribute of the current block. The specific coding process is shown in Figure 19.

[0107] As shown in Figure 19, it is the overall process of RAHT attribute prediction transform coding. In Figure 12, (d) is the attribute of the current block, (e) is the predicted block attribute obtained by using the linear weighted fitting of the neighbor attribute of the current block, and finally the two are subjected to attribute transform to obtain DC and AC coefficients, and the AC coefficients are subjected to prediction coding.

[0108] Among them, the predicted attribute of the current block is obtained by using linear fitting as shown in Figure 20. As shown in Figure 20, firstly, 19 neighbor blocks of the current block are obtained, and then the attribute of each sub-block is linearly weighted predicted by using the spatial geometric distance between the neighbor blocks and each sub-block of the current block, and finally the predicted block attribute obtained by linear weighting is transformed. As shown in Figure 20, firstly, 19 neighbor blocks of the current block are obtained, and then the attribute of each sub-block is linearly weighted predicted by using the spatial geometric distance between the neighbor blocks and each sub-block of the current block, and finally the predicted block attribute obtained by linear weighting is transformed.

[0109] The specific attribute transform is shown in Figure 21, wherein (d) in Figure 21 represents the attribute original value, and the corresponding attribute transform coefficient is shown in the following formula:

[0110] Figure 21 (e) shows the attribute prediction value, and the corresponding attribute transform coefficient is shown in the following formula:

[0111] According to the attribute original value and the attribute prediction value, the prediction residual can be obtained by subtraction, as shown in the following formula:

[0112] The following describes the region adaptive hierarchical inter-prediction transform coding scheme.

[0113] In the G-PCC attribute inter-prediction coding, if the inter-prediction coding is started, the RAHT attribute transform coding structure will be constructed based on the geometry information of the current node to be coded, that is, the node merging is continuously performed at the voxel level until the root node of the entire RAHT transform tree is obtained, so as to obtain the transform coding hierarchical structure of the attribute. According to the RAHT transform structure, the N child nodes (N is less than or equal to 8) of each node are obtained by dividing from the root node. In the inter-prediction coding scheme, the RAHT transform is used to independently orthogonalize the attributes of the N child nodes to obtain the DC and AC coefficients. The AC coefficients of the N child nodes are predicted in the following manner:

[0114] (1) The inter-prediction node of the current node is valid: that is, the homopolar node exists, and the attribute of the prediction node is directly taken as the attribute prediction value of the current node to be coded.

[0115] (2) The current node can find a node with the same position in the cache of the reference frame: that is, the homopolar node exists, and the AC coefficients of the M child nodes contained in the homopolar node are directly taken as the AC coefficient attribute prediction value of the N child nodes of the current node.

[0116] If the AC coefficient of the prediction node is not zero: the AC coefficient of the prediction node is directly taken as the prediction value;

[0117] If the AC coefficient of the prediction node is zero, the AC coefficient of the corresponding child node of the intra-prediction is taken as the prediction value.

[0118] (3) The inter-prediction node of the current node is invalid: that is, the homopolar node does not exist, and the attribute prediction value of the intra-adjacent node is used as the attribute prediction value of the node to be coded.

[0119] On this basis, the existing RAHT inter-coding will select the best RAHT coding mode for each layer: intra-prediction coding or inter-prediction coding. When the cost of the intra-prediction coding mode is less than the cost of the inter-prediction coding mode, the RAHT intra-prediction is performed for the current layer, otherwise the RAHT inter-prediction is performed.

[0120] General test conditions for GPCC

[0121] 1) Test conditions: 4 in total

[0122] Condition 1: Geometric position lossy, attribute lossy

[0123] Condition 2: Geometric position lossless, attribute lossy

[0124] Condition 3: Geometric position lossless, attribute lossy

[0125] Condition 4: Geometric position lossless, attribute lossless

[0126] 2) General test sequence includes Cat1A, Cat1B, Cat3-fused, Cat3-frame, of which Cat2-frame point cloud only contains reflectance attribute information, Cat1A and Cat1B point cloud only contains color attribute information, and Cat3-fused point cloud contains both color and reflectance attribute information.

[0127] 3) Technical route: 2 in total, distinguished by the algorithm used for geometric compression.

[0128] Technical route 1: Octree encoding branch:

[0129] At the encoding end, the bounding box is divided into sub-cubes in turn, and the non-empty (containing points in the point cloud) sub-cubes are further divided until the leaf nodes obtained by division are 1x1x1 unit cubes, at which point the division stops. In the case of geometric lossless encoding, the number of points contained in the leaf nodes needs to be encoded, and finally the geometric octree encoding is completed to generate a binary code stream.

[0130] At the decoding end, the decoder parses the occupancy code of each node in breadth-first traversal order, and continuously divides the nodes until 1x1x1 unit cubes are obtained, at which point the division stops. In the case of geometric lossless decoding, the number of points contained in each leaf node needs to be parsed, and finally the geometric reconstructed point cloud information is recovered.

[0131] Technical route 2: Prediction tree encoding branch:

[0132] At the encoding end, two different ways are used to establish the prediction tree structure, including KD-Tree (high latency and slow mode) and using laser radar calibration information to divide each point into different lasers, and then establishing a prediction structure according to different lasers (low latency and fast mode). Next, based on the structure of the prediction tree, each node in the prediction tree is traversed, the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized using a quantization parameter. Finally, by continuously iterating, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameter are encoded to generate a binary code stream.

[0133] At the decoding end, the decoder first reconstructs the prediction tree structure by continuously parsing the code stream. Then, the geometric position prediction residual information and the quantization parameter of each prediction node are obtained by parsing the code stream, and the prediction residual is dequantized. The reconstructed geometric position information of each node is recovered, and the geometric reconstruction at the decoding end is finally completed.

[0134] In the related G-PCC attribute RAHT intra coding, whether to perform cross-component prediction on the last component (Chroma Cr) is determined according to (last_component_prediction_enable_flag) in the high-level aps syntax element. The specific coding algorithm is described above in the introduction of attribute information coding. If cross-component prediction coding is enabled, the RAHT layer is used as the coding unit, and the N (N=128) reconstructed coefficients that have been reconstructed are used to fit the linear relationship between the Chroma Cb and the Chroma Cr. Finally, the linear relationship is used to perform cross-component prediction on the last component Chroma Cr, so as to further improve the attribute information coding efficiency of the point cloud.

[0135] However, the coding scheme does not consider the distribution characteristics of the node attribute information of each RAHT layer coding unit, but directly determines whether the attribute cross-component prediction coding scheme is started at the sequence level. When the cross-component prediction coding is started, the reconstructed N attribute information is used to fit the linear relationship between different components in the RAHT layer as the coding unit. The coding scheme does not utilize the attribute distribution characteristics of the current node, thereby resulting in low coding efficiency of the attribute information. Based on the above problems, a new cross-component coding scheme is introduced in the embodiments of the present application, which can be applied to intra-frame coding and inter-frame coding. Specifically, the RAHT layer is also taken as the coding unit, and two coding modes, cross-component prediction and non-cross-component prediction, are introduced for each RAHT layer coding unit. Each RAHT layer coding unit can use intra-frame prediction, inter-frame prediction, and non-prediction. Before coding the AC coefficients of different RAHT layer coding units, the rate-distortion optimization algorithm is used at the encoding end to obtain the optimal coding mode of the current RAHT coding layer, that is, cross-component prediction coding and non-cross-component prediction coding. Finally, the optimal coding mode of the current RAHT coding layer is transmitted to the decoding end, and the decoding end uses the decoding mode of the current layer RAHT to reconstruct the AC coefficients of the current layer, thereby completing the entire attribute RAHT decoding and finally improving the coding efficiency of the attribute RAHT.

[0136] Based on the above analysis, the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0137] The embodiments of the present application provide a decoding method, which can be applied to a point cloud decoder. FIG. 22 is a flowchart of the implementation of the decoding method provided by the embodiments of the present application. As shown in FIG. 22, the method includes the following steps 2201 and 2202:

[0138] Step 2201: Determine whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode.

[0139] Step 2202: According to the decoding mode, determine the transform coefficient of the first attribute component of the current node.

[0140] It can be understood that in the decoding method provided by the embodiments of the present application, it is determined whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode, and then according to the decoding mode, the transform coefficient of the first attribute component of the current node is determined. Thus, for the node of the current transform layer, the cross-component prediction mode can be enabled or not, rather than all nodes of all transform layers of the current point cloud enabling the cross-component prediction mode, thereby saving the decoding efficiency.

[0141] The further optional implementation and related terms of each of the above steps are described below.

[0142] In step 2201, it is determined whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode.

[0143] In the embodiments of the present application, the level of selection of whether to enable the cross-component prediction mode is not limited, which can be hierarchical or node-level. In some embodiments, the decoding mode of the node of the current transform layer in step 2201 can be valid for all nodes of the current transform layer, can be valid for a node group in which the current node is located, or can be valid for the current node; wherein the number of nodes of the node group is greater than or equal to 1 and less than or equal to the number of nodes of the current transform layer.

[0144] That is, for step 2201, in embodiment 1, it is determined whether the decoding mode of all nodes of the current transform layer enables the cross-component prediction mode. That is, for the current transform layer, the cross-component prediction mode can be enabled or can not be enabled. Whether to enable the cross-component prediction mode is limited to the transform layer level, so that for all transform layers of the current point cloud, only part of the transform layers can use the cross-component prediction mode, rather than all transform layers enabling the cross-component prediction mode; in this way, it is beneficial to improve the coding efficiency.

[0145] For step 2201, in embodiment 2, it is determined whether the decoding mode of the current node group of the current transform layer enables the cross-component prediction mode; wherein the current node group refers to the node group in which the current node is located. That is, for the current node group of the current transform layer, the cross-component prediction mode can be enabled or can not be enabled. Compared with enabling the cross-component prediction mode for all nodes of the entire transform layer and enabling the cross-component prediction mode for all transform layers of the current point cloud, embodiment 2 can further improve the coding efficiency.

[0146] For step 2201, in embodiment 3, it is determined whether the decoding mode of the current node of the current transform layer enables the cross-component prediction mode. For each node of the current transform layer, mode selection can be performed, which can enable the cross-component prediction mode or can not enable the cross-component prediction mode, so as to further improve the coding efficiency.

[0147] In the embodiments of the present application, how to implement step 2201 is not limited, that is, the determination method of the decoding mode of the node of the current transform layer is not limited, which can be based on a syntax element in a code stream or implicitly derived to determine whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode.

[0148] Specifically, in some embodiments, step 2201 can be implemented by decoding the bitstream to determine a first syntax element, the first syntax element being used to indicate whether a cross-component prediction mode is enabled for a decoding mode of the current transform layer; and determining the decoding mode of the current node according to the first syntax element.

[0149] Exemplarily, in some embodiments, the first syntax element has a first value or a second value; wherein the first value is used to indicate that the cross-component prediction mode is enabled for the current transform layer; and the second value is used to indicate that the cross-component prediction mode is not enabled for the current transform layer.

[0150] Further, in some embodiments, the first syntax element is also used to indicate that the current transform layer enables an intra prediction mode, an inter prediction mode or a transform mode. That is, in this embodiment, the first syntax element can indicate to enable any one of the following decoding modes 1 to 6:

[0151] Decoding mode 1: the intra prediction mode and the cross-component prediction mode;

[0152] Decoding mode 2: the inter prediction mode and the cross-component prediction mode;

[0153] Decoding mode 3: the transform mode and the cross-component prediction mode;

[0154] Decoding mode 4: the intra prediction mode and the non-cross-component prediction mode;

[0155] Decoding mode 5: the inter prediction mode and the non-cross-component prediction mode;

[0156] Decoding mode 6: the transform mode and the non-cross-component prediction mode.

[0157] It should be noted that the non-cross-component prediction mode refers to the cross-component prediction mode being not enabled. The value of the first syntax element is different, and the indicated decoding mode is different. It should be understood that the first syntax element is valid for the current transform layer, i.e., the decoding modes of all nodes of the current transform layer are the same.

[0158] It can be understood that this method of directly indicating the decoding mode through the first syntax element is an explicit indication method. Of course, step 2201 can also be implemented by an implicit derivation method. For example, step 2201 can be implemented by embodiment 4, embodiment 5, embodiment 6 or embodiment 7 as follows.

[0159] In embodiment 4, as shown in FIG. 23, step 2201 can be implemented by the following steps 2301 to 2303:

[0160] Step 2301, decoding the bitstream to determine a second syntax element, the second syntax element being used to indicate a first threshold value;

[0161] Exemplarily, in some embodiments, the second syntax element can be last_component_prediction_raht_depth, and the value of the syntax element is equal to the first threshold.

[0162] Step 2302, determining the level of the current transform layer.

[0163] In some embodiments, the current transform layer is a RAHT transform layer, and thus the current transform layer can also be referred to as a current RAHT transform layer.

[0164] Further, in some embodiments, the definition of the RAHT transform layer is as shown in FIG. 24, a layer obtained by once down-sampling along the Z direction, the Y direction and the X direction is referred to as a RAHT transform layer.

[0165] Step 2303, determining the decoding mode of all nodes of the current transform layer according to the relationship between the level of the current transform layer and the first threshold.

[0166] For step 2303, further, in some embodiments, in the case that the level of the current transform layer is greater than or equal to a first difference, the decoding mode enables the cross-component prediction mode; wherein the first difference is equal to the level of the root node minus the first threshold. In other embodiments, in the case that the level of the current transform layer is less than the first difference, the decoding mode does not enable the cross-component prediction mode.

[0167] In the embodiments of the present application, the level of the transform layer in which the root node is located is the largest.

[0168] It should be understood that the decoding mode determined by the method shown in FIG. 23 is valid for all nodes of the current transform layer.

[0169] In embodiment 5, for step 2201, it can be implemented as follows: determining the decoding mode of all nodes of the current transform layer according to the number of reconstructed nodes of the current transform layer.

[0170] Further, in some embodiments, in the case that the number of reconstructed nodes of the current transform layer is greater than or equal to a second threshold, the decoding mode enables the cross-component prediction mode. In other embodiments, in the case that the number of reconstructed nodes of the current transform layer is less than the second threshold, the decoding mode does not enable the cross-component prediction mode.

[0171] It should be understood that the decoding mode determined by the method described in embodiment 5 is valid for all nodes of the current transform layer, i.e., the decoding modes of all nodes of the current transform layer are the same.

[0172] In embodiment 6, for the step 2201, the determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode can be implemented as follows: determining the decoding mode of the current node of the current transform layer according to a correlation between the attribute reconstruction value of the first attribute component of the parent node of the current node and the attribute reconstruction value of the first attribute component of the neighboring node of the parent node of the current node.

[0173] Further, in some embodiments, the correlation can be determined according to an error between the attribute reconstruction value of the first attribute component of the parent node of the current node and the attribute reconstruction value of the first attribute component of one or more neighboring nodes of the parent node of the current node. For example, if the error between the attribute reconstruction value of the first attribute component of the parent node of the current node and the attribute reconstruction value of the first attribute component of at least Q neighboring nodes of the parent node of the current node is less than or equal to a first error threshold, it is determined that the decoding mode of the current node of the current transform layer enables the cross-component prediction mode. Otherwise, the decoding mode of the current node does not enable the cross-component prediction mode. For another example, if the error between the attribute reconstruction value of the first attribute component of the parent node of the current node and the average of the attribute reconstruction values of the first attribute components of the neighboring nodes of the parent node of the current node is less than or equal to a second error threshold, it is determined that the decoding mode of the current node of the current transform layer enables the cross-component prediction mode. Otherwise, the decoding mode of the current node does not enable the cross-component prediction mode.

[0174] It should be understood that the method described in embodiment 6 determines the result for the current node of the current transform layer, i.e., determines whether the decoding mode of the current node of the current transform layer enables the cross-component prediction mode.

[0175] In embodiment 7, for the step 2201, the determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode can be implemented as follows: decoding the bitstream to determine a third syntax element, the third syntax element being used to indicate whether the decoding mode of the current node or a node group in which the current node is located enables the cross-component prediction mode; wherein the number of nodes of the node group is greater than or equal to 1 and less than or equal to the number of nodes of the current transform layer; and determining the decoding mode of the current node according to the third syntax element.

[0176] Further, in some embodiments, the third syntax element is further used to indicate that the current node or the node group in which the current node is located enables an intra prediction mode, an inter prediction mode, or a transform mode.

[0177] It should be understood that embodiment 7 actually describes two embodiments, i.e., in one embodiment, the third syntax element is used to indicate whether the decoding mode of the node group enables the cross-component prediction mode, i.e., the decoding mode indicated by the third syntax element is valid for all nodes of the node group, and the decoding modes of all nodes of the same node group are the same. In another embodiment, the third syntax element is used to indicate whether the decoding mode of the current node enables the cross-component prediction mode, i.e., the decoding mode indicated by the third syntax element is valid for the current node, and the decoding modes used by different nodes can be different.

[0178] In step 2202, according to the decoding mode, the transform coefficients of the first attribute component of the current node are determined.

[0179] For the case where the decoding mode enables the cross-component prediction mode, the specific implementation of step 2202 can adopt the following embodiments 8 or 9 or 10.

[0180] In embodiment 8, as shown in FIG. 25, step 2202 can be implemented by the following steps 2501 and 2502:

[0181] Step 2501, in the case where the decoding mode enables the cross-component prediction mode, the prediction value of the transform coefficients of the first attribute component of the current node is determined according to the transform coefficients of the second attribute component of the current node.

[0182] Further, in some embodiments, step 2501 can be implemented as follows: determining a first coefficient, the first coefficient being used to characterize a linear relationship between the transform coefficients of the first attribute component and the transform coefficients of the second attribute component; and determining the prediction value of the transform coefficients of the first attribute component of the current node according to the first coefficient and the transform coefficients of the second attribute component of the current node. For example, the prediction value of the transform coefficients of the first attribute component of the current node is equal to the product of the first coefficient and the transform coefficients of the second attribute component of the current node.

[0183] In the embodiments of the present application, the method for determining the first coefficient is not limited, and the first coefficient can be a predefined value or determined by the following method.

[0184] Specifically, in some embodiments, the first coefficient can be determined as follows: obtaining the transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the decoding mode of the reference node is the cross-component prediction mode; and fitting the linear relationship between the transform coefficients of the first attribute component of the reference node and the transform coefficients of the second attribute component of the reference node to obtain the first coefficient.

[0185] It can be understood that the reference nodes used to fit the linear relationship are all nodes using the cross-component prediction mode, that is, the transform coefficients of the first attribute component of the reference nodes are obtained by using the cross-component prediction mode; in this way, since the transform coefficients of the first attribute component obtained by using the cross-component prediction mode have strong correlation with the transform coefficients of the second attribute component, fitting the linear relationship between the transform coefficients of the first attribute component and the second attribute component based on these transform coefficients can obtain more accurate first coefficients, thereby improving the accuracy of the prediction value of the transform coefficients of the first attribute component of the current node, and further reducing the rate distortion at the decoding end. For the encoding end, the code word overhead can be saved.

[0186] However, the transform coefficients of the first attribute component obtained by not using the cross-component prediction mode have less correlation with the transform coefficients of the second attribute component, and there is a large error between them. If these transform coefficients are involved in the determination of the first coefficients, the error of the first coefficients may be increased, resulting in poor accuracy of the prediction value of the transform coefficients of the first attribute component of the current node.

[0187] On the other hand, only the transform coefficients of the first attribute component and the second attribute component of the reference nodes that enable the cross-component prediction mode are cached, and the transform coefficients of the nodes that do not enable the cross-component prediction mode are not stored, which is beneficial to save the cache overhead.

[0188] Step 2502, determining the transform coefficients of the first attribute component of the current node according to the prediction value of the transform coefficients of the first attribute component of the current node.

[0189] In some embodiments, step 2502 can be implemented as follows: decoding the code stream to obtain a first quantized value of a residual value of the transform coefficients of the first attribute component of the current node; and dequantizing the first quantized value to obtain a dequantized value of the first quantized value; and determining the transform coefficients of the first attribute component of the current node according to the prediction value of the transform coefficients of the first attribute component of the current node and the dequantized value of the first quantized value.

[0190] For example, in some embodiments, the transform coefficients of the first attribute component of the current node are equal to the cumulative value of the prediction value of the transform coefficients of the first attribute component of the current node and the dequantized value of the first quantized value.

[0191] Further, the point cloud decoder of embodiment 8 and the further embodiments of embodiment 8 can be implemented in the case where the decoding mode enables the cross-component prediction mode and does not enable the intra prediction mode and does not enable the inter prediction mode.

[0192] In embodiment 9, as shown in FIG. 26, step 2202 can be implemented by the following step 2601 and step 2602:

[0193] In step 2601, in the case that the decoding mode is the cross-component prediction mode, the residual value of the transform coefficient of the first attribute component of the current node is determined according to the residual value of the transform coefficient of the second attribute component of the current node.

[0194] In some embodiments, the residual value of the transform coefficient of the second attribute component in step 2601 refers to a residual value after dequantization.

[0195] In some embodiments, step 2601 can be implemented by determining a second coefficient, the second coefficient being used to represent a linear relationship between the residual value of the transform coefficient of the first attribute component and the residual value of the transform coefficient of the second attribute component, and determining the residual value of the transform coefficient of the first attribute component of the current node according to the second coefficient and the residual value of the transform coefficient of the second attribute component of the current node.

[0196] For example, in some embodiments, the determining the residual value of the transform coefficient of the first attribute component of the current node according to the second coefficient and the residual value of the transform coefficient of the second attribute component of the current node includes: the residual value of the transform coefficient of the first attribute component of the current node being equal to the product of the second coefficient and the residual value of the transform coefficient of the second attribute component of the current node; determining the residual value of the transform coefficient of the first attribute component of the current node according to the predicted value of the residual value of the transform coefficient of the first attribute component of the current node and the residual value of the transform coefficient of the first attribute component of the current node; wherein the residual value of the transform coefficient of the first attribute component of the current node is a value after dequantization, which can be obtained by obtaining the decoded value of the residual value of the transform coefficient of the first attribute component of the current node from the code stream, and then dequantizing the decoded value.

[0197] In the embodiments of the present application, the method for determining the second coefficient is not limited, and the second coefficient can be a predefined value or determined by the following method.

[0198] Specifically, in some embodiments, the second coefficient can be determined by obtaining the residual values of the transform coefficients of the first attribute component and the second attribute component of a reference node, wherein the decoding mode of the reference node is the cross-component prediction mode, and fitting the linear relationship between the residual value of the transform coefficient of the first attribute component of the reference node and the residual value of the transform coefficient of the second attribute component of the reference node to obtain the second coefficient.

[0199] It can be understood that the reference nodes used to fit the linear relationship are all nodes using the cross-component prediction mode, that is, the residual values of the transform coefficients of the first attribute component of the reference nodes are obtained by using the cross-component prediction mode; in this way, since the residual values of the transform coefficients of the first attribute component obtained by using the cross-component prediction mode have strong correlation with the residual values of the transform coefficients of the second attribute component, fitting the linear relationship between the residual values of the transform coefficients of the first attribute component and the second attribute component based on these residual values can obtain more accurate second coefficients, thereby improving the accuracy of the residual values of the transform coefficients of the first attribute component of the current node, and further reducing the rate distortion at the decoding end. For the encoding end, the code word overhead can be saved.

[0200] The residual values of the transform coefficients of the first attribute component obtained by not using the cross-component prediction mode have less correlation with the residual values of the transform coefficients of the second attribute component, and there is a large error between them; if the residual values participating in the determination of the second coefficients include these residual values, the error of the second coefficients may be increased, resulting in poor accuracy of the residual values of the transform coefficients of the first attribute component of the current node.

[0201] On the other hand, only the residual values of the transform coefficients of the first attribute component and the second attribute component of the reference nodes enabling the cross-component prediction mode are cached, and the residual values of the transform coefficients of the nodes not enabling the cross-component prediction mode are not cached, which is beneficial to save the cache overhead.

[0202] Step 2602: determining the transform coefficients of the first attribute component of the current node according to the residual values of the transform coefficients of the first attribute component of the current node.

[0203] In some embodiments, as shown in FIG. 27, step 2602 can be implemented by the following steps 2701 to 2703:

[0204] Step 2701: determining the prediction value of the first attribute component of the current node;

[0205] Further, in some embodiments, step 2701 can be implemented by performing intra prediction or inter prediction on the first attribute component of the current node to obtain the prediction value of the first attribute component of the current node.

[0206] Step 2702: determining the prediction value of the transform coefficients of the first attribute component of the current node according to the prediction value of the first attribute component of the current node.

[0207] Exemplarily, in some embodiments, the prediction value of the first attribute component of the current node can be subjected to RAHT transform to obtain the prediction value of the transform coefficients of the first attribute component of the current node.

[0208] At step 2703, the transform coefficient of the first attribute component of the current node is determined according to the prediction value and the residual value of the transform coefficient of the first attribute component of the current node.

[0209] For example, in some embodiments, the transform coefficient of the first attribute component of the current node is equal to the accumulation of the prediction value of the transform coefficient of the first attribute component of the current node and the residual value of the transform coefficient of the first attribute component of the current node.

[0210] Further, for the embodiment 9 and the further embodiments of the above-mentioned embodiment 9, the point cloud decoder can be implemented in the case that the decoding mode enables the cross-component prediction mode and enables the intra prediction mode or the inter prediction mode.

[0211] For the step 2202, in the embodiment 10, the transform coefficient of the first attribute component of the current node can be determined according to the dequantized value of the transform coefficient of the second attribute component of the current node in the case that the decoding mode enables the cross-component prediction mode.

[0212] For the dequantized value of the transform coefficient of the second attribute component of the current node, the dequantized value of the transform coefficient of the second attribute component of the current node can be obtained by decoding the code stream to obtain a decoded value of the transform coefficient of the second attribute component of the current node and dequantizing the decoded value to obtain the dequantized value of the transform coefficient of the second attribute component of the current node.

[0213] Further, in some embodiments, the determining the transform coefficient of the first attribute component of the current node according to the dequantized value of the transform coefficient of the second attribute component of the current node comprises: determining a third coefficient, the third coefficient being used to represent a linear relationship between the transform coefficient of the first attribute component and the dequantized value of the transform coefficient of the second attribute component; and determining the transform coefficient of the first attribute component of the current node according to the third coefficient and the dequantized value of the transform coefficient of the second attribute component of the current node. For example, the transform coefficient of the first attribute component of the current node is equal to the product of the third coefficient and the dequantized value of the transform coefficient of the second attribute component of the current node.

[0214] In the embodiments of the present application, the method for determining the third coefficient is not limited, and the third coefficient can be a predefined value or can be determined by the following method.

[0215] Specifically, in some embodiments, the third coefficient can be determined by: obtaining dequantized values of the transform coefficients of the first attribute component of the reference node and the transform coefficients of the second attribute component of the reference node; wherein the decoding mode of the reference node is the cross-component prediction mode; and fitting a linear relationship between the transform coefficients of the first attribute component of the reference node and the dequantized values of the transform coefficients of the second attribute component of the reference node to obtain the third coefficient.

[0216] Further, for Embodiment 10 and the further embodiments of Embodiment 10 described above, it can be that the point cloud decoder is implemented in a case where the decoding mode enables the cross-component prediction mode and the transform mode (such as the RAHT transform mode) and does not enable the intra prediction mode nor the inter prediction mode.

[0217] It should be noted that, in the embodiments of the present application, the number of the reference nodes used to fit the linear relationship is not limited. Moreover, in some embodiments, in a same scheme where the decoding modes used for the nodes of a same transform layer are the same, the reference nodes participating in fitting the linear relationship and the current node are of a same transform layer. In a possible implementation, in a case where the transform coefficients of the first attribute component of all the nodes of the current transform layer are obtained, the transform coefficient information of the nodes of the current transform layer cached is cleared, the transform coefficient information being the coefficients used to fit the linear relationship.

[0218] Similarly, in some embodiments, in a same scheme where the decoding modes used for the nodes of a same node group are the same, the reference nodes participating in fitting the linear relationship and the current node are of a same node group. In a possible implementation, in a case where the transform coefficients of the first attribute component of all the nodes of the current node group are obtained, the transform coefficient information of the nodes of the current node group cached is cleared, the transform coefficient information being the coefficients used to fit the linear relationship.

[0219] Of course, in other embodiments, whether the reference nodes and the current node belong to a same transform layer or a same node group is not limited. That is, the reference nodes participating in fitting the linear relationship can include the nodes of a previous layer of the current transform layer and / or the nodes of the current transform layer, or the reference nodes participating in fitting the linear relationship can include the nodes of a previous node group of the current node group and / or the nodes of the current node group. For example, the reference nodes are the previous H nodes of the current node.

[0220] In the embodiments of the present application, the first attribute component and the second attribute component are not limited, and the first attribute component and the second attribute component can be any two different components of the attributes of the nodes. For example, the first attribute component is Cr and the second attribute component is Cb.

[0221] For the above embodiment 8, embodiment 9 or embodiment 10, one possible implementation is described as follows.

[0222] First, define two caches ChromaCbMultCb and ChromaCbMultCr, which are used to store the attribute information of the nodes (i.e. the reference nodes) that have been reconstructed by the current RAHT layer, and the size of the cache is fixed as MaxSize (currently set as 128). The linear relationship between ChromaCb and ChromaCr is fitted using the content of the two caches, and windowSize represents the size of the current cache. The specific fitting relationship is as follows:

[0223] The linear relationship between the ChromaCb component and the ChromaCr component of the current RAHT layer is calculated using sumCbMultCb and sumCbMultCr:

[0224] After the linear relationship between ChromaCb and ChromaCr of the current node to be encoded / decoded is calculated, the following relationship is used to perform cross-component prediction on the ChromaCr component:

[0225] After the attribute information of the current node is encoded / decoded, the caches ChromaCbMultCb and ChromaCbMultCr need to be updated using the reconstructed attribute information of the current node, and the specific updating method is as follows:

[0226] 1) When windowSize is greater than or equal to MaxSize, the first content of the caches ChromaCbMultCb and ChromaCbMultCr is discarded according to the first-in, first-out rule, and the specific code is as follows:

[0227] 2) Assuming that the reconstructed attribute information of the current node is reconAttr[nodeNum][3], where nodeNum represents the number of reconstructed child nodes of the current node, and 3 represents the Luma, ChromaCb and ChromaCr components, the caches are updated as follows:

[0228] In one possible implementation, for the same decoding mode being used for the nodes of the same transform layer, after the attribute information of all the nodes of the current transform layer is encoded / decoded, the information in ChromaCbMultCb and ChromaCbMultCr is cleared.

[0229] In another possible implementation, for the same decoding mode being used for the nodes of the same node group, after the attribute information of all the nodes of the current node group is encoded / decoded, the information in ChromaCbMultCb and ChromaCbMultCr is cleared.

[0230] It should be understood that, for Embodiment 8, the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the first coefficient. For Embodiment 9, the residual values of the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the residual values of the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the second coefficient. For Embodiment 10, the dequantized values of the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the third coefficient.

[0231] It should be understood that, for the different embodiments of Embodiments 8-10 described above, the types of ChromaCb and ChromaCr are different. For example, for a specific example of Embodiment 8, ChromaCb is the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the transform coefficients of the Cr attribute component of the reference node, and k is the first coefficient. For another example, for a specific example of Embodiment 9, ChromaCb is the residual values of the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the residual values of the transform coefficients of the Cr attribute component of the reference node, and k is the second coefficient. For yet another example, for a specific example of Embodiment 10, ChromaCb is the dequantized values of the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the transform coefficients of the Cr attribute component of the reference node, and k is the third coefficient.

[0232] The foregoing describes how the transform coefficients of the first attribute component of the current node are determined when the cross-component prediction mode is enabled for the decoding mode of the node of the current transform layer. The following describes how the transform coefficients of the first attribute component of the current node are determined when the cross-component prediction mode is not enabled.

[0233] For the step 2202, in some embodiments, the determining the transform coefficients of the first attribute component of the current node according to the decoding mode can be implemented as follows: in the case that the decoding mode does not enable the cross-component prediction mode, decoding the bitstream to determine a decoded value or a residual value of the transform coefficients of the first attribute component of the current node; and determining the transform coefficients of the first attribute component of the current node according to the decoded value or the residual value of the transform coefficients of the first attribute component of the current node.

[0234] Further, the method of determining the transform coefficients of the first attribute component of the current node is different in the case that the decoding mode enables the intra / inter prediction mode, which will be described in the following embodiments 11 and 12.

[0235] In the embodiment 11, the step 2202 can be implemented as follows: in the case that the decoding mode does not enable the cross-component prediction mode and enables the intra prediction or the inter prediction mode, decoding the bitstream to determine a residual value of the transform coefficients of the first attribute component of the current node; performing the intra prediction or the inter prediction on the first attribute component of the current node to obtain a predicted value of the first attribute component of the current node; performing a transform on the predicted value of the first attribute component of the current node to obtain a predicted value of the transform coefficients of the first attribute component of the current node; and determining the transform coefficients of the first attribute component of the current node according to the residual value and the predicted value of the transform coefficients of the first attribute component of the current node.

[0236] For the embodiment 11, further, in some embodiments, the decoding the bitstream to determine the residual value of the transform coefficients of the first attribute component of the current node comprises: decoding the bitstream to obtain a residual decoded value of the transform coefficients of the first attribute component of the current node, and performing inverse quantization on the residual decoded value to obtain the residual value of the transform coefficients of the first attribute component of the current node.

[0237] Exemplarily, in some embodiments, the transform coefficients of the first attribute component of the current node are equal to the accumulated value of the residual value of the transform coefficients of the first attribute component of the current node and the predicted value of the transform coefficients of the first attribute component of the current node.

[0238] In Embodiment 12, step 2202 can be implemented as follows: in a case where the decoding mode does not enable the cross-component prediction mode, nor the intra prediction mode and the inter prediction mode, but enables a transform mode (such as the RAHT transform mode), decoding the code stream to determine the decoded values of the transform coefficients of the first attribute component of the current node; and dequantizing the decoded values of the transform coefficients of the first attribute component of the current node to obtain the transform coefficients of the first attribute component of the current node.

[0239] For any of the embodiments of the decoding method described above, in some embodiments, the decoding method further includes: performing RAHT transform on the transform coefficients of the first attribute component of all the nodes of the current point cloud to obtain the reconstructed values of the first attribute component of the current point cloud.

[0240] It can be understood that the RAHT transform here is a reverse transform process of the encoding end, i.e., the RAHT inverse transform, which can be understood with reference to FIG. 17 and the lower half of the rectangular box shown in FIG. 15, i.e., the process from f 0,0 , g 0,0 transform to g′ 3,5 to g′ 3,0 .

[0241] It should be noted that, in the embodiments of the present application, whether to enable the decoding method described in the embodiments of the present application can be with limited conditions or without limited conditions. For the case with limited conditions, in some embodiments, the method further includes: decoding the code stream to determine a fourth syntax element, the fourth syntax element indicating that the decoding mode of the current point cloud enables the cross-component prediction mode.

[0242] It can be understood that, in a case where the fourth syntax element indicates that the decoding mode of the current point cloud enables the cross-component prediction mode, the decoding method described in the embodiments of the present application is enabled, and at this time, the cross-component prediction mode is not enabled for each node of all the transform layers of the current point cloud, but the decoding method described in the embodiments of the present application is used to further determine whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode. In this way, even if the fourth syntax element indicates that the decoding mode of the current point cloud enables the cross-component prediction mode, the decoding mode of the node of any transform layer in the current point cloud can not enable the cross-component prediction mode, thereby benefiting the decoding efficiency.

[0243] Further, in some embodiments, the fourth syntax element can be a syntax element at a sequence level (SPS), a picture level (Picture header), or a slice level (Slice header).

[0244] The embodiment of the present application provides an encoding method, which is applied to a point cloud encoder, and the implementation flowchart of the encoding method is shown in FIG. 28. As shown in FIG. 28, the method comprises the following steps 2801 to 2803.

[0245] In step 2801, it is determined whether the encoding mode of the node of the current transform layer enables the cross-component prediction mode.

[0246] In step 2802, in the case that the encoding mode enables the cross-component prediction mode, the residual value of the transform coefficient of the first attribute component of the current node is determined.

[0247] In step 2803, the residual value of the transform coefficient of the first attribute component of the current node is quantized to obtain a first quantized value, and the first quantized value is written into a bitstream.

[0248] It can be understood that in the encoding method provided by the embodiment of the present application, it is determined whether the encoding mode of the node of the current transform layer enables the cross-component prediction mode. That is to say, for the node of the current transform layer, the cross-component prediction mode may be enabled or not, instead of all nodes of all transform layers of the current point cloud enabling the cross-component prediction mode, thereby being beneficial to saving the encoding efficiency.

[0249] The further optional implementation and related terms of each step are described below.

[0250] In step 2801, it is determined whether the encoding mode of the node of the current transform layer enables the cross-component prediction mode.

[0251] In the embodiment of the present application, the level of selecting whether to enable the cross-component prediction mode is not limited, which can be a layer level or a node level. In some embodiments, the decoding mode of the node of the current transform layer in step 2801 can be effective for all nodes of the current transform layer, effective for a node group in which the current node is located, or effective for the current node; wherein the number of nodes of the node group is greater than or equal to 1 and less than or equal to the number of nodes of the current transform layer.

[0252] That is to say, for step 2801, in embodiment 13, it is determined whether the decoding mode of all nodes of the current transform layer enables the cross-component prediction mode. That is, for the current transform layer, the cross-component prediction mode may be enabled or not. Whether to enable the cross-component prediction mode is limited to the transform layer level, so that for all transform layers of the current point cloud, only part of the transform layers use the cross-component prediction mode, instead of all transform layers enabling the cross-component prediction mode; in this way, it is beneficial to improve the encoding efficiency.

[0253] For step 2801, in embodiment 14, it is determined whether the decoding mode of the current node group of the current transform layer enables the cross-component prediction mode; wherein the current node group refers to the node group in which the current node is located. That is, for the current node group of the current transform layer, the cross-component prediction mode can be enabled or can not be enabled. Compared with the case that all nodes of the entire transform layer enable the cross-component prediction mode and the case that all transform layers of the current point cloud enable the cross-component prediction mode, embodiment 14 can further improve the coding efficiency.

[0254] For step 2801, in embodiment 15, it is determined whether the decoding mode of the current node of the current transform layer enables the cross-component prediction mode. For each node of the current transform layer, the mode selection can be performed, and the cross-component prediction mode can be enabled or can not be enabled, so as to further improve the coding efficiency.

[0255] In the embodiments of the present application, how to implement step 2801 is not limited, that is, the determination method of the decoding mode of the node of the current transform layer is not limited, and the rate-distortion optimization algorithm or other rules can be used to determine whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode. For example, step 2801 can be implemented by any one of embodiments 16-20 as follows.

[0256] Specifically, in embodiment 16, step 2801 can be implemented as follows: determining a first rate-distortion cost of all nodes of the current transform layer in the case of enabling the cross-component prediction mode, and determining a second rate-distortion cost of all nodes of the current transform layer in the case of not enabling the cross-component prediction mode. According to the first rate-distortion cost and the second rate-distortion cost, it is determined whether the coding mode of all nodes of the current transform layer (i.e., the coding mode of the current transform layer) enables the cross-component prediction mode. For example, the coding mode of the current transform layer is the coding mode corresponding to the minimum rate-distortion cost.

[0257] After the coding mode of the current transform layer is selected based on the rate-distortion optimization algorithm, further, in some embodiments, the method further includes: writing a first syntax element into a bitstream, the first syntax element being used to indicate whether the decoding mode of the current transform layer enables the cross-component prediction mode.

[0258] Exemplarily, in some embodiments, the value of the first syntax element is a first numerical value or a second numerical value; wherein the first numerical value is used to indicate that the current transform layer enables the cross-component prediction mode; and the second numerical value is used to indicate that the current transform layer does not enable the cross-component prediction mode.

[0259] Further, in some embodiments, the first syntax element is further used to indicate that the current transform layer enables an intra prediction mode, an inter prediction mode, or a transform mode.

[0260] In Embodiment 17, step 2801 can be implemented by determining a level of the current transform layer; and determining a coding mode of all nodes of the current transform layer according to a relationship between the level of the current transform layer and a first threshold.

[0261] In some embodiments, the first threshold can be indicated in the bitstream by the encoding end, i.e., the encoding method further includes: writing a second syntax element into the bitstream, the second syntax element being used to indicate the first threshold.

[0262] In some embodiments, the current transform layer is a RAHT transform layer, and thus the current transform layer can also be referred to as a current RAHT transform layer.

[0263] For Embodiment 17, further, in some embodiments, the determining the coding mode of all nodes of the current transform layer according to the relationship between the level of the current transform layer and the first threshold includes: in a case where the level of the current transform layer is greater than or equal to a first difference value, the coding mode enables a cross-component prediction mode; wherein the first difference value is equal to the level of the root node minus the first threshold. In another case, in a case where the level of the current transform layer is less than the first difference value, the coding mode does not enable the cross-component prediction mode.

[0264] In the embodiments of the present application, the level of the transform layer in which the root node is located is the largest.

[0265] In Embodiment 18, for step 2801, it can be implemented by determining the coding mode of all nodes of the current transform layer according to a number of reconstructed nodes of the current transform layer.

[0266] Further, in some embodiments, in a case where the number of reconstructed nodes of the current transform layer is greater than or equal to a second threshold, the coding mode enables the cross-component prediction mode. In another case, in a case where the number of reconstructed nodes of the current transform layer is less than the second threshold, the coding mode does not enable the cross-component prediction mode.

[0267] It should be understood that, for the method of Embodiment 18, the determined coding mode is valid for all nodes of the current transform layer, i.e., the coding modes of all nodes of the current transform layer are the same.

[0268] In Embodiment 19, for the step 2801 of "determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode", it can be implemented as follows: determining the coding mode of the current node of the current transform layer according to the correlation between the attribute reconstructed value of the first attribute component of the parent node of the current node and the attribute reconstructed value of the first attribute component of the neighboring node of the parent node of the current node.

[0269] Further, in some embodiments, the correlation can be determined according to the error between the attribute reconstructed value of the first attribute component of the parent node of the current node and the attribute reconstructed value of the first attribute component of one or more neighboring nodes of the parent node of the current node. For example, if the error between the attribute reconstructed value of the first attribute component of the parent node of the current node and the attribute reconstructed value of the first attribute component of at least Q neighboring nodes of the parent node of the current node is less than or equal to a first error threshold, it is determined that the coding mode of the current node of the current transform layer enables the cross-component prediction mode. Otherwise, the coding mode of the current node does not enable the cross-component prediction mode. For another example, if the error between the attribute reconstructed value of the first attribute component of the parent node of the current node and the average of the attribute reconstructed values of the first attribute components of the neighboring nodes of the parent node of the current node is less than or equal to a second error threshold, it is determined that the coding mode of the current node of the current transform layer enables the cross-component prediction mode. Otherwise, the coding mode of the current node does not enable the cross-component prediction mode.

[0270] It should be understood that the method described in Embodiment 19 determines the result for the current node of the current transform layer, i.e., determines whether the coding mode of the current node of the current transform layer enables the cross-component prediction mode.

[0271] In Embodiment 20, for the step 2801 of "determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode", it can be implemented as follows: determining a third rate-distortion cost of the current node of the current transform layer or a node group in which the current node is located in the case where the cross-component prediction mode is enabled, and determining a fourth rate-distortion cost of the current node of the current transform layer or the node group in the case where the cross-component prediction mode is not enabled. According to the third rate-distortion cost and the fourth rate-distortion cost, it is determined whether the coding mode of the current node of the current transform layer or the node group enables the cross-component prediction mode. For example, the coding mode of the current node of the current transform layer or the node group is the coding mode corresponding to the minimum rate-distortion cost.

[0272] After the rate-distortion optimization algorithm selects the coding mode of the current node or the node group, further, in some embodiments, the encoding method further comprises: writing a third syntax element into the bitstream, the third syntax element being used to indicate whether the decoding mode of the current node or the node group enables the cross-component prediction mode; wherein the number of nodes of the node group is greater than or equal to 1 and less than or equal to the number of nodes of the current transform layer.

[0273] Further, in some embodiments, the third syntax element is also used to indicate whether the current node or the node group to which the current node belongs enables the intra prediction mode, the inter prediction mode or the transform mode.

[0274] It should be understood that embodiment 20 actually describes two embodiments, that is, in one embodiment, the rate-distortion cost corresponding to the case that the node group enables the cross-component prediction mode and the case that the node group does not enable the cross-component prediction mode is determined respectively, and based on this, it is determined whether the coding mode of the node group enables the cross-component prediction mode. The third syntax element is used to indicate whether the decoding mode of the node group enables the cross-component prediction mode, that is, the decoding mode indicated by the third syntax element is valid for all nodes of the node group, and the decoding modes of all nodes of the same node group are the same. In another embodiment, the rate-distortion cost corresponding to the case that the current node enables the cross-component prediction mode and the case that the current node does not enable the cross-component prediction mode is determined respectively, and based on this, it is determined whether the coding mode of the current node enables the cross-component prediction mode. The third syntax element is used to indicate whether the decoding mode of the current node enables the cross-component prediction mode, that is, the decoding mode indicated by the third syntax element is valid for the current node, and the decoding modes used by different nodes can be different.

[0275] In step 2802, the residual value of the transform coefficient of the first attribute component of the current node is determined in the case that the coding mode enables the cross-component prediction mode.

[0276] For step 2802, further, any one of embodiments 21 to 23 below can be implemented.

[0277] In embodiment 21, as shown in FIG. 29, step 2802 can be implemented by the following steps 2901 and 2902:

[0278] Step 2901, the prediction value of the transform coefficient of the first attribute component of the current node is determined according to the transform coefficient of the second attribute component of the current node.

[0279] In some embodiments, step 2901 can be implemented by determining a first coefficient for characterizing a linear relationship between the transform coefficients of the first attribute component and the transform coefficients of the second attribute component; and determining the predicted value of the transform coefficients of the first attribute component of the current node according to the first coefficient and the transform coefficients of the second attribute component of the current node.

[0280] Further, in some embodiments, the determining the first coefficient comprises: obtaining the transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the encoding mode of the reference node is the cross-component prediction mode; and fitting a linear relationship between the transform coefficients of the first attribute component of the reference node and the transform coefficients of the second attribute component of the reference node to obtain the first coefficient.

[0281] Step 2902, determining the residual value of the transform coefficients of the first attribute component of the current node according to the predicted value of the transform coefficients of the first attribute component of the current node.

[0282] In some embodiments, the encoding method further comprises: dequantizing the first quantized value to obtain a dequantized value of the first quantized value; and determining the transform coefficients of the first attribute component of the current node according to the predicted value of the transform coefficients of the first attribute component of the current node and the dequantized value of the first quantized value.

[0283] In some embodiments, the encoding method further comprises: in the case that the encoding mode of the current node is the cross-component prediction mode, buffering the transform coefficients of the first attribute component of the current node.

[0284] Further, for embodiment 21 and the further embodiments of embodiment 21 described above, the point cloud encoder can be implemented in the case that the encoding mode enables the cross-component prediction mode and does not enable the intra prediction mode nor the inter prediction mode.

[0285] In embodiment 22, step 2802 can be implemented by determining the residual value of the transform coefficients of the first attribute component of the current node according to the residual value of the transform coefficients of the second attribute component of the current node.

[0286] In some embodiments, the residual value of the transform coefficients of the second attribute component in embodiment 22 refers to a dequantized residual value.

[0287] Further, in some embodiments, embodiment 22 can be implemented as follows: determining a second coefficient, the second coefficient being used to represent a linear relationship between residual values of transform coefficients of the first attribute component and residual values of transform coefficients of the second attribute component; and determining the residual values of transform coefficients of the first attribute component of the current node according to the second coefficient and the residual values of transform coefficients of the second attribute component of the current node.

[0288] For example, in some embodiments, the determining the residual values of transform coefficients of the first attribute component of the current node according to the second coefficient and the residual values of transform coefficients of the second attribute component of the current node comprises: a prediction value of the residual values of transform coefficients of the first attribute component of the current node being equal to a product of the second coefficient and the residual values of transform coefficients of the second attribute component of the current node; determining the residual values of transform coefficients of the first attribute component of the current node according to the prediction value of the residual values of transform coefficients of the first attribute component of the current node and residual values of transform coefficients of the first attribute component of the current node; wherein the residual values of transform coefficients of the first attribute component of the current node are quantized values.

[0289] In the embodiments of the present application, the method for determining the second coefficient is not limited, and the second coefficient can be a predefined value or determined by the following method.

[0290] Specifically, in some embodiments, the second coefficient can be determined as follows: obtaining residual values of transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the encoding mode of the reference node is the cross-component prediction mode; and fitting a linear relationship between the residual values of transform coefficients of the first attribute component of the reference node and the residual values of transform coefficients of the second attribute component of the reference node to obtain the second coefficient; in this way, the coding efficiency is saved.

[0291] On the basis of Embodiment 22, the encoding method further comprises: determining a prediction value of the first attribute component of the current node; and determining a prediction value of the transform coefficient of the first attribute component of the current node according to the prediction value of the first attribute component of the current node; and dequantizing the first quantized value to obtain a dequantized value of the first quantized value; and determining the transform coefficient of the first attribute component of the current node according to the prediction value of the transform coefficient of the first attribute component of the current node and the dequantized value of the first quantized value. For the embodiment described in this paragraph, it needs to be explained that the first quantized value herein refers to a quantized value of a residual value of a residual value of the transform coefficient of the first attribute component of the current node. According to the first quantized value and the prediction value of the residual value of the transform coefficient of the first attribute component of the current node, the residual value of the transform coefficient of the first attribute component of the current node is obtained; and then, according to the residual value of the transform coefficient of the first attribute component of the current node and the prediction value of the transform coefficient of the first attribute component of the current node, the transform coefficient of the first attribute component of the current node is obtained.

[0292] Further, in some embodiments, the determination of the prediction value of the first attribute component of the current node comprises: performing intra prediction or inter prediction on the first attribute component of the current node to obtain the prediction value of the first attribute component of the current node.

[0293] Further, in some embodiments, the determination of the prediction value of the transform coefficient of the first attribute component of the current node according to the prediction value of the first attribute component of the current node comprises: performing RAHT transform on the prediction value of the first attribute component of the current node to obtain the prediction value of the transform coefficient of the first attribute component of the current node.

[0294] Further, in some embodiments, the transform coefficient of the first attribute component of the current node is equal to the accumulated value of the prediction value of the transform coefficient of the first attribute component of the current node and the dequantized value of the first quantized value.

[0295] Based on this, in some embodiments, the encoding method further comprises: in the case that the encoding mode of the current node is the cross-component prediction mode, buffering the transform coefficient of the first attribute component of the current node.

[0296] Further, for the embodiment 22 and the further embodiments of the embodiment 22 described above, the point cloud encoder can be implemented in the case that the cross-component prediction mode is enabled and the intra prediction mode or the inter prediction mode is enabled in the encoding mode. Accordingly, in the encoding mode, the residual values of the transform coefficients of the first attribute component of the current node are quantized to obtain first quantized values, according to step 2803; wherein the residual values of the transform coefficients of the first attribute component of the current node refer to residual values of the residual values of the transform coefficients of the first attribute component of the current node. In a possible implementation, the residual values of the transform coefficients of the first attribute component of the current node can be obtained by the following way: the first attribute component of the current node is predicted to obtain a predicted value of the first attribute component of the current node; the predicted value of the first attribute component of the current node is transformed (e.g. RAHT transform) to obtain a first value of the transform coefficients of the first attribute component of the current node; the original value of the first attribute component of the current node is transformed to obtain a second value of the transform coefficients of the first attribute component of the current node; the original value of the residual values of the transform coefficients of the first attribute component of the current node is obtained according to the first value and the second value; the predicted value of the residual values of the transform coefficients of the first attribute component of the current node is determined (i.e. the predicted value of the residual values of the transform coefficients of the first attribute component of the current node is equal to the product of the second coefficient and the residual values of the transform coefficients of the second attribute component of the current node); and the residual values of the transform coefficients of the first attribute component of the current node are obtained according to the original value of the residual values of the transform coefficients of the first attribute component of the current node and the predicted value of the residual values of the transform coefficients of the first attribute component of the current node.

[0297] In the embodiment 23, the residual values of the transform coefficients of the first attribute component of the current node can be determined according to the dequantized values of the transform coefficients of the second attribute component of the current node, according to the predicted value of the transform coefficients of the first attribute component of the current node, according to step 2802. For example, the residual values of the transform coefficients of the first attribute component of the current node are determined according to the predicted value and the original value of the transform coefficients of the first attribute component of the current node.

[0298] Further, in some embodiments, the determining the transform coefficient of the first attribute component of the current node according to the inverse quantized value of the transform coefficient of the second attribute component of the current node comprises: determining a third coefficient, the third coefficient being used to represent a linear relationship between the transform coefficient of the first attribute component and the inverse quantized value of the transform coefficient of the second attribute component; and determining the predicted value of the transform coefficient of the first attribute component of the current node according to the third coefficient and the inverse quantized value of the transform coefficient of the second attribute component of the current node. For example, the predicted value of the transform coefficient of the first attribute component of the current node is equal to the product of the third coefficient and the inverse quantized value of the transform coefficient of the second attribute component of the current node.

[0299] In the embodiments of the present application, the method for determining the third coefficient is not limited, and the third coefficient can be a predefined value or determined by the following method.

[0300] Specifically, in some embodiments, the third coefficient can be determined by: obtaining the inverse quantized values of the transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the encoding mode of the reference node is the cross-component prediction mode; and fitting the linear relationship between the transform coefficient of the first attribute component of the reference node and the inverse quantized value of the transform coefficient of the second attribute component of the reference node to obtain the third coefficient.

[0301] Further, the embodiment 23 and the further embodiments of the above-mentioned embodiment 23 can be implemented by the point cloud encoder in the case that the encoding mode enables the cross-component prediction mode and the transform mode (such as the RAHT transform mode) and does not enable the intra prediction mode and the inter prediction mode.

[0302] It should be noted that, in the embodiments of the present application, the number of the reference nodes is not limited. The first attribute component and the second attribute component are not limited, and the first attribute component and the second attribute component can be any two different components of the attributes of the nodes. For example, the first attribute component is Cr, and the second attribute component is Cb.

[0303] For the above-mentioned embodiment 21, embodiment 22 or embodiment 23, a possible implementation manner is described as follows.

[0304] First, two cache information ChromaCbMultCb and ChromaCbMultCr are defined, and the two caches are used to store the attribute information of the nodes (i.e. the reference nodes) that have been reconstructed in the current RAHT layer, and the size of the cache is fixed as MaxSize (currently set as 128). The linear relationship between ChromaCb and ChromaCr is fitted by using the content of the two caches, and windowSize represents the size of the current cache. The specific fitting relationship is as follows:

[0305] The linear relationship between the current RAHT layer ChromaCb component and ChromaCr component is calculated using sumCbMultCb and sumCbMultCr:

[0306] After the linear relationship between the current to-be-encoded / decoded point ChromaCb and ChromaCr is calculated, the cross-component prediction of the ChromaCr component is performed using the following relationship: predChormCr = ChormCb x k

[0307] After the attribute information of the current node is encoded / decoded, the reconstructed attribute information of the current node is used to update the buffered ChromaCbMultCb and ChromaCbMultCr, and the specific updating manner is as follows:

[0308] 3) When the windowSize is greater than or equal to MaxSize, the first content of the buffered ChromaCbMultCb and ChromaCbMultCr is discarded according to the first-in first-out rule, and the specific time is as follows: while (windowSize >= MaxSize) { ChromaCbMultCb.pop_front(); ChromaCbMultCr.pop_front(); windowSize--;}

[0309] 4) Assuming that the reconstructed attribute information of the current node is reconAttr[nodeNum][3], wherein nodeNum represents the number of reconstructed child nodes of the current node, and 3 represents the Luma, ChromaCb and ChromaCr components, the buffer is updated in the following manner:

[0310] It should be understood that, for the embodiment 21, the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the first coefficient. For the embodiment 22, the residual values of the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the residual values of the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the second coefficient. For the embodiment 23, the dequantized values of the transform coefficients of the second attribute component of the reconstructed node are buffered in ChromaCbMultCb, the transform coefficients of the first attribute component of the reconstructed node are buffered in ChromaCbMultCr, and k is the third coefficient.

[0311] It should be understood that, for the embodiments 21-23 described above, the types of ChromaCb and ChromaCr are different for different embodiments. For example, for a specific example of the embodiment 21, ChromaCb is the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the transform coefficients of the Cr attribute component of the reference node, and k is the first coefficient. For another example, for a specific example of the embodiment 22, ChromaCb is the residual values of the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the residual values of the transform coefficients of the Cr attribute component of the reference node, and k is the second coefficient. For yet another example, for a specific example of the embodiment 23, ChromaCb is the dequantized values of the transform coefficients of the Cb attribute component of the reference node, ChromaCr is the transform coefficients of the Cr attribute component of the reference node, and k is the third coefficient.

[0312] The foregoing describes how to determine the transform coefficients of the first attribute component of the current node when the cross-component prediction mode is enabled for the coding mode of the node of the current transform layer. The following describes how to determine the transform coefficients of the first attribute component of the current node when the cross-component prediction mode is not enabled.

[0313] In some embodiments, when the cross-component prediction mode is not enabled for the coding mode, the quantized values or residual values of the transform coefficients of the first attribute component of the current node are determined; and the quantized values or residual values of the transform coefficients of the first attribute component of the current node are written into the bitstream.

[0314] Further, the method of determining the transform coefficients of the first attribute component of the current node is different for the case of whether the intra / inter prediction mode is enabled for the coding mode, which will be described in the following embodiments 24 and 25.

[0315] In Embodiment 24, in the case that the coding mode does not enable the cross-component prediction mode and enables the intra prediction mode or the inter prediction mode, the first attribute component of the current node is intra predicted or inter predicted to obtain a prediction value of the first attribute component of the current node; a prediction value of the transform coefficient of the first attribute component of the current node is determined according to the prediction value of the first attribute component of the current node; an original value of the transform coefficient of the first attribute component of the current node is determined according to an original value of the first attribute component of the current node; and a residual value of the transform coefficient of the first attribute component of the current node is determined according to the original value and the prediction value of the transform coefficient of the first attribute component of the current node.

[0316] Based on this, writing the residual value of the transform coefficient of the first attribute component of the current node into the bitstream includes: writing a first quantized value obtained by quantizing the residual value of the transform coefficient of the first attribute component of the current node into the bitstream.

[0317] In some embodiments, the method further includes: dequantizing the first quantized value to obtain a dequantized value of the first quantized value; and determining the transform coefficient of the first attribute component of the current node according to the prediction value of the transform coefficient of the first attribute component of the current node and the dequantized value of the first quantized value.

[0318] Exemplarily, in some embodiments, the transform coefficient of the first attribute component of the current node is equal to the sum of the dequantized value of the first quantized value and the prediction value of the transform coefficient of the first attribute component of the current node.

[0319] In Embodiment 25, in the case that the decoding mode does not enable the cross-component prediction mode, does not enable the intra prediction mode and the inter prediction mode, but enables a transform mode (such as the RAHT transform mode), the original value of the transform coefficient of the first attribute component of the current node is quantized and then written into the bitstream.

[0320] For Embodiment 25, the method further includes: dequantizing the quantized original value of the transform coefficient of the first attribute component of the current node to obtain the transform coefficient of the first attribute component of the current node.

[0321] It should be noted that, in the embodiments of the present application, whether to enable the coding method described in the embodiments of the present application can be with limited conditions or without limited conditions. In the case of limited conditions, in some embodiments, the method further includes: writing a fourth syntax element into the bitstream, the fourth syntax element indicating that the decoding mode of the current point cloud enables the cross-component prediction mode.

[0322] Further, in some embodiments, the fourth syntax element can be a syntax element of a sequence level (SPS), a picture level (Picture header), or a slice level (Slice header).

[0323] It should be noted that in the embodiments of the present application, the transform coefficients of the first attribute component can be AC coefficients or DC coefficients, and in the cross-component prediction mode, the AC coefficients or the residual values of the AC coefficients of the first attribute component can be determined by using the AC coefficients or the residual values of the AC coefficients of the second attribute component. The DC coefficients or the residual values of the DC coefficients of the first attribute component can also be determined by using the DC coefficients or the residual values of the DC coefficients of the second attribute component.

[0324] One or more exemplary embodiments are described as follows.

[0325] First, the definition of the RAHT attribute coding layer is introduced. The current attribute RAHT transform coding order is to perform iteration from the root node until the division to the voxel level (1x1x1), so as to complete the coding and attribute reconstruction of the entire point cloud attribute. Here, the layer obtained by performing downsampling along the Z direction, the Y direction and the X direction once each time is defined as a RAHT transform layer, i.e., layer. For details, refer to FIG. 24.

[0326] Second, based on the RAHT attribute coding layer, a rate-distortion optimization algorithm is introduced to select the prediction coding mode of the current layer: 1. Start the cross-component prediction coding (the existing mode); 2. Turn off the cross-component prediction coding. It should be understood that the current layer is also referred to as the current transform layer, and the current transform layer can be the current RAHT transform layer.

[0327] First, two cache information ChromaCbMultCb and ChromaCbMultCr are defined, which are used to store the attribute information of the reconstructed nodes of the current RAHT layer, and the size of the cache is fixed as MaxSize (currently set as 128). The linear relationship between ChromaCb and ChromaCr is fitted by using the contents of the two caches, and windowSize represents the size of the current cache. The specific fitting relationship is as follows:

[0328] The linear relationship between the ChromaCb component and the ChromaCr component of the current RAHT layer is calculated by using sumCbMultCb and sumCbMultCr:

[0329] After the linear relationship between the current to-be-encoded / decoded point ChormaCb and ChromaCr is calculated, the following relationship is used to perform cross-component prediction on the ChromCr component: predChormCr = ChormCb x k

[0330] After the attribute information of the current node is encoded / decoded, the reconstructed attribute information of the current node is used to update the buffers ChromaCbMultCb and ChromaCbMultCr, and the specific update method is as follows:

[0331] 5) When the windowSize is greater than or equal to MaxSize, the first content of the buffers ChromaCbMultCb and ChromaCbMultCr is discarded according to the first-in first-out rule, and the specific process is as follows: while (windowSize >= MaxSize) { ChromaCbMultCb.pop_front(); ChromaCbMultCr.pop_front(); windowSize--;}

[0332] 6) Assuming that the reconstructed attribute information of the current node is reconAttr[nodeNum][3], where nodeNum represents the number of reconstructed child nodes of the current node, and 3 represents the Luma, ChormCb, and ChromaCr components, the buffers are updated as follows:

[0333] At the encoding end, two encoding modes are used to encode the attribute information of the current layer node, to obtain the best encoding mode of the current layer node, and the best encoding mode is transmitted to the decoding end, and the decoding end uses the parsed decoding mode to reconstruct and recover the attribute information of the current to-be-decoded layer node. In the rate-distortion optimization algorithm, first, the distortion D of the reconstructed attribute of each prediction mode and the original attribute is calculated, and then the code stream R required for encoding each decoding mode is obtained, and the rate-distortion cost is calculated as follows: J = D + λ x R

[0334] λ can be calculated by the attribute quantization parameter, and the current λ calculation method is as follows:

[0335] The parameter N can be set to different values according to the reflectivity and color.

[0336] In a possible implementation manner, the encoding mode of each layer can be added to the ABH (Attribute Brick Header) parameter set, and the specific algorithm at the encoding end is as follows:

[0337] Step 1: If the node of the current layer can adopt cross-component prediction coding, introduce rate-distortion optimization algorithm for the current layer, and calculate the cost corresponding to each coding mode by coding each node of the current layer to obtain the best coding mode.

[0338] • When coding the attribute information of the current layer, the corresponding cross-component prediction cache needs to be opened according to the prediction mode of the current layer. Specifically, if the current layer can start inter-prediction, intra-prediction and non-prediction three modes, the corresponding cache content needs to be opened, that is, the cache corresponding to inter-prediction, the cache corresponding to intra-prediction and the cache corresponding to non-prediction. When coding each node, the linear relationship between ChromaCb and ChromCr components is obtained from the corresponding cache according to the corresponding prediction mode, and then the ChromCr component of the current node is predicted and coded using the linear relationship. Similarly, after coding, the attribute information of the current node is used to update the cache content of the corresponding prediction mode. Specifically, assuming that the current node adopts inter-prediction, the reconstructed attribute information is used to update the inter-prediction corresponding cache. The specific calculation method and cache update method are described above.

[0339] • If the current layer chooses not to perform cross-component prediction, the cache content updated by the current RAHT layer needs to be cleared. Specifically, after the current layer passes through the RDO mode selection, the cross-component prediction is not selected, and the attribute information of the current layer is coded using the existing prediction method. In order to ensure that the encoding and decoding can obtain the same reconstructed information, the cache content updated by the attribute information of the current layer needs to be released at the encoding end.

[0340] Step 2: Finally, the attribute of the node of the current layer is predicted and coded using the best coding mode.

[0341] The specific algorithm of the decoding end is as follows:

[0342] Step 1: If the node of the current layer can adopt cross-component prediction coding, the best decoding mode of the current to-be-decoded RAHT layer is parsed, that is, whether to start cross-component prediction decoding of the last component.

[0343] Step 2: Finally, the attribute of the node of the current layer is decoded using the best decoding mode.

[0344] In a possible implementation, when the attribute information is RAHT coded, the RAHT layer is taken as a coding unit, and on the basis of the existing scheme, two coding modes are introduced for each RAHT layer: cross-component prediction coding and non-cross-component prediction coding. The rate-distortion optimization algorithm is used to select the optimal mode, and the corresponding algorithm is used to code the attribute information of the RAHT layer, so as to improve the coding efficiency of the point cloud attribute. After introducing the RAHT coding layer attribute coding algorithm, the attribute coding efficiency of some sequences is significantly improved, especially under the C2 condition, the performance of the Cr component of the soldier sequence is improved by about 6.5%, and the coding efficiency of the point cloud attribute is significantly improved.

[0345] In some embodiments, when the attribute information is RAHT coded (including inter prediction coding and intra prediction coding), an encoding mode is introduced for each RAHT coding layer to determine whether to start the cross-component prediction coding mode, and finally the encoding mode is transmitted to the decoding end, and the decoding end uses the decoding mode to reconstruct the attribute information of the point cloud. In a possible implementation, the encoding mode of each RAHT layer is finally stored in the high-level syntax element of the ABH. In a possible implementation, the encoding mode can be encoded in two ways, for example: bypass encoding as a high-level syntax element in the ABH, or entropy coding in the form of an additional data stream structure. The latter can reduce the mode coding stream compared to the former, so as to further improve the coding efficiency of the attribute information of the point cloud. In addition, the embodiments of the present application can be applied in different coding layers for the current slice / RAHT coding layer, including: intra prediction coding layer, inter prediction coding layer, and non-prediction coding layer.

[0346] The following Table 1 is the attribute data unit header syntax (Attribute data unit header syntax)

[0347] Table 1

[0348] attr_code_mode[i] indicates the coding mode of the current RAHT layer. When the parameter is True, it means that the cross-component prediction coding is started for the current layer, otherwise the cross-component prediction coding is not started. By default, it is False, that is, the cross-component prediction coding is not started by default.

[0349] The following describes other possible implementations.

[0350] (1) The attribute coding mode can be further modified.

[0351] In the above scheme, two encoding modes are introduced by encoding the attribute information of the current different encoding layer nodes: cross-component prediction encoding or turning off cross-component prediction encoding. The rate-distortion optimization algorithm is performed on all nodes of the current layer to obtain the best encoding mode, and the decoding end finally uses the encoding mode to reconstruct and recover the attribute information of the nodes of the current layer. This encoding scheme can be further modified: the reconstructed attribute distribution characteristics of the neighborhood nodes of the current layer different nodes are comprehensively analyzed, for example: if the error between the reconstructed attribute of the parent node of the current node and the reconstructed attribute of the neighborhood nodes of the parent node of the current node is within a certain range, it is considered that the neighborhood attribute distribution characteristics of the current node are relatively smooth. Based on such distribution characteristics, it can be implicitly derived that the current node adopts the cross-component prediction encoding mode; otherwise, it is considered that the attribute distribution of the neighborhood range of the current node is relatively jittered, and the cross-component encoding mode is not adopted.

[0352] (2) The attribute encoding mode can be further modified.

[0353] In the above scheme, two encoding modes are introduced by encoding the attribute information of the current different encoding layer nodes: cross-component prediction encoding or turning off cross-component prediction encoding. The rate-distortion optimization algorithm is performed on all nodes of the current layer to obtain the best encoding mode, and the decoding end finally uses the encoding mode to reconstruct and recover the attribute information of the nodes of the current layer. This encoding scheme can be further modified: four encoding modes are introduced by encoding the attribute information of the current different encoding layer nodes: intra prediction + cross-component prediction encoding, intra prediction + non-cross-component prediction encoding, transform + cross-component prediction encoding, and transform + non-cross-component prediction encoding. By adaptively selecting all nodes of the current layer, the decoding end finally uses the encoding mode to reconstruct and recover the attribute information of the nodes of the current layer. By introducing more intra encoding modes, the intra encoding efficiency of point cloud attributes is further improved.

[0354] (3) The attribute encoding mode can be further modified.

[0355] In the above scheme, two encoding modes are introduced by encoding the attribute information of the current different encoding layer nodes: cross-component prediction encoding or turning off cross-component prediction encoding. The rate-distortion optimization algorithm is performed on all nodes of the current layer to obtain the best encoding mode, and the decoding end finally uses the encoding mode to reconstruct and recover the attribute information of the nodes of the current layer. This encoding scheme can be further modified: a syntax element for starting cross-component prediction encoding is added in the high-level syntax elements of aps, for example: last_component_prediction_raht_depth, which is used to determine whether to start cross-component prediction encoding when depth is less than last_component_prediction_raht_depth. Otherwise, cross-component prediction encoding is turned off.

[0356] It should be noted that the "cross-component prediction mode" can also be called "cross-component prediction" or "cross-component prediction encoding / decoding", etc.

[0357] It should be noted that although the steps of the method in the present application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired result. In addition or alternatively, some steps can be omitted, a plurality of steps can be combined into one step, and / or one step can be divided into a plurality of steps, etc.; or, the steps in different embodiments can be combined into new technical solutions.

[0358] Based on the foregoing embodiments, the present application provides a decoding device applied to a point cloud decoder. FIG. 30 is a structural schematic diagram of the decoding device provided by the embodiments of the present application. As shown in FIG. 30, the decoding device 300 includes:

[0359] A first determining module 3001 configured to determine whether a decoding mode of a node of a current transform layer enables a cross-component prediction mode.

[0360] A second determining module 3002 configured to determine a transform coefficient of a first attribute component of the current node according to the decoding mode.

[0361] In some embodiments, the first determining module 3001 is configured to: decode a code stream, determine a first syntax element, the first syntax element being used to indicate whether the decoding mode of the current transform layer enables the cross-component prediction mode; and determine the decoding mode of the current node according to the first syntax element.

[0362] Exemplarily, in some embodiments, the first syntax element has a first numerical value or a second numerical value; the first numerical value is used to indicate that the current transform layer enables the cross-component prediction mode; and the second numerical value is used to indicate that the current transform layer does not enable the cross-component prediction mode.

[0363] In some embodiments, the first syntax element is also used to indicate that the current transform layer enables an intra prediction mode, an inter prediction mode or a transform mode.

[0364] In another embodiment, the first determining module 3001 is configured to: decode a code stream, determine a second syntax element, the second syntax element being used to indicate a first threshold value; determine a level of the current transform layer; and determine the decoding mode of all nodes of the current transform layer according to a relationship between the level of the current transform layer and the first threshold value.

[0365] Exemplarily, in some embodiments, the decoding mode enables the cross-component prediction mode in a case that the level of the current transform layer is greater than or equal to a first difference value, wherein the first difference value is equal to a level of a root node minus the first threshold.

[0366] Exemplarily, in some embodiments, the decoding mode does not enable the cross-component prediction mode in a case that the level of the current transform layer is less than the first difference value.

[0367] In yet some embodiments, the first determining module 3001 is configured to determine the decoding mode of all nodes of the current transform layer according to a number of reconstructed nodes of the current transform layer.

[0368] Exemplarily, in some embodiments, the decoding mode enables the cross-component prediction mode in a case that the number of reconstructed nodes of the current transform layer is greater than or equal to a second threshold value.

[0369] Exemplarily, in some embodiments, the decoding mode does not enable the cross-component prediction mode in a case that the number of reconstructed nodes of the current transform layer is less than the second threshold value.

[0370] In other embodiments, the first determining module 3001 is configured to determine the decoding mode of the current node of the current transform layer according to a correlation between a property reconstructed value of a first property component of a parent node of the current node and a property reconstructed value of the first property component of a neighboring node of the parent node of the current node.

[0371] In yet some embodiments, the first determining module 3001 is configured to decode a bitstream, determine a third syntax element, the third syntax element being used to indicate whether a decoding mode of the current node or a node group in which the current node is located enables the cross-component prediction mode, wherein a number of nodes of the node group is greater than or equal to 1 and less than or equal to a number of nodes of the current transform layer, and determine the decoding mode of the current node according to the third syntax element.

[0372] In some embodiments, the third syntax element is further used to indicate that the current node or the node group in which the current node is located enables an intra prediction mode, an inter prediction mode or a transform mode.

[0373] In some embodiments, the first determining module 3001 is further configured to decode a bitstream, determine a fourth syntax element, the fourth syntax element indicating that a decoding mode of a current point cloud enables the cross-component prediction mode.

[0374] Further, in some embodiments, the fourth syntax element is a sequence level, a picture level or a slice level syntax element.

[0375] In some embodiments, the second determining module 3002 is configured to: in the case that the decoding mode enables the cross-component prediction mode, determine a prediction value of the transform coefficients of the first attribute component of the current node according to the transform coefficients of the second attribute component of the current node; and determine the transform coefficients of the first attribute component of the current node according to the prediction value of the transform coefficients of the first attribute component of the current node. It is to be noted that for this embodiment, it is referred to as Embodiment 26 hereinafter.

[0376] For Embodiment 26, further, the second determining module 3002 is configured to: determine a first coefficient used to represent a linear relationship between the transform coefficients of the first attribute component and the transform coefficients of the second attribute component; and determine the prediction value of the transform coefficients of the first attribute component of the current node according to the first coefficient and the transform coefficients of the second attribute component of the current node.

[0377] Exemplarily, in some embodiments, the second determining module 3002 is configured to: obtain the transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the decoding mode of the reference node is the cross-component prediction mode; and fit a linear relationship between the transform coefficients of the first attribute component of the reference node and the transform coefficients of the second attribute component of the reference node to obtain the first coefficient.

[0378] For Embodiment 26, further, in some embodiments, the second determining module 3002 is configured to: decode a bitstream to obtain a first quantized value of a residual value of the transform coefficients of the first attribute component of the current node; and dequantize the first quantized value to obtain a dequantized value of the first quantized value; and determine the transform coefficients of the first attribute component of the current node according to the prediction value of the transform coefficients of the first attribute component of the current node and the dequantized value of the first quantized value.

[0379] For Embodiment 26, in some embodiments, the decoding mode does not enable the intra prediction mode and the inter prediction mode.

[0380] In other embodiments, the second determining module 3002 is configured to: in the case that the decoding mode enables the cross-component prediction mode, determine a residual value of the transform coefficients of the first attribute component of the current node according to a residual value of the transform coefficients of the second attribute component of the current node; and determine the transform coefficients of the first attribute component of the current node according to the residual value of the transform coefficients of the first attribute component of the current node. It is to be noted that for this embodiment, it is referred to as Embodiment 27 hereinafter.

[0381] For example 27, further, in some embodiments, the second determining module 3002 is configured to: determine a second coefficient, the second coefficient being used to represent a linear relationship between residual values of transform coefficients of the first attribute component and residual values of transform coefficients of the second attribute component; and determine the residual values of the transform coefficients of the first attribute component of the current node according to the second coefficient and the residual values of the transform coefficients of the second attribute component of the current node.

[0382] For example, in some embodiments, the second determining module 3002 is configured to: obtain residual values of transform coefficients of the first attribute component and the second attribute component of a reference node; wherein the decoding mode of the reference node is the cross-component prediction mode; and fit a linear relationship between the residual values of the transform coefficients of the first attribute component of the reference node and the residual values of the transform coefficients of the second attribute component of the reference node to obtain the second coefficient.

[0383] For example 27, further, in some embodiments, the second determining module 3002 is configured to: determine a prediction value of the first attribute component of the current node; determine a prediction value of the transform coefficients of the first attribute component of the current node according to the prediction value of the first attribute component of the current node; and determine the transform coefficients of the first attribute component of the current node according to the prediction value and the residual values of the transform coefficients of the first attribute component of the current node.

[0384] For example, in some embodiments, the second determining module 3002 is configured to: perform intra prediction or inter prediction on the first attribute component of the current node to obtain a prediction value of the first attribute component of the current node.

[0385] In some embodiments, the current transform layer is a RAHT transform layer.

[0386] In some embodiments, the decoding apparatus 300 further comprises a transform module configured to perform RAHT transform on the transform coefficients of the first attribute component of all nodes of the current point cloud to obtain reconstructed values of the first attribute component of the current point cloud.

[0387] Embodiments of the present application provide an encoding apparatus applied to a point cloud encoder. FIG. 31 is a structural schematic diagram of the encoding apparatus provided by embodiments of the present application. As shown in FIG. 31, the encoding apparatus 310 comprises:

[0388] A third determining module 3101 is configured to determine whether the cross-component prediction mode is enabled for the encoding mode of the node of the current transform layer.

[0389] The fourth determining module 3102 is configured to determine residual values of transform coefficients of the first attribute component of the current node in a case where the coding mode enables the cross-component prediction mode.

[0390] The quantizing module 3103 is configured to quantize the residual values of the transform coefficients of the first attribute component of the current node to obtain first quantized values.

[0391] The encoding module 3104 is configured to write the first quantized values into a bitstream.

[0392] In some embodiments, the encoding module 3104 is further configured to write a first syntax element into the bitstream, wherein the first syntax element is used to indicate whether the decoding mode of the current transform layer enables the cross-component prediction mode.

[0393] For example, in some embodiments, the first syntax element has a first value or a second value, wherein the first value is used to indicate that the current transform layer enables the cross-component prediction mode, and the second value is used to indicate that the current transform layer does not enable the cross-component prediction mode.

[0394] In some embodiments, the first syntax element is further used to indicate that the current transform layer enables an intra prediction mode, an inter prediction mode, or a transform mode.

[0395] In other embodiments, the third determining module 3101 is configured to determine a level of the current transform layer, and determine the coding mode of all nodes of the current transform layer according to a relationship between the level of the current transform layer and a first threshold.

[0396] In some embodiments, the encoding module 3104 is further configured to write a second syntax element into the bitstream, wherein the second syntax element is used to indicate the first threshold.

[0397] For example, in some embodiments, in a case where the level of the current transform layer is greater than or equal to a first difference, the coding mode enables the cross-component prediction mode, wherein the first difference is equal to the level of a root node minus the first threshold.

[0398] For example, in some embodiments, in a case where the level of the current transform layer is less than the first difference, the coding mode does not enable the cross-component prediction mode.

[0399] In yet other embodiments, the third determining module 3101 is configured to determine the coding mode of all nodes of the current transform layer according to a number of reconstructed nodes of the current transform layer.

[0400] Exemplarily, in some embodiments, the coding mode enables the cross-component prediction mode in a case that the number of the reconstructed nodes of the current transform layer is greater than or equal to a second threshold.

[0401] Exemplarily, in some embodiments, the coding mode does not enable the cross-component prediction mode in a case that the number of the reconstructed nodes of the current transform layer is less than the second threshold.

[0402] In some other embodiments, the third determining module 3101 is configured to determine the coding mode of the current node of the current transform layer according to a correlation between a property reconstructed value of the first property component of the parent node of the current node and a property reconstructed value of the first property component of the neighbor node of the parent node of the current node.

[0403] In yet some other embodiments, the encoding module 3104 is configured to write a third syntax element into the bitstream, the third syntax element being used to indicate whether the decoding mode of the current node or a node group in which the current node is located enables the cross-component prediction mode; wherein the number of nodes of the node group is greater than or equal to 1 and less than or equal to the number of nodes of the current transform layer.

[0404] In some embodiments, the third syntax element is further used to indicate that the current node or the node group in which the current node is located enables an intra prediction mode, an inter prediction mode or a transform mode.

[0405] In some embodiments, the encoding module 3104 is further configured to write a fourth syntax element into the bitstream, the fourth syntax element indicating that the decoding mode of the current point cloud enables the cross-component prediction mode.

[0406] In some embodiments, the fourth syntax element is a sequence level, a picture level or a slice level syntax element.

[0407] In some embodiments, the fourth determining module 3102 is configured to determine a prediction value of the transform coefficients of the first property component of the current node according to the transform coefficients of the second property component of the current node, and determine a residual value of the transform coefficients of the first property component of the current node according to the prediction value of the transform coefficients of the first property component of the current node. It is noted that this embodiment is referred to as Embodiment 28 hereinafter.

[0408] For Embodiment 28, further, in some embodiments, the fourth determining module 3102 is configured to determine a first coefficient, the first coefficient being used to represent a linear relationship between the transform coefficients of the first property component and the transform coefficients of the second property component, and determine the prediction value of the transform coefficients of the first property component of the current node according to the first coefficient and the transform coefficients of the second property component of the current node.

[0409] Exemplarily, in some embodiments, the fourth determining module 3102 is configured to: obtain the transform coefficients of the first attribute component and the second attribute component of the reference node; wherein the encoding mode of the reference node is the cross-component prediction mode; and fit a linear relationship between the transform coefficients of the first attribute component of the reference node and the transform coefficients of the second attribute component of the reference node to obtain the first coefficient.

[0410] Based on embodiment 28, in some embodiments, the encoding apparatus 310 further comprises a dequantization module and a fifth determining module; wherein the dequantization module is configured to dequantize the first quantized value to obtain a dequantized value of the first quantized value; and the fifth determining module is configured to determine the transform coefficients of the first attribute component of the current node according to the prediction value of the transform coefficients of the first attribute component of the current node and the dequantized value of the first quantized value.

[0411] For embodiment 28, further, in some embodiments, the encoding mode does not enable the intra prediction mode and the inter prediction mode.

[0412] In other embodiments, the fourth determining module 3102 is configured to determine the residual value of the transform coefficients of the first attribute component of the current node according to the residual value of the transform coefficients of the second attribute component of the current node. It is to be noted that this embodiment is referred to as embodiment 29 as follows.

[0413] For embodiment 29, further, in some embodiments, the fourth determining module 3102 is configured to: determine a second coefficient, the second coefficient being used to represent a linear relationship between the residual value of the transform coefficients of the first attribute component and the residual value of the transform coefficients of the second attribute component; and determine the residual value of the transform coefficients of the first attribute component of the current node according to the second coefficient and the residual value of the transform coefficients of the second attribute component of the current node.

[0414] Exemplarily, in some embodiments, the residual values of the transform coefficients of the first attribute component and the second attribute component of the reference node are obtained; wherein the encoding mode of the reference node is the cross-component prediction mode; and a linear relationship between the residual values of the transform coefficients of the first attribute component of the reference node and the residual values of the transform coefficients of the second attribute component of the reference node is fitted to obtain the second coefficient.

[0415] Based on embodiment 28, in some embodiments, the encoding device 310 further comprises a sixth determining module, a dequantization module and a seventh determining module; wherein the prediction module is configured to determine a prediction value of the first attribute component of the current node; and determine a prediction value of the transform coefficient of the first attribute component of the current node according to the prediction value of the first attribute component of the current node; the dequantization module is configured to dequantize the first quantized value to obtain a dequantized value of the first quantized value; and the seventh determining module is configured to determine the transform coefficient of the first attribute component of the current node according to the prediction value of the transform coefficient of the first attribute component of the current node and the dequantized value of the first quantized value.

[0416] Further, in some embodiments, the sixth determining module is configured to: perform intra prediction or inter prediction on the first attribute component of the current node to obtain the prediction value of the first attribute component of the current node.

[0417] In some embodiments, the current transform layer is a RAHT transform layer.

[0418] The above device embodiments are similar to the descriptions of the above method embodiments, and have similar beneficial effects to the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the method embodiments of the present application.

[0419] It should be noted that the division of the device and the module in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, another division mode can be used. In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or can be physically separated, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of a software functional unit. It can also be realized in the form of a combination of software and hardware.

[0420] It should be noted that in the embodiments of the present application, if the above method is realized in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions for causing an electronic device to execute all or part of the method described in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read only memory (ROM), a magnetic disk or an optical disk, and various storage media that can store program codes. Thus, the embodiments of the present application are not limited to any specific hardware and software combination.

[0421] The embodiment of the present application provides a point cloud decoder, as shown in Figure 32, the point cloud decoder 320 comprises: a first communication interface 3201, a first memory 3202 and a first processor 3203, and each component is coupled together through a first bus system 3204. It can be understood that the first bus system 3204 is used for realizing the connection communication between the components. In addition to including a data bus, the first bus system 3204 also includes a power bus, a control bus and a state signal bus. However, in order to clearly illustrate, various buses are marked as the first bus system 3204 in Figure 32. Wherein,

[0422] The first communication interface 3201 is used for receiving and sending signals in the information transceiving process between other external network elements;

[0423] The first memory 3202 is used for storing a computer program capable of running on the first processor 3203;

[0424] The first processor 3203 is used for executing the decoding method described in the embodiment of the present application when the computer program is run.

[0425] It is to be appreciated that the first memory 3202 in the embodiments of the application can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. Where the nonvolatile memory is a Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), or flash memory. The volatile memory can be a Random Access Memory (RAM), which is used as an external cache. By way of example, and not limitation, many forms of RAM are available, for example, Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The first memory 3202 of the system and method described herein are intended to include, without being limited to, these and any other suitable types of memory.

[0426] The first processor 3203 can be an integrated circuit chip having a processing capability of signals. In the implementation process, each step of the above method can be completed by the integrated logic circuit of hardware or the instruction in the form of software in the first processor 3203. The first processor 3203 described above can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read only memory, a programmable read only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The storage medium is located in the first memory 3202, and the first processor 3203 reads the information in the first memory 3202 and combines the hardware to complete the steps of the above method.

[0427] It can be understood that the embodiments described in the present application can be realized by hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be realized in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for executing the functions described in the present application or a combination thereof. For software implementation, the technology described in the present application can be realized by modules (such as processes, functions, etc.) for executing the functions described in the present application. The software code can be stored in the memory and executed by the processor. The memory can be implemented in the processor or outside the processor.

[0428] Optionally, as another embodiment, the first processor 3203 is further configured to, when executing the computer program, perform any of the foregoing decoding method embodiments.

[0429] The application provides a point cloud encoder, as shown in FIG. 33, the point cloud encoder 330 includes a second communication interface 3301, a second memory 3302 and a second processor 3303; each component is coupled together through a second bus system 3304. It can be understood that the second bus system 3304 is used to realize the connection communication between the components. The second bus system 3304 includes not only a data bus, but also a power bus, a control bus and a state signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the second bus system 3304 in FIG. 33. Among them,

[0430] The second communication interface 3301 is used for receiving and sending signals in the process of transceiving information with other external network elements;

[0431] The second memory 3302 is used for storing a computer program capable of running on the second processor 3303;

[0432] The second processor 3303 is used for, when executing the computer program, performing the encoding method described in the embodiments of the application.

[0433] Optionally, as another embodiment, the second processor 3303 is further configured to, when executing the computer program, perform the foregoing encoding method embodiments.

[0434] It can be understood that the second memory 3302 has a similar hardware function to the first memory 3202, and the second processor 3303 has a similar hardware function to the first processor 3203; here is not described in detail.

[0435] The application provides an electronic device, including: a processor adapted to execute a computer program; a computer readable storage medium, the computer readable storage medium has a computer program stored therein, the computer program is executed by the processor, and the encoding method and / or the decoding method described in the embodiments of the application are realized. The electronic device can be various types of devices with point cloud encoding and / or point cloud decoding capabilities, for example, the electronic device is a mobile phone, a tablet computer, a notebook computer, a personal computer, a television, a projection device or a monitoring device.

[0436] The application provides a computer readable storage medium, the computer readable storage medium has a computer program stored therein, the computer program is executed to realize the encoding method on the side of the point cloud encoder or realize the decoding method on the side of the point cloud decoder.

[0437] The embodiment of the present application provides a code stream, and the code stream is generated by the encoding method.

[0438] The embodiment of the present application provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed to implement the decoding method or the encoding method.

[0439] It should be noted that the description of the above embodiments is similar to the description of the above method embodiments, and has similar beneficial effects to the method embodiments. For technical details not disclosed in the storage medium, the code stream, the program product and the device embodiments of the present application, please refer to the description of the method embodiments of the present application.

[0440] It should be understood that the "one embodiment" or "an embodiment" or "some embodiments" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiments are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" or "in some embodiments" appearing throughout the specification does not necessarily mean the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence number of the above processes does not mean the execution order, and the execution order of the processes should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The sequence number of the above embodiments of the present application is only for description, not representing the advantages and disadvantages of the embodiments. The above description of each embodiment tends to emphasize the differences between each embodiment, and the same or similar parts can be referred to each other. For the sake of brevity, this document will not be repeated here.

[0441] The term "and / or" in this document is only a description of the association relationship of the associated objects, which means that there can be three kinds of relationships, for example, object A and / or object B, which can represent three cases of existence of object A, existence of object A and object B, and existence of object B.

[0442] It should be noted that in this document, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the statement "including a" does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0443] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other manners. The embodiments described above are merely exemplary, and the division of the modules is merely logical function division. For example, there can be another division manner in actual implementation, such as combination of a plurality of modules or components, or integration of some features into another system, or omission of some features, or inexecution of some features. In addition, the coupling or direct coupling or communication connection between the components shown or discussed can be indirect coupling or communication connection through some interfaces, devices or modules, and can be electrical, mechanical or in other forms.

[0444] The modules described above as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules; they can be located in one place or distributed on a plurality of network units; and some or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments.

[0445] In addition, all the functional modules in the embodiments of the present application can be integrated in one processing unit, or each module can be a separate unit, or two or more modules can be integrated in one unit; the integrated modules can be realized in the form of hardware or in the form of hardware plus software functional units.

[0446] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by a program instruction related hardware, and the foregoing program can be stored in a computer readable storage medium, and the program is executed to perform the steps of the above-mentioned method embodiments; and the foregoing storage medium includes mobile storage devices, read only memory (ROM), magnetic discs or optical discs and various storage medium that can store program codes.

[0447] Alternatively, the integrated units of the present application, if implemented in the form of software functional modules and sold or used as independent products, can also be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application can be embodied in the form of software products, and the computer software products are stored in a storage medium, including a plurality of instructions to make an electronic device execute all or part of the methods described in the embodiments of the present application. The foregoing storage medium includes mobile storage devices, ROM, magnetic discs or optical discs and various storage medium that can store program codes.

[0448] The methods disclosed in the several method embodiments of the present application can be combined arbitrarily without conflict to obtain new method embodiments. The features disclosed in the several product embodiments of the present application can be combined arbitrarily without conflict to obtain new product embodiments. The features disclosed in the several method or device embodiments of the present application can be combined arbitrarily without conflict to obtain new method embodiments or device embodiments.

[0449] The above merely provides a method for implementing the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A decoding method, applied to a point cloud decoder, comprising: Determining whether a decoding mode of a node of a current transform layer enables an inter-component prediction mode; According to the decoding mode, a transform coefficient of a first attribute component of a current node is determined.

2. The method according to claim 1, wherein The determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode includes: Decoding a code stream, determining a first syntax element, where the first syntax element is used to indicate whether a decoding mode of the current transform layer enables a cross-component prediction mode; Determine a decoding mode of the current node according to the first syntax element.

3. The method according to claim 2, wherein: The value of the first syntax element is a first value or a second value; wherein the first value is used to indicate that the current transform layer enables the cross-component prediction mode; and the second value is used to indicate that the current transform layer does not enable the cross-component prediction mode.

4. The method according to claim 2, wherein: The first syntax element is further used to indicate that the current transform layer enables intra prediction mode, inter prediction mode or transform mode.

5. The method according to claim 1, wherein The determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode includes: Decoding the code stream, and determining a second syntax element, where the second syntax element is used to indicate a first threshold; Determining the level of the current transformation layer; Determine the decoding modes of all nodes of the current transform layer according to the relationship between the level of the current transform layer and the first threshold.

6. The method according to claim 5, wherein: The decoding mode enables the cross-component prediction mode when the level of the current transform layer is greater than or equal to a first difference value; wherein the first difference value is equal to the level of the root node minus the first threshold.

7. The method according to claim 6, wherein: In a case where the level of the current transform layer is smaller than the first difference value, the decoding mode does not enable the cross-component prediction mode.

8. The method according to claim 1, wherein The determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode includes: Determine the decoding modes of all nodes of the current transform layer according to the number of reconstructed nodes of the current transform layer.

9. The method according to claim 8, wherein In a case where the number of reconstructed nodes of the current transform layer is greater than or equal to a second threshold, the decoding mode enables the cross-component prediction mode.

10. The method according to claim 8, wherein When the number of reconstructed nodes of the current transform layer is less than a second threshold, the decoding mode does not enable the cross-component prediction mode.

11. The method according to claim 1, wherein The determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode includes: The decoding mode of the current node of the current transform layer is determined according to the correlation between the attribute reconstruction value of the first attribute component of the parent node of the current node and the attribute reconstruction value of the first attribute component of the neighboring node of the parent node of the current node.

12. The method according to claim 1, wherein The determining whether the decoding mode of the node of the current transform layer enables the cross-component prediction mode includes: Decoding a bitstream, determining a third syntax element, the third syntax element being used to indicate whether a decoding mode of the current node or a node group in which the current node is located enables a cross-component prediction mode; wherein the number of nodes in the node group is greater than or equal to 1 and less than or equal to the number of nodes in the current transform layer; Determine a decoding mode of the current node according to the third syntax element.

13. The method according to claim 12, wherein: The third syntax element is further used to instruct the current node or the node group where the current node is located to enable intra prediction mode, inter prediction mode or transform mode.

14. The method according to any one of claims 1 to 13, wherein: The method further comprises: Decoding the code stream, determining a fourth syntax element, wherein the fourth syntax element indicates that the decoding mode of the current point cloud enables the cross-component prediction mode. Mode.

15. The method according to claim 14, wherein The fourth syntax element is a syntax element at a sequence level, a picture level, or a slice level.

16. The method according to any one of claims 1 to 15, wherein: The determining, according to the decoding mode, a transform coefficient of the first attribute component of the current node includes: In a case where the decoding mode enables the cross-component prediction mode, determining a prediction value of a transform coefficient of a first attribute component of the current node according to a transform coefficient of a second attribute component of the current node; The transform coefficient of the first attribute component of the current node is determined according to the predicted value of the transform coefficient of the first attribute component of the current node.

17. The method according to claim 16, wherein: The determining, based on the transformation coefficient of the second attribute component of the current node, a predicted value of the transformation coefficient of the first attribute component of the current node, includes: determining a first coefficient, where the first coefficient is used to characterize a linear relationship between a transformation coefficient of the first attribute component and a transformation coefficient of the second attribute component; A predicted value of the transform coefficient of the first attribute component of the current node is determined according to the first coefficient and the transform coefficient of the second attribute component of the current node.

18. The method according to claim 17, wherein The determining of the first coefficient comprises: Obtaining transform coefficients of a first attribute component and a second attribute component of a reference node; wherein a decoding mode of the reference node is an inter-component prediction mode; A linear relationship between a transformation coefficient of the first attribute component of the reference node and a transformation coefficient of the second attribute component of the reference node is fitted to obtain the first coefficient.

19. The method according to claim 16, wherein The determining, according to the predicted value of the transformation coefficient of the first attribute component of the current node, the transformation coefficient of the first attribute component of the current node comprises: Decoding the code stream to obtain a first quantized value of a residual value of a transform coefficient of a first attribute component of the current node; Dequantizing the first quantized value to obtain a dequantized value of the first quantized value; The transform coefficient of the first attribute component of the current node is determined according to the predicted value of the transform coefficient of the first attribute component of the current node and the inverse quantized value of the first quantized value.

20. The method according to any one of claims 16 to 19, wherein: The decoding mode does not enable intra prediction mode and inter prediction mode.

21. The method according to any one of claims 1 to 15, wherein: The determining, according to the decoding mode, a transform coefficient of the first attribute component of the current node includes: In a case where the decoding mode enables the cross-component prediction mode, determining the residual value of the transform coefficient of the first attribute component of the current node according to the residual value of the transform coefficient of the second attribute component of the current node; The transform coefficient of the first attribute component of the current node is determined according to the residual value of the transform coefficient of the first attribute component of the current node.

22. The method according to claim 21, wherein The determining, based on the residual value of the transform coefficient of the second attribute component of the current node, the residual value of the transform coefficient of the first attribute component of the current node comprises: determining a second coefficient, where the second coefficient is used to characterize a linear relationship between a residual value of a transform coefficient of the first attribute component and a residual value of a transform coefficient of the second attribute component; The residual value of the transform coefficient of the first attribute component of the current node is determined according to the second coefficient and the residual value of the transform coefficient of the second attribute component of the current node.

23. The method according to claim 22, wherein The determining of the second coefficient comprises: Obtaining residual values ​​of transform coefficients of a first attribute component and a second attribute component of a reference node; wherein a decoding mode of the reference node is an inter-component prediction mode; A linear relationship between a residual value of a transformation coefficient of a first attribute component of the reference node and a residual value of a transformation coefficient of a second attribute component of the reference node is fitted to obtain the second coefficient.

24. The method according to claim 21, wherein The determining, according to the residual value of the transformation coefficient of the first attribute component of the current node, the transformation coefficient of the first attribute component of the current node comprises: Determining a predicted value of a first attribute component of the current node; Determining a predicted value of a transform coefficient of the first attribute component of the current node according to the predicted value of the first attribute component of the current node; Determine the first attribute component of the current node according to the predicted value and residual value of the transformation coefficient of the first attribute component of the current node. Transform coefficients of attribute components.

25. The method according to claim 24, wherein The determining the predicted value of the first attribute component of the current node includes: Perform intra-frame prediction or inter-frame prediction on the first attribute component of the current node to obtain a predicted value of the first attribute component of the current node.

26. The method according to any one of claims 18 to 25, wherein: The reference node and the current node are in the same transformation layer or the same node group; wherein the number of nodes in the node group is greater than or equal to 1 and less than or equal to the number of nodes in the current transformation layer.

27. The method according to any one of claims 1 to 26, wherein: The current transform layer is a RAHT transform layer.

28. The method according to claim 27, wherein The method further comprises: A RAHT transformation is performed according to the transformation coefficients of the first attribute components of all nodes of the current point cloud to obtain a reconstructed value of the first attribute component of the current point cloud.

29. A coding method, applied to a point cloud encoder, comprising: Determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode; In a case where the coding mode enables a cross-component prediction mode, determining a residual value of a transform coefficient of a first attribute component of the current node; quantizing a residual value of a transform coefficient of a first attribute component of the current node to obtain a first quantized value; And writing the first quantized value into a bitstream.

30. The method according to claim 29, wherein The method further comprises: A first syntax element is written into a codestream; wherein the first syntax element is used to indicate whether the decoding mode of the current transform layer enables the cross-component prediction mode.

31. The method according to claim 30, wherein The value of the first syntax element is a first value or a second value; wherein the first value is used to indicate that the current transform layer enables the cross-component prediction mode; and the second value is used to indicate that the current transform layer does not enable the cross-component prediction mode.

32. The method according to claim 30, wherein The first syntax element is further used to indicate that the current transform layer enables intra prediction mode, inter prediction mode or transform mode.

33. The method of claim 29, wherein: The determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode includes: Determining the level of the current transformation layer; According to a relationship between a level of the current transformation layer and a first threshold, a coding mode of all nodes of the current transformation layer is determined.

34. The method according to claim 33, wherein The method further comprises: A second syntax element is written into a codestream, where the second syntax element is used to indicate the first threshold.

35. The method of claim 33, wherein: The encoding mode enables the cross-component prediction mode when the level of the current transform layer is greater than or equal to a first difference value; wherein the first difference value is equal to the level of the root node minus the first threshold.

36. The method according to claim 35, wherein In a case where the level of the current transform layer is smaller than the first difference value, the encoding mode does not enable the cross-component prediction mode.

37. The method of claim 29, wherein: The determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode includes: Determine encoding modes for all nodes of the current transform layer according to the number of reconstructed nodes of the current transform layer.

38. The method of claim 37, wherein: In a case where the number of reconstructed nodes of the current transform layer is greater than or equal to a second threshold, the encoding mode enables the cross-component prediction mode.

39. The method according to claim 38, wherein In a case where the number of reconstructed nodes of the current transform layer is less than a second threshold, the encoding mode does not enable the cross-component prediction mode.

40. The method of claim 29, wherein The determining whether the coding mode of the node of the current transform layer enables the cross-component prediction mode includes: The coding mode of the current node of the current transformation layer is determined according to the correlation between the attribute reconstruction value of the first attribute component of the parent node of the current node and the attribute reconstruction value of the first attribute component of the neighboring node of the parent node of the current node.

41. The method of claim 29, wherein The method further comprises: A third syntax element is written into the bitstream, where the third syntax element is used to indicate whether the decoding mode of the current node or the node group where the current node is located enables the cross-component prediction mode; wherein the number of nodes in the node group is greater than or equal to 1 and less than or equal to the number of nodes in the current transform layer.

42. The method according to claim 41, wherein The third syntax element is further used to instruct the current node or the node group where the current node is located to enable intra prediction mode, inter prediction mode or transform mode.

43. The method according to any one of claims 29 to 42, wherein: The method further comprises: A fourth syntax element is written into the codestream, where the fourth syntax element indicates that the decoding mode of the current point cloud enables the cross-component prediction mode.

44. The method according to claim 43, wherein The fourth syntax element is a syntax element at a sequence level, a picture level, or a slice level.

45. The method according to any one of claims 29 to 44, wherein: The determining of the residual value of the transformation coefficient of the first attribute component of the current node includes: Determining a predicted value of a transform coefficient of a first attribute component of the current node according to a transform coefficient of a second attribute component of the current node; The residual value of the transform coefficient of the first attribute component of the current node is determined according to the predicted value of the transform coefficient of the first attribute component of the current node.

46. ​​The method of claim 45, wherein The determining, based on the transformation coefficient of the second attribute component of the current node, a predicted value of the transformation coefficient of the first attribute component of the current node, includes: determining a first coefficient, where the first coefficient is used to characterize a linear relationship between a transformation coefficient of the first attribute component and a transformation coefficient of the second attribute component; A predicted value of the transform coefficient of the first attribute component of the current node is determined according to the first coefficient and the transform coefficient of the second attribute component of the current node.

47. The method of claim 46, wherein The determining of the first coefficient comprises: Obtaining transform coefficients of a first attribute component and a second attribute component of a reference node; wherein the coding mode of the reference node is an inter-component prediction mode; A linear relationship between a transformation coefficient of the first attribute component of the reference node and a transformation coefficient of the second attribute component of the reference node is fitted to obtain the first coefficient.

48. The method of claim 45, wherein The method further comprises: Dequantizing the first quantized value to obtain a dequantized value of the first quantized value; The transform coefficient of the first attribute component of the current node is determined according to the predicted value of the transform coefficient of the first attribute component of the current node and the inverse quantized value of the first quantized value.

49. The method according to any one of claims 45 to 48, wherein: This coding mode does not enable intra-frame prediction mode and inter-frame prediction mode.

50. The method according to any one of claims 29 to 44, wherein: The determining of the residual value of the transformation coefficient of the first attribute component of the current node includes: The residual value of the transform coefficient of the first attribute component of the current node is determined according to the residual value of the transform coefficient of the second attribute component of the current node.

51. The method of claim 50, wherein: The determining, based on the residual value of the transform coefficient of the second attribute component of the current node, the residual value of the transform coefficient of the first attribute component of the current node comprises: determining a second coefficient, where the second coefficient is used to characterize a linear relationship between a residual value of a transform coefficient of the first attribute component and a residual value of a transform coefficient of the second attribute component; The residual value of the transform coefficient of the first attribute component of the current node is determined according to the second coefficient and the residual value of the transform coefficient of the second attribute component of the current node.

52. The method of claim 51, wherein The determining of the second coefficient comprises: Obtaining residual values ​​of transform coefficients of a first attribute component and a second attribute component of a reference node; wherein the coding mode of the reference node is an inter-component prediction mode; A linear relationship between a residual value of a transformation coefficient of a first attribute component of the reference node and a residual value of a transformation coefficient of a second attribute component of the reference node is fitted to obtain the second coefficient.

53. The method of claim 50, wherein: The method further comprises: Determining a predicted value of a first attribute component of the current node; Determine the transform coefficient of the first attribute component of the current node according to the predicted value of the first attribute component of the current node Predicted value; Dequantizing the first quantized value to obtain a dequantized value of the first quantized value; The transform coefficient of the first attribute component of the current node is determined according to the predicted value of the transform coefficient of the first attribute component of the current node and the inverse quantized value of the first quantized value.

54. The method of claim 53, wherein: The determining the predicted value of the first attribute component of the current node includes: Perform intra-frame prediction or inter-frame prediction on the first attribute component of the current node to obtain a predicted value of the first attribute component of the current node.

55. The method according to any one of claims 47 to 54, wherein: The reference node and the current node are in the same transformation layer or the same node group; wherein the number of nodes in the node group is greater than or equal to 1 and less than or equal to the number of nodes in the current transformation layer.

56. The method according to any one of claims 29 to 55, wherein: The current transform layer is a RAHT transform layer.

57. A decoding device, applied to a point cloud decoder, comprising: A first determining module configured to determine whether a decoding mode of a node of a current transform layer enables an inter-component prediction mode; The second determining module is configured to determine the transform coefficient of the first attribute component of the current node according to the decoding mode.

58. A point cloud decoder, comprising a first memory and a first processor; wherein, The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 1 to 28 when running the computer program.

59. A coding device, applied to a point cloud encoder, comprising: A third determination module is configured to determine whether the coding mode of the node of the current transform layer enables the cross-component prediction mode; A fourth determining module is configured to determine a residual value of a transform coefficient of a first attribute component of a current node when the encoding mode enables a cross-component prediction mode; a quantization module configured to quantize a residual value of a transform coefficient of a first attribute component of the current node to obtain a first quantized value; The encoding module is configured to write the first quantization value into a bit stream.

60. A point cloud encoder comprising a second memory and a second processor; wherein, The second memory is used to store a computer program that can be run on the second processor; The second processor is configured to execute the method according to any one of claims 29 to 56 when running the computer program.

61. A code stream, wherein the code stream is generated by the encoding method according to any one of claims 29 to 56.

62. An electronic device comprising: a processor adapted to execute a computer program; A computer-readable storage medium having a computer program stored therein, wherein the computer program, when executed by the processor, implements the decoding method according to any one of claims 1 to 28, or implements the encoding method according to any one of claims 29 to 56 when the computer program is executed by the processor.

63. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, and when the computer program is executed, it implements the decoding method according to any one of claims 1 to 28, or implements the encoding method according to any one of claims 29 to 56.

64. A computer program product comprising a computer program or instructions, which, when executed by a processor, implements the method of any one of claims 1 to 28, or implements the method of any one of claims 29 to 56.

Citation Information

Patent Citations

  • Data compression method and device for inter-component prediction of original and / or residual data

    CN111385555A

  • Point cloud compression method, encoder, decoder and storage medium

    CN116132671A

  • Inter-component residual prediction of color attributes in geometric point cloud compression coding

    CN116325748A

  • Residual coding for geometric point cloud compression

    CN117083858A

  • Methods and apparatuses for encoding and decoding video using signal dependent adaptive quantization

    US20190075293A1