Point cloud encoding method, point cloud decoding method, encoders, decoders, bitstream and storage medium

By using the reconstructed value of the encoded attribute information of the current point to predict the unencoded attribute information in point cloud encoding and decoding, the redundancy problem in the encoding and decoding process of multiple attribute information is solved, and the encoding and decoding efficiency and accuracy are improved.

WO2025260335A1PCT designated stage Publication Date: 2025-12-26GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/100451
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-20
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

In existing point cloud encoding and decoding technologies, how can we improve the encoding and decoding efficiency of multiple attribute information, especially when one attribute information has been encoded and there is still a lot of redundancy in the encoding and decoding process of another attribute information, resulting in wasted bit rate?

Method used

By determining the reconstructed values ​​of the first and second attribute information of the k nearest neighbors of the current point, and using the correlation parameter to indicate the association between the two, the second attribute information is predicted based on the encoded first attribute information, thereby reducing its bitrate in the bitstream.

Benefits of technology

It improves the encoding and decoding efficiency of point cloud attribute information, reduces redundancy between attribute information, and enhances the accuracy and efficiency of encoding and decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024100451_26122025_PF_FP_ABST
    Figure CN2024100451_26122025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present application are a point cloud encoding method, a point cloud decoding method, encoders, decoders, a bitstream and a storage medium. The point cloud decoding method comprises: decoding a bitstream, and determining reconstruction values of first attribute information and reconstruction values of second attribute information of k neighboring points of a current point; on the basis of the reconstruction values of the first attribute information and the reconstruction values of the second attribute information of the k neighboring points, determining a first parameter, the first parameter being used for indicating the correlation between first attribute information and second attribute information of the current point, and k being a positive integer greater than or equal to 1; on the basis of a reconstruction value of the first attribute information of the current point and the first parameter, determining a prediction value of the second attribute information of the current point; and, on the basis of the prediction value of the second attribute information of the current point, determining a reconstruction value of the second attribute information of the current point.
Need to check novelty before this filing date? Find Prior Art

Description

Point cloud encoding and decoding methods, codecs, bitstreams, and storage media Technical Field

[0001] This application relates to the field of point cloud encoding and decoding technology, and in particular to a point cloud encoding and decoding method, encoder and decoder, bitstream and storage medium. Background Technology

[0002] In the geometry-based point cloud compression (G-PCC) encoding and decoding framework, how to improve the encoding and decoding efficiency of attribute information for point cloud sequences containing multiple attribute information (such as color information and reflectivity information) is a problem that needs to be solved.

[0003] Summary of the Invention

[0004] This application provides a point cloud encoding / decoding method, an encoder / decoder, a bitstream, and a storage medium. The various aspects involved in this application are described below.

[0005] In a first aspect, a point cloud decoding method is provided, applied to a decoder, comprising: decoding a bitstream; determining reconstructed values ​​of first attribute information and second attribute information of k nearest neighbor points of the current point; determining a first parameter based on the reconstructed values ​​of the first attribute information and second attribute information of the k nearest neighbor points, wherein the first parameter is used to indicate the correlation between the first attribute information and second attribute information of the current point, and k is a positive integer greater than or equal to 1; determining a predicted value of second attribute information of the current point based on the reconstructed value of the first attribute information and the first parameter; and determining a reconstructed value of second attribute information of the current point based on the predicted value of second attribute information.

[0006] Secondly, a point cloud encoding method is provided, applied to an encoder, comprising: determining the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points of the current point; determining a first parameter based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points, wherein the first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, and k is a positive integer greater than or equal to 1; determining the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information and the first parameter; and determining the residual value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0007] Thirdly, a decoder is provided, comprising: a first determining unit configured to decode a bitstream and determine reconstructed values ​​of first attribute information and second attribute information of k nearest neighbor points of the current point; a second determining unit configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and second attribute information of the k nearest neighbor points, wherein the first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, and k is a positive integer greater than or equal to 1; a third determining unit configured to determine a predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information and the first parameter; and a fourth determining unit configured to determine a reconstructed value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0008] Fourthly, a decoder is provided, comprising: a memory for storing a computer program; and a processor for executing the method of the first aspect when running the computer program.

[0009] Fifthly, an encoder is provided, comprising: a first determining unit configured to determine reconstructed values ​​of first attribute information and second attribute information of k nearest neighbor points of a current point; a second determining unit configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and second attribute information of the k nearest neighbor points, wherein the first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, and k is a positive integer greater than or equal to 1; a third determining unit configured to determine a predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter; and a fourth determining unit configured to determine a residual value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0010] In a sixth aspect, an encoder is provided, the encoder comprising: a memory for storing a computer program; and a processor for executing the method of the second aspect when running the computer program.

[0011] In a seventh aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program that, when executed, implements the method as described in the first or second aspect.

[0012] Eighthly, a non-volatile computer-readable storage medium is provided for storing a bit stream, the bit stream being generated by an encoding method using an encoder, or the bit stream being decoded by a decoding method using a decoder, wherein the decoding method is as described in the first aspect and the encoding method is as described in the second aspect.

[0013] Ninth aspect, providing a bitstream, including a bitstream generated according to the method of the second aspect.

[0014] This application fully utilizes the correlation between various attribute information to predict the attribute information to be encoded at the current point (i.e., the second attribute information mentioned above) based on the reconstructed value of the attribute information already encoded at the current point (i.e., the first attribute information mentioned above). This helps to improve the accuracy of the predicted information, thereby helping to improve the encoding and decoding efficiency of point cloud attribute information. Attached Figure Description

[0015] Figure 1 is a schematic diagram of a network architecture for point cloud encoding and decoding.

[0016] Figure 2A is a schematic diagram of the component framework of a G-PCC encoder.

[0017] Figure 2B is a schematic diagram of the component framework of a G-PCC decoder.

[0018] Figure 3 is a schematic diagram of the prediction transformation coding process for attribute information.

[0019] Figure 4 is a schematic diagram of the generation process of a distance-based level of detail (LOD) layer.

[0020] Figure 5 is a flowchart illustrating the prediction model for determining attribute information provided by related technologies.

[0021] Figure 6 is a flowchart illustrating a decoding method provided in an embodiment of this application.

[0022] Figure 7 is a schematic diagram of the three nearest neighbors of the current point.

[0023] Figure 8 is a flowchart illustrating an encoding method provided in an embodiment of this application.

[0024] Figure 9 is a flowchart illustrating the prediction pattern for determining attribute information provided in an embodiment of this application.

[0025] Figure 10 is a flowchart illustrating an encoding method provided in another embodiment of this application.

[0026] Figure 11 is a flowchart illustrating a decoding method provided in another embodiment of this application.

[0027] Figure 12 is a schematic diagram of the structure of a decoder provided in an embodiment of this application.

[0028] Figure 13 is a schematic diagram of the structure of a decoder provided in another embodiment of this application.

[0029] Figure 14 is a schematic diagram of the encoder provided in an embodiment of this application.

[0030] Figure 15 is a schematic diagram of the encoder provided in another embodiment of this application. Detailed Implementation

[0031] In order to gain a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for reference and illustration only and are not intended to limit the embodiments of this application.

[0032] 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 herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0033] In the following description, “some implementations” are referred to, which describe a subset of all possible embodiments. However, it is understood that “some implementations” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0034] It should also be noted that the terms "first, second, and third" used in the embodiments of this application are only used to distinguish similar objects and do not represent a specific order of objects. It is understood that "first, second, and third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0035] A point cloud is a set of randomly distributed discrete points in space that represent the spatial structure and surface properties of a three-dimensional object or scene. These points contain geometric information representing spatial location and attribute information representing the appearance and texture of the point cloud.

[0036] Two-dimensional images contain information at each pixel, and their distribution is regular, so there's no need to record their positional information separately. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so the position of each point in space needs to be recorded to fully represent a point cloud. Similar to two-dimensional images, each location during acquisition has corresponding attribute information, usually RGB color values, reflecting the color of an object. For point clouds, in addition to color information, a common attribute for each point is reflectance, which reflects the surface material of the object. Therefore, point cloud data typically includes point position information and point attribute information. Point position information can also be called point geometric information. For example, point geometric information can be the three-dimensional coordinates (x, y, z). Point attribute information can include color information and / or reflectance, etc. For example, reflectance can be one-dimensional reflectance information (r); color information can be information in any color space, or it can be three-dimensional color information, such as RGB information. Here, R represents red (red, R), G represents green (green, G), and B represents blue (blue, B). For example, color information can be luminance and chromaticity (YCbCr, YUV) information. Here, Y represents luminance (luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.

[0037] Point clouds obtained based on laser measurement principles can include the three-dimensional coordinates and reflectance values ​​of the points. Similarly, point clouds obtained based on photogrammetry principles can include the three-dimensional coordinates and three-dimensional color information of the points. Furthermore, point clouds obtained by combining laser measurement and photogrammetry principles can include the three-dimensional coordinates, reflectance values, and three-dimensional color information of the points.

[0038] Currently, point cloud encoding frameworks capable of compressing point clouds can be the geometry-based point cloud compression (G-PCC) or video-based point cloud compression (V-PCC) frameworks provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC framework provided by AVS. The G-PCC framework can be used to compress both static point clouds (Type 1) and dynamically acquired point clouds (Type 3), and it can be based on a point cloud compression test platform (test model compression 13, TMC13). The V-PCC framework can be used to compress dynamic point clouds (Type 2), and it can be based on a point cloud compression test platform (test model compression 2, TMC2). Therefore, the G-PCC framework is also called the point cloud codec TMC13, and the V-PCC framework is also called the point cloud codec TMC2.

[0039] This application provides a network architecture for a point cloud encoding / decoding system that includes decoding and encoding methods. Figure 1 is a schematic diagram of such a network architecture. As shown in Figure 1, the network architecture includes one or more electronic devices 13 to 1N and a communication network 01. The electronic devices 13 to 1N can perform video interaction through the communication network 01. The electronic devices can be various types of devices with point cloud encoding / decoding capabilities, such as mobile phones, tablets, personal computers, personal digital assistants, navigators, digital phones, video phones, televisions, sensing devices, servers, etc. This application does not impose any limitations. The decoder or encoder in this application can be one of the aforementioned electronic devices.

[0040] The electronic device in this application embodiment has point cloud encoding and decoding functions, and generally includes a point cloud encoder (i.e., encoder) and a point cloud decoder (i.e. decoder).

[0041] The following explanation uses the G-PCC encoding / decoding framework as an example to illustrate the relevant technologies.

[0042] As can be understood, in the G-PCC encoding and decoding framework for point clouds, the point cloud data to be encoded is first divided into multiple slices. Within each slice, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately.

[0043] Figure 2A illustrates a schematic diagram of the component framework of a G-PCC encoder. As shown in Figure 2A, during the geometric encoding process, coordinate transformation is performed on the geometric information to ensure that the entire point cloud is contained within a bounding box. Then, quantization is performed; this step primarily serves a scaling function. Due to quantization rounding, some point clouds have identical geometric information, so parameters are used to determine whether to remove duplicate points. This process of quantization and removing duplicate points is also known as voxelization. Next, the bounding box is partitioned into an octree or a prediction tree is constructed. During this process, arithmetic encoding is performed on the points in the leaf nodes of the partition to generate a binary geometric bitstream; or, arithmetic encoding is performed on the vertices generated by the partition (surface fitting based on the vertices) to generate a binary geometric bitstream. During the attribute encoding process, after geometric encoding is completed and the geometric information is reconstructed, color conversion is performed to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space. Then, the reconstructed geometric information is used to recolor the point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information. Attribute encoding primarily targets color information. In the color information encoding process, there are three main transformation methods. The first two methods rely on level of detail (LOD) partitioning: distance-based prediction transform (PT) and lifting transform (LT), respectively. The third method is direct RAHT. All three methods transform color information from the spatial domain to the frequency domain, obtaining high-frequency and low-frequency coefficients through the transformation. Finally, the coefficients are quantized, and then arithmetic encoding is performed on the quantized coefficients to generate a binary attribute bitstream.

[0044] Figure 2B illustrates a schematic diagram of the G-PCC decoder's structural framework. As shown in Figure 2B, for the acquired binary bitstream, the geometric bitstream and attribute bitstream within the binary bitstream are first decoded independently. During the decoding of the geometric bitstream, arithmetic decoding—reconstructing the octree / reconstructing the prediction tree—reconstructing geometry—inverse coordinate transformation is used to obtain the geometric information of the point cloud. During the decoding of the attribute bitstream, arithmetic decoding—inverse quantization—LOD partitioning / RAHT—inverse color transformation is used to obtain the attribute information of the point cloud. Based on the geometric and attribute information, the point cloud data to be encoded (i.e., the output point cloud) is reconstructed.

[0045] It should be noted that, as shown in Figure 2A or Figure 2B, the current geometric coding and decoding of G-PCC can be divided into octree-based geometric coding and decoding (marked with dashed boxes) and prediction tree-based geometric coding and decoding (marked with dotted-dash boxes).

[0046] For octree-based geometry encoding (OctGeomEnc), the process involves: first, performing coordinate transformation on the geometric information to ensure that all points in the point cloud are contained within a single bounding box. Next, quantization is performed, primarily for scaling. Due to quantization rounding, some points may have identical geometric information; parameters are used to determine whether to remove duplicate points. This process of quantization and duplicate point removal is also known as voxelization. Then, the bounding box is continuously partitioned into tree types (e.g., octree, quadtree, binary tree) using a breadth-first search, and the placeholder code for each node is encoded. In related technologies, one company proposed an implicit geometric partitioning method, which first calculates the bounding box of the point cloud. Assume d x >d y >d z The bounding box corresponds to a cuboid. During geometric partitioning, a binary tree partition is first performed based on the x-axis, resulting in two child nodes; this continues until d is satisfied. x =d y >d z Only when the condition is met will the quadtree be partitioned based on the x and y axes to obtain four child nodes; when d is finally satisfied x =d y =d z Under certain conditions, the octree partitioning will continue until the resulting leaf nodes form a 1×1×1 unit cube. The partitioning then stops, and the nodes in the leaf nodes are encoded to generate a binary code stream. In the binary / quadtree / octree partitioning process, two parameters are introduced: K and M. Parameter K indicates the maximum number of binary / quadtree partitions performed before octree partitioning; parameter M indicates that the minimum block side length during binary / quadtree partitioning is 2. M At the same time, K and M must satisfy the following condition: Assume d max =max(d x ,d y ,d z ), d min =min(d x ,d y ,d z The parameter K satisfies: K ≥ d max -d min The parameter M satisfies: M ≥ d minThe reason why parameters K and M satisfy the above conditions is that in the current G-PCC implicit partitioning process, the priority of partitioning methods is binary tree, quadtree, and octree. Only when the node block size does not meet the binary / quadtree condition will the node be continuously partitioned into an octree until the smallest leaf node unit of 1×1×1 is reached. The octree-based geometric information encoding mode can effectively encode the geometric information of the point cloud by utilizing the correlation between adjacent points in space. However, for some relatively flat nodes or nodes with planar characteristics, using planar encoding can further improve the encoding performance of the point cloud geometric information.

[0047] As mentioned earlier, the encoding of attribute information includes prediction transform and boosting transform. The following section will describe the encoding process of point cloud attribute information using prediction transform as an example.

[0048] As shown in Figure 3, the encoding process for predictive transformation of point cloud attribute information includes: first, based on the generation order of the LOD layers, predicting the current point to be encoded using the reconstructed points; then, obtaining the prediction residual value of the current point to be encoded by subtracting the predicted value from the original value; finally, quantizing and encoding the prediction residual value to generate the attribute information bitstream. The following section will describe the prediction transformation encoding process in detail according to the above steps.

[0049] Step 1: Generation of LOD layer. Currently, G-PCC uses a distance-based LOD layer construction method, as shown in Figure 4, (R l ) l=0…L-1 This represents the refinement layer, where L is the LOD layer number. The steps for constructing the LOD layer are as follows:

[0050] 1. User-defined L Euclidean distances (d) l ) l=0…L-1 Divide into L refinement layers (R) l ) l=0…L-1 ;

[0051] 2. Mark all points as unvisited, and set the set of visited points V to empty;

[0052] 3. Refine layer R l generate:

[0053] 3.1. Traverse all points; if the current point has already been visited, ignore it.

[0054] 3.2 Otherwise, calculate the minimum distance D between the current point and the point set V;

[0055] 3.3 If D is less than d l If so, then ignore the current point;

[0056] 3.4 Otherwise, mark the current point as visited and add it to R. l and V;

[0057] 3.5 Repeat this process until all points have been traversed.

[0058] 4. Take the refinement layers R0, R1, ..., R l The union of the details level (LOD) is obtained. l (Right now );

[0059] 5. Repeat this process until all points have been visited.

[0060] Step 2: Selecting the best prediction mode. Taking the attribute value of point P0 in the encoded figure 4 as an example, the predictor index of the attribute value of the nearest neighbor point P2 is set to 1; the predictor indexes of the attribute values ​​of the second nearest neighbor point P7 and the third nearest neighbor point P10 are set to 2 and 3 respectively; the predictor index of the weighted average of points P2, P7 and P10 is set to 0, as shown in Table 1.

[0061] Table 1: Candidate Prediction Patterns for Attribute Information Encoding

[0062] The selection scheme for the prediction mode of the attribute value of point P0 is shown in Figure 5. In step S510, the three nearest neighbors of the current point to be encoded are determined. The three nearest neighbors of the current point to be encoded are found from the encoded data points, and the attribute reconstruction values ​​of the three nearest neighbors are used as candidate prediction values ​​of the current point to be encoded. In step S520, the maximum attribute difference between the three nearest neighbors is calculated. In step S530, it is determined whether the maximum attribute difference is greater than the adaptive threshold. If the maximum attribute difference is less than the adaptive threshold, it is considered that the attribute values ​​of the three nearest neighbors are similar to the attribute values ​​of the predicted point, and step S540 is executed. If the maximum attribute difference is greater than the adaptive threshold, step S550 is executed. In step S540, the best prediction mode is prediction mode 0. Prediction mode 0 is used as the best prediction mode for the current point to be encoded, that is, the weighted average of the attribute values ​​of the three nearest neighbors is used as the prediction value of the current point to be encoded. The formula for the weighted average is shown in (1-1):

[0063] In the above formula The spatial geometric weights from nearest neighbor j to current point i are:

[0064] This represents the predicted attribute value for the current point i, and j represents the index of the three nearest neighbors. x represents the attribute value after the nearest neighbor is reconstructed. i ,y i ,zi The x-coordinates are the geometric coordinates of the current point i. ij ,y ij ,z ij Let be the geometric coordinates of the nearest neighbor point j.

[0065] In step S550, the cost of prediction modes 0 to 3 is calculated. The cost of prediction modes 0 to 3 can be determined based on rate-distortion optimality (RDO) calculation. In step S560, the minimum cost is determined. The minimum cost is determined from the cost of prediction modes 0 to 3. In step S570, the optimal prediction mode is set. In step S580, the optimal prediction mode is one of prediction modes 0 to 3. The optimal prediction mode is the prediction mode with the minimum cost value among prediction modes 0 to 3.

[0066] Step 3: Optimal Prediction Mode Encoding. For encoding the optimal prediction mode, G-PCC employs a joint residual and prediction mode index encoding method, whereby the prediction mode index is incorporated into the prediction residual for joint encoding. For color information, the encoding method is shown in Table 2 below.

[0067] Table 2: Joint Coding Table for Attribute Residuals and Prediction Modes

[0068] Therefore, given the tuple (res1, res2, sigIndex), i.e., the original residual and the signal index, the joint residual (res1', res2') is calculated as follows: res1' = sign(res1) × (|res1| << 1 + sigIndex >> 1) res2' = sign(res2) × (|res2| << 1 + sigIndex & 1)

[0069] On the decoding side, perform the following inverse operations: res1 = sign(res1') × (|res1'| >> 1) res2 = sign(res2') × (|res2'| >> 1) sigIndex = (|res1'| & 1) << 1 + (|res2'| & 1)

[0070] For reflectivity information, given (res, sigIndex), i.e., the original residual and the signal index, the joint residual res' is calculated as follows: res' = sign(res) × (|res| << 2 + sigIndex)

[0071] At the decoder end, perform the following inverse operation: res = sign(res') × (|res'| >> 2) sigIndex = res' & 3

[0072] Step 4: Attribute Prediction Residuals and Quantization. The attribute prediction values ​​for the current point i are obtained through the above predictions. (k is the total number of points in the point cloud). Let (a i ) i∈0…k-1 If the original attribute value is given by the current point, then the attribute residual (r) i ) i∈0…k-1 As shown in formula (1-3):

[0073] Quantify the prediction residuals:

[0074] Q i This represents the attribute residual after quantization at the current point i, where Qs is the quantization step size, which can be calculated from the quantization parameter (QP).

[0075] Step 5: Reconstruct attribute values ​​at the encoding end. The purpose of reconstructing attribute values ​​at the encoding end is to predict subsequent points to be encoded. Before reconstructing attribute values, the residuals need to be inversely quantized. The residual after dequantization:

[0076] Compared with the predicted value The reconstructed value of point i is obtained by adding them together.

[0077] In the G-PCC encoding / decoding framework, intra-frame prediction and inter-frame prediction are introduced to remove temporal and spatial redundancy in point cloud encoding. Inter-chromatic prediction is also introduced to remove redundancy between chromaticity components. For am-fused point cloud sequences containing multiple attribute information (e.g., color and reflectance information), G-PCC can also utilize the encoded attribute information to guide the encoding process of another attribute. For example, related technologies propose that if one attribute of the point cloud has been encoded, that attribute can guide the prediction process of another attribute. For instance, if the reflectance values ​​of two points in the reconstructed point cloud differ significantly, the color information of these two points may also differ significantly. Based on this idea, G-PCC modifies the LOD construction method in the encoding and decoding of multi-attribute point clouds. Specifically, when encoding the second attribute, the LOD distance calculation formula is modified to: overrallDis=geomW×geomDis+attrW×attrDis (1-7)

[0078] Where attrDis is the difference between the encoded attribute values ​​of the current point and the prediction point, geomDis represents the Euclidean distance between the current point and the prediction point, geomW is set to 1, and the value of attrW is shown in the following formula: attrW=λ×maxGeom / maxAttr (1-8)

[0079] Here, maxGeom is the sum of the length, width, and height of the bounding box, maxAttr is the maximum value of the encoded attribute values, and λ is a parameter that balances the importance of geometry and attributes.

[0080] While the aforementioned related technologies utilize pre-encoded attribute information to guide the encoding process of another attribute, for point cloud sequences containing multiple attributes, when one attribute has already been encoded and another is being encoded, significant redundancy exists between attributes. Without sufficient optimization, this redundancy inevitably leads to wasted bitrate. Therefore, improving the encoding and decoding efficiency of attribute information in point cloud sequences with multiple attributes is a problem that needs to be addressed.

[0081] To address the aforementioned problems, this application provides an encoding method comprising: determining reconstructed values ​​of first attribute information and second attribute information of k nearest neighbor points of a current point; determining a first parameter based on the reconstructed values ​​of the first attribute information and second attribute information of the k nearest neighbor points, wherein the first parameter indicates the correlation between the first attribute information and second attribute information of the current point, and k is a positive integer greater than or equal to 1; determining a predicted value of second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter; and determining a residual value of second attribute information of the current point based on the predicted value of second attribute information of the current point.

[0082] This application embodiment also provides a decoding method, including: decoding a bitstream; determining reconstructed values ​​of first attribute information and second attribute information of k nearest neighbor points of the current point; determining a first parameter based on the reconstructed values ​​of the first attribute information and second attribute information of the k nearest neighbor points, wherein the first parameter is used to indicate the correlation between the first attribute information and second attribute information of the current point, and k is a positive integer greater than or equal to 1; determining a predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter; and determining a reconstructed value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0083] In this embodiment of the application, the reconstruction value of the attribute information to be encoded at the current point (i.e., the first attribute information mentioned above) is used to predict the attribute information to be encoded at the current point (i.e., the second attribute information mentioned above), which helps to reduce the bit rate of encoding the second attribute information, thereby helping to improve the encoding and decoding efficiency of point cloud attribute information.

[0084] The decoding method provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0085] For point cloud sequences containing multiple attribute information, there may be correlations between the various attribute information of points in the point cloud. Therefore, when one attribute information has been decoded, the decoded attribute information can be used to guide the decoding of another attribute information. In other words, the decoded attribute information can be used to predict the decoding process of another attribute information. This can reduce redundancy between attribute information, reduce the bitrate occupied by attribute information in the bitstream, and help improve the decoding efficiency of attribute information.

[0086] For example, the correlation between various attribute information can refer to the correlation between brightness and reflectivity. In terms of an object's optical properties, brightness typically refers to the intensity or lightness of light perceived by the human eye. Reflectivity, on the other hand, characterizes the degree to which an object's surface reflects light, i.e., the relative intensity of light reflected from the surface. In many cases, higher reflectivity usually leads to higher brightness. According to optical theory, the brightness and reflectivity attributes of an object are strongly correlated. Statistically, reflectivity and brightness information also show a strong correlation between most points in the Am-fused category point cloud. Therefore, using the already decoded brightness information of the current point to predict the undecoded reflectivity information can remove redundancy between brightness and reflectivity information, reducing the residual reflectivity in the encoded bitstream.

[0087] Therefore, in this embodiment, after the reconstruction of the first attribute information of the current point is completed, the second attribute information of the current point can be predicted based on the reconstructed value of the first attribute information of the current point, so as to reduce the bitrate occupied by the second attribute information in the bitstream and help improve the decoding efficiency of the attribute information. The prediction method can be based on the correlation between the first attribute information and the second attribute information of the current point (i.e., the first parameter mentioned above). The following is a detailed description of one implementation method provided by the embodiment of this application.

[0088] Figure 6 is a flowchart illustrating the decoding method provided in an embodiment of this application. The decoding method in Figure 6 can be applied to a decoder. The decoding method in Figure 6 can be used to decode the attribute information of point clouds. In some implementations, this decoding method can be applied to G-PCC. Alternatively, in other implementations, this decoding method can be applied to a geometry-based solid content test model (GES-TM). GES-TM is an encoding and decoding framework proposed for dense point clouds (such as point clouds acquired in augmented reality (AR) or virtual reality (VR) scenes).

[0089] Referring to Figure 6, in step S610, the bitstream is decoded to determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point. Here, k is a positive integer greater than or equal to 1. For example, the value of K can be 3.

[0090] The embodiments of this application do not specifically limit the first attribute information. For example, the first attribute information may be color information; for instance, the first attribute information may be luminance information in luminance-chromaticity (YCbCr, YUV) information, or the first attribute information may also be luminance residual. As another example, the first attribute information may be reflectance information, or the first attribute information may also be reflectance residual.

[0091] The embodiments of this application do not specifically limit the second attribute information. For example, the second attribute information can be color information; exemplarily, the second attribute information can be luminance information in luminance-chromaticity (YCbCr, YUV) information, or the second attribute information can also be luminance residual. As another example, the second attribute information can be reflectance information, or the second attribute information can also be reflectance residual.

[0092] It should be understood that the first attribute information and the second attribute information are different attribute information for the current point. For example, when the first attribute information is brightness information, the second attribute information can be reflectivity information; when the first attribute information is reflectivity information, the second attribute information can be brightness information.

[0093] There are several ways to determine the K nearest neighbors of the current point. For example, the K nearest neighbors can be determined based on the Euclidean distance between the current point and the candidate points. Alternatively, a nearest neighbor search can be performed on the current point using a K-Dimensional tree or other spatial indexing structure (such as an octree).

[0094] Taking the first attribute information as an example, the method to determine the reconstructed value of the first attribute information of the nearest neighbor can include: determining the residual value of the first attribute information of the nearest neighbor; then, predicting the first attribute information of the nearest neighbor to determine the predicted value of the first attribute information of the nearest neighbor; finally, determining the reconstructed value of the first attribute information of the nearest neighbor based on the predicted value and residual value of the first attribute information of the nearest neighbor.

[0095] In step S620, a first parameter is determined based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point.

[0096] The method for determining the first parameter can be as shown in step S620. Since the correlation between various attribute information of the current point is likely similar to the correlation between various attributes of its nearest neighbors, using the correlation between various attributes of its nearest neighbors as the first parameter helps improve the accuracy of prediction. It should be noted that the embodiments of this application can also determine the first parameter based on other methods besides the decoding method shown in Figure 6. For example, the first parameter can also be determined based on predefined information, which is used to indicate the correlation between the first attribute information and the second attribute information of the current point.

[0097] In some implementations, the first parameter can be determined based on a first value and a second value. Here, the first value is determined by the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined by the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors. For example, the first value can be equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors; the second value can be equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0098] For example, taking brightness information as the first attribute information and reflectivity information as the second attribute information, the first parameter can satisfy the following formula:

[0099] Taking reflectivity as the first attribute information and luminance as the second attribute information as an example, the first parameter can satisfy the following formula:

[0100] Where s represents the first parameter, coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among k nearest neighbors. i This represents the reconstructed reflectance information of the i-th nearest neighbor among k nearest neighbors.

[0101] For example, taking the first attribute information as luminance residual and the second attribute information as reflectance residual, the first parameter can satisfy the following formula:

[0102] Taking the first attribute information as reflectance residual and the second attribute information as luminance residual as an example, the first parameter can satisfy the following formula:

[0103] Where s represents the first parameter, This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among k nearest neighbors. This represents the reconstructed value of the reflectance residual of the i-th nearest neighbor among k nearest neighbors.

[0104] In step S630, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information and the first parameter of the current point.

[0105] In some implementations, the predicted value of the second attribute information of the current point can be determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

[0106] For example, the predicted value of the second attribute information of the current point is equal to the product of the reconstructed value of the first attribute information of the current point and the first parameter. Another example is that the predicted value of the second attribute information of the current point is equal to the sum of the product of the reconstructed value of the first attribute information of the current point and the first parameter, plus the first offset value. Here, the first offset value can be positive or negative. For instance, as shown in Figure 7, assuming the brightness information of the current point cloud has been encoded, the current point is P0, and its three nearest neighbors are P1, P2, and P3. A linear model is established using the relationship between the brightness information and reflectance information of the three nearest neighbors P1, P2, and P3 to determine the correlation. This correlation is then used as the first parameter of P0 to predict the reflectance information of P0.

[0107] For example, taking brightness information as the first attribute information and reflectivity information as the second attribute information, the predicted value of the brightness information of the current point can be expressed based on the following formula: Coeff ref =s·Coeff luma (1-13)

[0108] Among them, Coeff ref This represents the predicted value of reflectance information for the current point, where s represents the first parameter, Coeff. luma This represents the reconstructed value of the brightness information at the current point.

[0109] Taking reflectance as the first attribute and luminance as the second attribute as an example, the predicted reflectance value for the current point can be expressed by the following formula: Coeff luma=s·Coeff ref (1-14)

[0110] Among them, Coeff luma This represents the predicted value of the brightness information at the current point, where s represents the first parameter, Coeff. ref This represents the reconstructed value of the reflectivity information for the current point.

[0111] For example, taking the first attribute information as the luminance residual and the second attribute information as the reflectance residual, the predicted value of the reflectance residual at the current point can be expressed based on the following formula: res ref =s·res luma (1-15)

[0112] Among them, res ref This represents the predicted value of the reflectance residual at the current point, where s represents the first parameter, and res represents the second parameter. luma This represents the reconstructed value of the brightness residual at the current point.

[0113] For example, taking the first attribute information as reflectance residual and the second attribute information as luminance residual, the predicted value of the luminance residual at the current point can be expressed based on the following formula: res luma =s·res ref (1-16)

[0114] Among them, res luma This represents the predicted value of the brightness residual at the current point, where s represents the first parameter, and res represents the second parameter. ref This represents the reconstructed value of the reflectance residual at the current point.

[0115] As described above, step S630 can predict the second attribute information of the current point based on the first attribute information of the current point. Step S630 can be executed based on predefined rules, or step S630 can also be indicated by parameters in the bitstream.

[0116] In some implementations, the second parameter can be determined by decoding the bitstream. The second parameter indicates whether to predict the second attribute information of the current point based on the first attribute information of the current point. If the second parameter indicates that the second attribute information of the current point should be predicted based on the first attribute information of the current point, the predicted value of the second attribute information of the current point is determined according to the reconstructed value of the first attribute information of the current point and the first parameter.

[0117] The second parameter can be carried in the attribute parameter set (APS). The second parameter can indicate whether multiple levels of the image should predict the second attribute information of the current point based on the first attribute information of the current point. For example, the second parameter can indicate whether a frame of the image should predict the second attribute information of the current point based on the first attribute information of the current point. As another example, the second parameter can indicate whether a slice or CTU image should predict the second attribute information of the current point based on the first attribute information of the current point.

[0118] The second parameter can be any combination of numbers and / or letters. The value of the second parameter can include a first value and a second value, where the first value indicates that the second attribute information of the current point is predicted based on the first attribute information of the current point, and the second value indicates that the second attribute information of the current point is not predicted based on the first attribute information of the current point. For example, the second parameter can be represented as `crosstype_enable_flag` (with values ​​including 0 and 1). If `crosstype_enable_flag` is 1, it indicates that the reflectivity information of the current point is predicted based on the brightness information of the current point; if `crosstype_enable_flag` is 0, it indicates that the reflectivity information of the current point is not predicted based on the brightness information of the current point.

[0119] The embodiments of this application do not limit the decoding order of the first attribute information and the second attribute information. For example, as shown in FIG6, the first attribute information of the point cloud can be decoded first, and then the second attribute information of the point cloud can be decoded. Alternatively, the second attribute information of the point cloud can be decoded first, and then the first attribute information of the point cloud can be decoded.

[0120] The decoding order of the first attribute information and the second attribute information can be executed according to predefined rules, or it can be indicated by parameters in the bitstream.

[0121] In some implementations, the third parameter can be determined by decoding the bitstream. The third parameter is used to indicate the decoding order of the first attribute information and the second attribute information. If the third parameter indicates that the first attribute information should be decoded first and then the second attribute information should be decoded, the predicted value of the second attribute information of the current point can be determined based on the reconstructed value of the first attribute information of the current point and the first parameter.

[0122] The third parameter can be carried in the APS. The third parameter can indicate the decoding order of the first and second attribute information of multiple levels of image. For example, the third parameter can indicate the decoding order of the first and second attribute information of a frame of image. As another example, the third parameter can indicate the decoding order of the first and second attribute information of a slice of image.

[0123] The third parameter can be any combination of numbers and / or letters. The value of the third parameter can include a third value and a fourth value. The third value indicates that the first attribute information is decoded first, then the second attribute information, and the fourth value indicates that the second attribute information is decoded first, then the first attribute information. For example, the third parameter can be represented as `muti_crosstype_pre` (with values ​​of 0 and 1). If `muti_crosstype_pre` is 1, it indicates that the color information is decoded first, then the reflectance information; if `muti_crosstype_pre` is 0, it indicates that the reflectance information is decoded first, then the color information.

[0124] As mentioned above, the predicted value of the second attribute information can be determined based on the reconstructed value of the first attribute information and the first parameter; this prediction mode can be called the first prediction mode. Besides the first prediction mode, the decoding method shown in Figure 6 can also provide other prediction modes to predict the second attribute information of the current point. For example, embodiments of this application can also determine the predicted value of the second attribute information based on the second prediction mode. In the second prediction mode, the predicted value of the second attribute information of the current point is determined based on the weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0125] For example, in the second prediction mode, the predicted value of the second attribute information of the current point can be determined based on the following formula:

[0126] In the formula The spatial geometric weights from nearest neighbor j to current point i are:

[0127] in, This represents the predicted value of the second attribute information for the current point i, and j represents the index of the three nearest neighbor points. x represents the reconstructed value of the second attribute information of the nearest neighbor. i ,y i ,z i The x-coordinates are the geometric coordinates of the current point i. ij ,y ij ,z ij Let be the geometric coordinates of the nearest neighbor point j.

[0128] The current point can select a suitable prediction mode from multiple prediction modes based on certain conditions. For example, the prediction mode for the current point can be determined based on the relationship between the difference between the reconstructed values ​​of the second attribute information of the current point's K nearest neighbors and a first threshold. Here, the difference can be the maximum difference between the reconstructed values ​​of the second attribute information of the K nearest neighbors.

[0129] In some implementations, if the difference between the reconstructed values ​​of the second attribute information of the K nearest neighbors of the current point is greater than or equal to a first threshold, the prediction mode of the current point can be determined by a fourth parameter in the decoded bitstream. The fourth parameter indicates the prediction mode of the current point; for example, the value of the fourth parameter may include an index value indicating a first prediction mode or an index value indicating a second prediction mode. For example, the value of the fourth parameter may include index values ​​0 and 1, where index value 1 indicates that the prediction mode of the current point is the first prediction mode, and index value 0 indicates that the prediction mode of the current point is the second prediction mode.

[0130] In the joint encoding of attribute residuals and prediction modes in point clouds, the fourth parameter can be determined based on the fifth parameter in the bitstream. This fifth parameter contains the residual value of the second attribute information of the current point and the jointly encoded value of the fourth parameter. The jointly encoded value of the fourth parameter can be used to represent its value. For example, the jointly encoded value of the fourth parameter can be 0 or 1, where 1 indicates that the fourth parameter is at index 1, indicating that the prediction mode of the current point is the first prediction mode, and 0 indicates that the fourth parameter is at index 0, indicating that the prediction mode of the current point is the second prediction mode.

[0131] In some other implementations, if the difference between the reconstructed values ​​of the second attribute information of the K nearest neighbors of the current point is less than a first threshold, then the predicted value of the second attribute information of the current point is determined according to the second prediction mode.

[0132] Referring again to Figure 6, in step S640, the reconstructed value of the second attribute information of the current point is determined based on the predicted value of the second attribute information of the current point.

[0133] In some implementations, the decoding method shown in Figure 6 may also include: decoding the bitstream and determining the residual value of the second attribute information of the current point.

[0134] The method of performing step S640 may include, for example, determining the reconstructed value of the second attribute information of the current point based on the residual value of the second attribute information of the current point and the predicted value of the second attribute information of the current point.

[0135] For example, when the second attribute information is brightness information or reflectivity information, the sum of the residual value of the second attribute information of the current point and the predicted value of the second attribute information of the current point can be used as the reconstructed value of the second attribute information of the current point.

[0136] When the first attribute information is the luminance residual and the second attribute information is the reflectance residual, the reconstructed value of the reflectance residual at the current point can be expressed based on the following formula: res ref =res' ref +s·res luma(1-19)

[0137] Among them, res′ ref Res represents the residual value of the reflectance residual at the current point. ref s·res represents the reconstructed value of the reflectance residual at the current point. luma This represents the predicted value of the reflectance residual at the current point.

[0138] The following describes the test results obtained by testing the encoding and decoding method provided in the embodiments of this application, in order to verify its beneficial effects.

[0139] The encoding / decoding method provided in this application embodiment was tested in G-PCC reference software TMC13 V24.0 under CTC-C1 and CTC-C2 test conditions. The configuration used was octree-predicting, and the test bitrate was all bitrates from r01 to r06. The test results are shown in Tables 3 and 4. In Tables 3 and 4, C1 condition is a lossless geometry, lossy attribute encoding method, and C2 condition is a lossy geometry, lossy attribute encoding method. End-to-End BD-AttrRate represents the bitrate saving of the end-to-end attribute value for a fixed PSNR of the attribute bitstream. The delta rate (BD-Rate) reflects the difference in peak signal-to-noise ratio (PSNR) curves between two scenarios (with and without filtering). A decrease in BD-Rate indicates a reduction in bitrate and improved performance while maintaining the same PSNR; conversely, an increase in BD-Rate indicates an increase in bitrate and decreased performance while maintaining the same PSNR. In other words, a greater decrease in BD-Rate indicates better compression. The am-fused average dataset represents the fused point cloud dataset, and the overall average is the average of the test results for all sequences.

[0140] According to the test results in Tables 3 and 4, a gain of -3.1% was achieved on the reflectance component of the Am-fused average dataset under the TMC13 and CTC-C1 test conditions, and a gain of -3.6% was achieved on the reflectance component of the Am-fused average dataset under the CTC-C2 test condition, without changing the time complexity of G-PCC operation. Therefore, the encoding and decoding method provided in this application embodiment helps to improve the encoding and decoding efficiency of point cloud attribute information.

[0141] Table 3: Test results under CTC-C1 test conditions

[0142] Table 4: Test Results under CTC-C2 Test Conditions

[0143] The decoding method provided by the embodiments of this application has been described in detail above with reference to Figure 6. The encoding method provided by the embodiments of this application will be described in detail below with reference to Figure 8.

[0144] For point cloud sequences containing multiple attribute information, there may be correlations between the various attribute information of points in the point cloud. Therefore, when one attribute information has been encoded, the encoded attribute information can be used to guide the encoding of another attribute information, or in other words, the encoded attribute information can be used to predict the encoding process of another attribute information. This can reduce redundancy between attribute information, reduce the bitrate occupied by attribute information in the bitstream, and help improve the encoding efficiency of attribute information.

[0145] For example, the correlation between various attribute information can refer to the correlation between brightness and reflectivity. In terms of an object's optical properties, brightness typically refers to the intensity or lightness of light perceived by the human eye. Reflectivity, on the other hand, characterizes the degree to which an object's surface reflects light, i.e., the relative intensity of light reflected from the surface. In many cases, higher reflectivity usually leads to higher brightness. According to optical theory, the brightness and reflectivity attributes of an object are strongly correlated. Statistically, reflectivity and brightness information also show a strong correlation between most points in the Am-fused category point cloud. Therefore, using the already encoded brightness information of the current point to predict the unencoded reflectivity information can remove redundancy between brightness and reflectivity information, helping to reduce the residual reflectivity in the encoded bitstream.

[0146] Therefore, in this embodiment, after the reconstruction of the first attribute information of the current point is completed, the second attribute information of the current point can be predicted based on the reconstructed value of the first attribute information of the current point, so as to reduce the bitrate occupied by the second attribute information in the bitstream and help improve the encoding efficiency of attribute information. The prediction method can be based on the correlation between the first attribute information and the second attribute information of the current point (i.e., the first parameter mentioned above). The following is a detailed description of one implementation method provided by the embodiment of this application.

[0147] Figure 8 is a flowchart illustrating the encoding method provided in an embodiment of this application. The encoding method in Figure 8 can be applied to an encoder. The encoding method in Figure 8 can be used to encode the attribute information of a point cloud. In some implementations, this encoding method can be applied to G-PCC. Alternatively, in other implementations, this encoding method can be applied to a geometry-based solid content test model (GES-TM). GES-TM is an encoding and decoding framework proposed for dense point clouds (such as point clouds acquired in augmented reality (AR) or virtual reality (VR) scenes).

[0148] Referring to Figure 8, in step S810, the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point are determined. Here, k is a positive integer greater than or equal to 1. For example, the value of K can be 3.

[0149] The embodiments of this application do not specifically limit the first attribute information. For example, the first attribute information may be color information; for instance, the first attribute information may be luminance information in luminance-chromaticity (YCbCr, YUV) information, or the first attribute information may also be luminance residual. As another example, the first attribute information may be reflectance information, or the first attribute information may also be reflectance residual.

[0150] The embodiments of this application do not specifically limit the second attribute information. For example, the second attribute information can be color information; exemplarily, the second attribute information can be luminance information in luminance-chromaticity (YCbCr, YUV) information, or the second attribute information can also be luminance residual. As another example, the second attribute information can be reflectance information, or the second attribute information can also be reflectance residual.

[0151] It should be understood that the first attribute information and the second attribute information are different attribute information for the current point. For example, when the first attribute information is brightness information, the second attribute information can be reflectivity information; when the first attribute information is reflectivity information, the second attribute information can be brightness information.

[0152] There are several ways to determine the K nearest neighbors of the current point. For example, the K nearest neighbors can be determined based on the Euclidean distance between the current point and the candidate points. Alternatively, a nearest neighbor search can be performed on the current point using a K-Dimensional tree or other spatial indexing structure (such as an octree).

[0153] Taking the first attribute information as an example, the method for determining the reconstructed value of the first attribute information of the nearest neighbor can include: predicting the first attribute information of the nearest neighbor and determining the predicted value of the first attribute information of the nearest neighbor; then, determining the residual value of the first attribute information of the nearest neighbor based on the predicted value and the original value; and finally, determining the reconstructed value of the first attribute information of the nearest neighbor based on the predicted value and the residual value of the first attribute information of the nearest neighbor.

[0154] In step S820, a first parameter is determined based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point.

[0155] The method for determining the first parameter can be as shown in step S820. Since the correlation between various attribute information of the current point is likely similar to the correlation between various attributes of its nearest neighbors, using the correlation between various attributes of its nearest neighbors as the first parameter helps improve the accuracy of prediction. It should be noted that the embodiments of this application can also determine the first parameter based on other methods besides the encoding method shown in Figure 8. For example, the first parameter can also be determined based on predefined information, which is used to indicate the correlation between the first attribute information and the second attribute information of the current point.

[0156] In some implementations, the first parameter can be determined based on a first value and a second value. Here, the first value is determined by the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined by the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors. For example, the first value can be equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors; the second value can be equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0157] For example, taking brightness information as the first attribute information and reflectivity information as the second attribute information, the first parameter can satisfy the following formula:

[0158] Taking reflectivity as the first attribute information and luminance as the second attribute information as an example, the first parameter can satisfy the following formula:

[0159] Where s represents the first parameter, k represents the number of k nearest neighbors, and coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among k nearest neighbors. i This represents the reconstructed reflectance information of the i-th nearest neighbor among k nearest neighbors.

[0160] For example, taking the first attribute information as luminance residual and the second attribute information as reflectance residual, the first parameter can satisfy the following formula:

[0161] Taking the first attribute information as reflectance residual and the second attribute information as luminance residual as an example, the first parameter can satisfy the following formula:

[0162] Where s represents the first parameter, and k represents the number of k nearest neighbors. This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among k nearest neighbors. It represents the reconstructed value of the reflectance residual of the i-th nearest neighbor point among at least one nearest neighbor point.

[0163] In step S830, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information and the first parameter of the current point.

[0164] In some implementations, the predicted value of the second attribute information of the current point can be determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

[0165] For example, the predicted value of the second attribute information of the current point is equal to the product of the reconstructed value of the first attribute information of the current point and the first parameter. As another example, the predicted value of the second attribute information of the current point is equal to the sum of the product of the reconstructed value of the first attribute information of the current point and the first parameter, and the first offset value. Here, the first offset value can be positive or negative.

[0166] For example, as shown in Figure 7, assuming the brightness information of the current point cloud has been encoded, the current point is P0, and its three nearest neighbors are P1, P2, and P3. A linear model is established using the relationship between the brightness information and reflectance information of the three nearest neighbors P1, P2, and P3 to determine the correlation, and this correlation is used as the first parameter of P0 to predict the reflectance information of P0.

[0167] For example, taking brightness information as the first attribute information and reflectivity information as the second attribute information, the predicted value of the brightness information of the current point can be expressed based on the following formula: Coeff ref =s·Coeff luma (1-24)

[0168] Among them, Coeff ref This represents the predicted value of reflectance information for the current point, where s represents the first parameter, Coeff. luma This represents the reconstructed value of the brightness information at the current point.

[0169] Taking reflectance as the first attribute and luminance as the second attribute as an example, the predicted reflectance value for the current point can be expressed by the following formula: Coeff luma =s·Coeff ref (1-25)

[0170] Among them, Coeff luma This represents the predicted value of the brightness information at the current point, where s represents the first parameter, Coeff. ref This represents the reconstructed value of the reflectivity information for the current point.

[0171] For example, taking the first attribute information as the luminance residual and the second attribute information as the reflectance residual, the predicted value of the reflectance residual at the current point can be expressed based on the following formula: res ref =s·res luma (1-26)

[0172] Among them, res ref This represents the predicted value of the reflectance residual at the current point, where s represents the first parameter, and res represents the second parameter. luma This represents the reconstructed value of the brightness residual at the current point.

[0173] For example, taking the first attribute information as reflectance residual and the second attribute information as luminance residual, the predicted value of the luminance residual at the current point can be expressed based on the following formula: res luma =s·res ref (1-27)

[0174] Among them, res luma This represents the predicted value of the brightness residual at the current point, where s represents the first parameter, and res represents the second parameter. ref This represents the reconstructed value of the reflectance residual at the current point.

[0175] As described above, step S830 can predict the second attribute information of the current point based on the first attribute information of the current point. Step S830 can be executed based on predefined rules, or step S830 can determine whether to execute based on specific conditions and write the final result into the bitstream.

[0176] In some implementations, the second parameter can be written into the bitstream. The second parameter is used to indicate whether to predict the second attribute information of the current point based on the first attribute information of the current point. If the second parameter indicates that the second attribute information of the current point is predicted based on the first attribute information of the current point, the predicted value of the second attribute information of the current point is determined according to the reconstructed value of the first attribute information of the current point and the first parameter.

[0177] The second parameter can be carried in the attribute parameter set (APS). The second parameter can indicate whether multiple levels of the image should predict the second attribute information of the current point based on the first attribute information of the current point. For example, the second parameter can indicate whether a frame of the image should predict the second attribute information of the current point based on the first attribute information of the current point. As another example, the second parameter can indicate whether a slice or CTU image should predict the second attribute information of the current point based on the first attribute information of the current point.

[0178] The second parameter can be any combination of numbers and / or letters. The value of the second parameter can include a first value and a second value, where the first value indicates that the second attribute information of the current point is predicted based on the first attribute information of the current point, and the second value indicates that the second attribute information of the current point is not predicted based on the first attribute information of the current point. For example, the second parameter can be represented as `crosstype_enable_flag` (with values ​​including 0 and 1). If `crosstype_enable_flag` is 1, it indicates that the reflectivity information of the current point is predicted based on the brightness information of the current point; if `crosstype_enable_flag` is 0, it indicates that the reflectivity information of the current point is not predicted based on the brightness information of the current point.

[0179] The embodiments of this application do not limit the encoding order of the first attribute information and the second attribute information. For example, as shown in FIG8, the first attribute information of the point cloud can be encoded first, and then the second attribute information of the point cloud can be encoded. Alternatively, the second attribute information of the point cloud can be encoded first, and then the first attribute information of the point cloud can be encoded.

[0180] The encoding order of the first attribute information and the second attribute information can be executed according to predefined rules, or it can be determined at the encoding end and indicated to the decoding end through parameters in the bitstream.

[0181] In some implementations, the third parameter can be written into the bitstream. The third parameter is used to indicate the encoding order of the first attribute information and the second attribute information. If the third parameter indicates that the first attribute information is encoded first and then the second attribute information is encoded, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point and the first parameter.

[0182] The third parameter can be carried in the APS. The third parameter can indicate the encoding order of the first and second attribute information of multiple levels of image. For example, the third parameter can indicate the encoding order of the first and second attribute information of a frame of image. As another example, the third parameter can indicate the encoding order of the first and second attribute information of a slice of image.

[0183] The third parameter can be any combination of numbers and / or letters. The value of the third parameter can include a third value and a fourth value, where the third value indicates that the first attribute information is encoded first, followed by the second attribute information, and the fourth value indicates that the second attribute information is encoded first, followed by the first attribute information. For example, the third parameter can be represented as `muti_crosstype_pre` (with values ​​including 0 and 1). If `muti_crosstype_pre` is 1, it indicates that color information is encoded first, followed by reflectance information; if `muti_crosstype_pre` is 0, it indicates that reflectance information is encoded first, followed by color information.

[0184] As mentioned above, the predicted value of the second attribute information can be determined based on the reconstructed value of the first attribute information and the first parameter; this prediction mode can be called the first prediction mode. Besides the first prediction mode, the encoding method shown in Figure 8 can also provide other prediction modes to predict the second attribute information of the current point. For example, embodiments of this application can also determine the predicted value of the second attribute information based on the second prediction mode. In the second prediction mode, the predicted value of the second attribute information of the current point is determined based on the weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0185] For example, in the second prediction mode, the predicted value of the second attribute information of the current point can be determined based on the following formula:

[0186] In the formula The spatial geometric weights from nearest neighbor j to current point i are:

[0187] in, This represents the predicted value of the second attribute information for the current point i, and j represents the index of the three nearest neighbor points. x represents the reconstructed value of the second attribute information of the nearest neighbor. i ,y i ,z i The x-coordinates are the geometric coordinates of the current point i. ij ,y ij ,z ij Let be the geometric coordinates of the nearest neighbor point j.

[0188] The current point can select a suitable prediction mode from multiple prediction modes based on certain conditions. For example, the prediction mode for the current point can be determined based on the relationship between the difference between the reconstructed values ​​of the second attribute information of the current point's k nearest neighbors and a first threshold. Here, the difference can be the maximum difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0189] In some implementations, if the difference between the reconstructed values ​​of the second attribute information of the current point's k nearest neighbors is greater than or equal to a first threshold, then the predicted value of the current point under multiple prediction modes is determined, where the multiple prediction modes include a first prediction mode. Then, based on the predicted values ​​of the current point under the multiple prediction modes, the cost value corresponding to each prediction mode is determined. Finally, based on the cost value corresponding to each prediction mode, the prediction mode of the current point is determined from the multiple prediction modes. This cost value can, for example, be determined based on rate-distortion optimization (RDO).

[0190] In some implementations, the fourth parameter can be written into the bitstream. The fourth parameter is used to indicate the prediction mode of the current point. For example, the value of the fourth parameter can include an index value indicating a first prediction mode or an index value indicating a second prediction mode. For example, the value of the fourth parameter can include index values ​​0 and 1, where index value 1 is used to indicate that the prediction mode of the current point is the first prediction mode, and index value 0 is used to indicate that the prediction mode of the current point is the second prediction mode.

[0191] In the joint encoding of attribute residuals and prediction modes in point clouds, the fourth parameter can be included in the fifth parameter of the bitstream. This fifth parameter contains the residual value of the second attribute information of the current point and the jointly encoded value of the fourth parameter. The jointly encoded value of the fourth parameter can be used to represent its value. For example, the jointly encoded value of the fourth parameter can be 0 or 1, where 1 indicates that the fourth parameter is at index 1, indicating that the prediction mode of the current point is the first prediction mode, and 0 indicates that the fourth parameter is at index 0, indicating that the prediction mode of the current point is the second prediction mode.

[0192] In some other implementations, if the difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors of the current point is less than a first threshold, then the predicted value of the second attribute information of the current point is determined according to the second prediction mode.

[0193] Referring again to Figure 8, in step S840, the residual value of the second attribute information of the current point is determined based on the predicted value of the second attribute information of the current point.

[0194] The execution of step S840 may include, for example, determining the residual value of the second attribute information of the current point based on the original value of the second attribute information of the current point and the predicted value of the second attribute information of the current point.

[0195] For example, the difference between the original value of the second attribute information of the current point and the predicted value of the second attribute information of the current point can be used as the residual value of the second attribute information of the current point.

[0196] When the first attribute information is the luminance residual and the second attribute information is the reflectance residual, the residual value of the reflectance residual at the current point can be expressed based on the following formula: res′ ref =res ref -s·res luma (1-30)

[0197] Among them, res′ ref Res represents the residual value of the reflectance residual at the current point. ref Represents the reflectance residual at the current point, s·res luma This represents the predicted value of the reflectance residual at the current point.

[0198] In some implementations, the encoding method shown in Figure 8 may further include: quantizing the residual value of the second attribute information of the current point to determine the quantized residual value; and then performing entropy encoding on the quantized residual value.

[0199] The embodiments of this application are described in more detail below with specific examples. It should be noted that the examples below are merely to help those skilled in the art understand the embodiments of this application, and are not intended to limit the embodiments of this application to the specific numerical values ​​or scenarios illustrated. Those skilled in the art can obviously make various equivalent modifications or variations based on the examples given below, and such modifications or variations also fall within the scope of the embodiments of this application.

[0200] In the scheme of predictive transformation coding of attribute information based on relevant technologies, after the LOD layer is constructed, according to the generation order of the LOD layer, the three nearest neighbors of the current point are first found from the encoded data points. Then, the maximum attribute difference (max_difference) of the three nearest neighbors is calculated. If the value of max_difference is less than the adaptive threshold, the three nearest neighbors are considered to have similar attribute values ​​to the predicted point, and therefore mode 0 weighted prediction is used. If the value of max_difference is greater than the adaptive threshold, the best prediction value is selected from four prediction modes according to RDO. Among the above four prediction modes, mode 0 is the average prediction, and modes 1, 2, and 3 respectively use the reconstructed attribute values ​​of the three nearest neighbors as the attribute prediction values ​​of the current point.

[0201] This example, after encoding the first attribute information in a multi-attribute point cloud, uses the encoded first attribute information to predict the encoding of the second attribute information, thereby improving prediction accuracy and removing redundancy. In this example, the correlation between the two attribute information of the current point is replaced by the correlation between the two attribute information of the three nearest neighbors (i.e., the first parameter). Simultaneously, prediction modes 1-3 in the original RDO scheme are deleted, retaining only the average weighted prediction (i.e., the second prediction mode) and cross-attribute prediction (i.e., the first prediction mode). The prediction mode for the current point is selected from these two prediction modes according to RDO. The scheme flow of this example is described below with reference to Figure 9. Detailed implementation methods for each step can be found in the description above and will not be repeated here.

[0202] In step S910, the three nearest neighbors of the current point to be encoded are determined.

[0203] In step S920, the maximum attribute difference between the three nearest neighbors is calculated.

[0204] In step S930, it is determined whether the maximum attribute difference is greater than the first threshold.

[0205] In step S940, the second prediction mode is determined as the prediction mode for the current point.

[0206] In step S950, the first parameter is determined based on the attribute information of the three nearest neighbors.

[0207] In step S960, a first prediction mode is determined.

[0208] In step S970, the cost value corresponding to the first prediction mode and the second prediction mode is calculated based on RDO.

[0209] In step S980, the minimum cost is determined.

[0210] In step S990, the prediction mode for the current point is determined from the first prediction mode and the second prediction mode based on the minimum cost value.

[0211] In terms of the optical properties of objects, brightness usually refers to the intensity or lightness of light perceived by the human eye. Reflectivity, on the other hand, characterizes the degree to which an object's surface reflects light, i.e., the relative intensity of light reflected from the surface. In many cases, higher reflectivity usually leads to higher brightness. According to optical theory, the brightness and reflectivity attributes of an object are strongly correlated. Statistically, the reflectivity and brightness information of most points in the Am-fused category point cloud also show a strong correlation, especially for nearest neighbor points, where their correlations are basically the same. Therefore, using the already encoded attribute information of the current point to predict the unencoded attribute information can reduce residuals and remove redundancy. For example, as shown in Figure 7, the current point is P0, and its three nearest neighbors are P1, P2, and P3. A linear model is established using the relationship between the brightness and reflectivity information of the three points P1, P2, and P3 to determine the first parameter. This first parameter is then used as the correlation between the brightness and reflectivity information of point P0, thereby using the brightness information of P0 to predict the reflectivity information of P0.

[0212] In the predictive transform coding schemes of related technologies, prediction modes 1-3 directly use the attribute reconstruction values ​​of the three nearest neighbors of the current point as the attribute prediction values ​​of the current point to be encoded. Since the brightness and reflectance information of the point cloud are correlated, especially between nearest neighbors, the correlation between the two attributes is roughly the same. If the brightness information of the point cloud has already been encoded, cross-attribute prediction is used to remove redundancy, and the reflectance value of the current point to be predicted can be expressed as: Coeff ref =s·Coeff luma (1-31)

[0213] Among them, Coeff ref and Coeff luma represents the reflectivity and luminance values ​​at the current point, respectively, and s represents the correlation.

[0214] The first prediction model provided in this example calculates the correlation (i.e., the first parameter) between the reconstructed values ​​of brightness and reflectance information of three nearest neighbor points, and uses this correlation as the correlation between the attributes of the current point, thereby achieving the goal of guiding cross-attribute prediction based on three nearest neighbor points. The second prediction model provided in this example uses the weighted sum of the reconstructed values ​​of the second attribute information of the three nearest neighbor points as the predicted value of the second attribute information of the current point. The two candidate prediction models provided in this example are shown in Table 5.

[0215] Table 5: Candidate Prediction Patterns for the Current Point

[0216] The first parameter, determined based on the brightness and reflectivity information of nearest neighbors, can be expressed as:

[0217] Where s represents the first parameter, k represents the number of nearest neighbors, and coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor point. i This represents the reconstructed reflectance information of the i-th nearest neighbor point.

[0218] The encoding process provided in this example will be described in detail below with reference to Figure 10.

[0219] As shown in Figure 10, this example uses brightness information to predict reflectance information. Brightness information is encoded using a traditional prediction mode. After the brightness information is encoded, for reflectance information, firstly, according to the generation order of the LOD layer, the three nearest neighbors of the current point are found from the already encoded data points. Then, the maximum attribute difference between the three nearest neighbors is calculated. If the maximum attribute difference is less than a first threshold, the second prediction mode is selected as the prediction mode for the current point; if the distance is greater than the first threshold, the first parameter is calculated according to formula (1-32). Next, using the brightness information of the current point and the first parameter, the predicted value of the reflectance information is calculated according to formula (1-31). Finally, the best predicted value for the current point is selected using RDO technology, and the prediction residual is quantized and entropy encoded to ultimately form the attribute bitstream.

[0220] This example uses a combination of residual and prediction pattern index coding to encode attribute information. Taking color information as an example, the encoding method in this example is shown in Table 6 below.

[0221] Table 6: Joint Coding Table for Attribute Residuals and Prediction Modes

[0222] For color information, given the tuple (res1, res2, sigIndex), i.e., the original residual and the signal index, the joint residual (res1', res2') is calculated as follows: res1' = sign(res1) * (|res1| << 1 + (sigIndex > 0)) res2' = (sigIndex > 0) ? sign(res2) * (|res2| << 1 + (sigIndex - 1)) : res2

[0223] For reflectivity information, given the tuple (res, sigIndex), i.e. the original residual and the signal index, the joint residual res' is calculated as follows: res'=sign(res)*(|res|<<1+sigIndex)

[0224] In addition, a flag, crosstype_enable_flag, can be added to the auxiliary parameter set (APS). A value of 1 indicates that the current point predicts the second attribute information based on the first attribute information, while a value of 0 indicates that the current point does not predict the second attribute information based on the first attribute information.

[0225] The decoding process provided in this example will be described in detail below with reference to Figure 11.

[0226] As shown in Figure 11, this example uses brightness information to predict reflectance information. For brightness information, it is decoded using a traditional prediction mode. After the brightness information is decoded and reconstructed, the decoder reads the attribute bitstream for reflectance information. Through entropy decoding, the attribute quantization residual is obtained, and the decoded quantization residual is dequantized to obtain the attribute residual. Then, according to the generated LOD order, the three nearest neighbors of the current point are found from the decoded and reconstructed data points. The maximum attribute difference between the three nearest neighbors is then calculated; if the maximum attribute difference is less than a first threshold, the second prediction mode is selected as the prediction mode for the current point; if the distance is greater than the first threshold, the first parameter is calculated according to formula (1-32). Next, using the brightness information of the current point and the first parameter, the predicted value of the reflectance information is calculated according to formula (1-31). Then, the predicted value of the reflectance information is added to the attribute residual obtained from dequantization to obtain the true reconstructed attribute value, thus completing the decoding of the reflectance information for the current point. Finally, all point sets are traversed sequentially until the reflectance information of all points is fully reconstructed.

[0227] In this example, the specific implementation of the decoding program is as follows: if the distance is greater than the adaptive threshold, the best prediction mode index i is decoded from the bitstream. If the value of i is 1, the overall correlation S (i.e. the first parameter) between the brightness information and reflectance information of the three nearest points is calculated. Then, using the brightness information of the current point and the first parameter, the predicted value of the reflectance information is calculated according to formulas (1-31) and (1-32).

[0228] The calculation process is reflected in the decoding function predictReflectance, where s is the first parameter in the program.

[0229] Meanwhile, part of the program for decoding the prediction mode has been modified as follows:

[0230] For color information, at the decoder end, the following operations are performed to obtain the residual and prediction mode index: res1=sign(res1')*(|res1'|>>1) res2=(|res1'|&1>0)? sign(res2')*(|res2'|>>1):res2' sigIndex=(|res1'|&1))+((|res1'|&1>0)?(|res2'|&1):0)

[0231] For reflectance information, at the decoder end, the following operations are performed to obtain the residual and the predicted mode index: res = sign(res') * ((|res'|>>1) sigIndex = res' & 1

[0232] This example can be applied to both predictive transform coding schemes and enhanced transform coding schemes for attribute information. For point clouds fused with multiple attributes (e.g., color and reflectance), by mining the correlation between brightness and reflectance information, coding redundancy is removed when encoding the second attribute, improving coding efficiency. Simultaneously, the types of candidate prediction modes and the encoding / decoding process in the traditional predictive transform coding scheme are modified, achieving enhanced quality of the reconstructed point cloud at the decoding end under average bitrate.

[0233] The method embodiments of this application have been described in detail above with reference to Figures 1 to 11. The apparatus embodiments of this application will be described in detail below with reference to Figures 12 to 15. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments; therefore, any parts not described in detail can be referred to the preceding method embodiments.

[0234] Figure 12 is a schematic diagram of the structure of a decoder provided in an embodiment of this application. As shown in Figure 12, the decoder 1200 may include a first determining unit 1210, a second determining unit 1220, a third determining unit 1230, and a fourth determining unit 1240.

[0235] The first determining unit 1210 is configured to decode the bit stream and determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points of the current point.

[0236] The second determining unit 1220 is configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1.

[0237] The third determining unit 1230 is configured to determine the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter;

[0238] The fourth determining unit 1240 is configured to determine the reconstructed value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0239] In some implementations, the first parameter is determined based on a first value and a second value. The first value is determined based on the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined based on the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0240] In some implementations, the first value is equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors, and the second value is equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0241] In some implementations, the first attribute information is brightness information, the second attribute information is reflectivity information, and the first parameter satisfies... Alternatively, the first attribute information is reflectivity information, the second attribute information is brightness information, and the first parameter satisfies... Where s represents the first parameter, k represents the number of the k nearest neighbors, and coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among the k nearest neighbors. i This represents the reconstructed value of the reflectance information of the i-th nearest neighbor among the k nearest neighbors.

[0242] In some implementations, the first attribute information is the luminance residual, the second attribute information is the reflectivity residual, and the first parameter satisfies... Alternatively, the first attribute information is the reflectivity residual, the second attribute information is the luminance residual, and the first parameter satisfies... Where s represents the first parameter, and k represents the number of the k nearest neighbors. This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among the k nearest neighbors. This represents the reconstructed value of the reflectance residual of the i-th nearest neighbor among the at least one nearest neighbor.

[0243] In some implementations, the predicted value of the second attribute information of the current point is determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

[0244] In some implementations, the first attribute information is brightness information, the second attribute information is reflectivity information, and the predicted value of the second attribute information at the current point satisfies Coeff... ref =s·Coeff luma Alternatively, the first attribute information is reflectivity information, the second attribute information is luminance information, and the predicted value of the second attribute information at the current point satisfies Coeff... luma =s·Coeff ref Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the reconstructed value of the brightness information at the current point.

[0245] In some implementations, the first attribute information is the luminance residual, the second attribute information is the reflectance residual, and the predicted value of the second attribute information at the current point satisfies res ref =s·res luma Alternatively, the first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the predicted value of the second attribute information at the current point satisfies res luma =s·res ref Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the reconstructed value of the brightness information at the current point.

[0246] In some implementations, the decoder 1200 further includes a fifth determining unit configured to decode the bitstream and determine a second parameter, the second parameter being used to indicate whether to predict the second attribute information of the current point based on the first attribute information of the current point; the third determining unit 1230 is further configured to, when the second parameter indicates that the second attribute information of the current point is predicted based on the first attribute information of the current point, determine the predicted value of the second attribute information of the current point according to the reconstructed value of the first attribute information of the current point and the first parameter.

[0247] In some implementations, the second parameter is carried in a set of attribute parameters.

[0248] In some implementations, the decoder 1200 further includes a sixth determining unit configured to decode the bitstream and determine a third parameter, the third parameter being used to indicate the decoding order of the first attribute information and the second attribute information of the current point; the third determining unit 1230 is further configured to, when the third parameter indicates that the first attribute information of the current point should be decoded first and then the second attribute information of the current point, determine the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter.

[0249] In some implementations, the decoder 1200 further includes a seventh determining unit configured to determine the reconstructed values ​​of the second attribute information of the k nearest neighbors; the third determining unit 1230 is further configured to decode the bitstream and determine a fourth parameter if the difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors is greater than or equal to a first threshold, the fourth parameter being used to indicate the prediction mode of the current point; if the prediction mode of the current point is a first prediction mode, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point and the first parameter, wherein, in the first prediction mode, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point.

[0250] In some implementations, the third determining unit 1230 is further configured to decode the bitstream, determine a fifth parameter, the fifth parameter including the residual value of the second attribute information of the current point and the joint encoded value of the fourth parameter; and determine the fourth parameter based on the fifth parameter.

[0251] In some implementations, the decoder 1200 further includes an eighth determining unit configured to determine the predicted value of the second attribute information of the current point according to a second prediction mode if the difference is less than the first threshold, wherein, in the second prediction mode, the predicted value of the second attribute information of the current point is determined based on the weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0252] In some implementations, the difference is the maximum difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0253] In some implementations, the decoder 1200 further includes a ninth determining unit configured to decode the bitstream and determine the residual value of the second attribute information of the current point; the fourth determining unit 1240 is further configured to determine the reconstructed value of the second attribute information of the current point based on the residual value of the second attribute information of the current point and the predicted value of the second attribute information of the current point.

[0254] It is understood that in the embodiments of this application, a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and can also be a module or a non-modular one. Moreover, the components in this embodiment can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of a software functional module.

[0255] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0256] Therefore, this application provides a computer-readable storage medium applied to a decoder 1200, the computer-readable storage medium storing a computer program, which, when executed by a processor, implements the decoding method described in any of the foregoing embodiments.

[0257] Based on the composition of the decoder 1200 and the computer-readable storage medium described above, refer to Figure 13, which shows a schematic diagram of the specific hardware structure of the encoder 1300 provided in this embodiment. As shown in Figure 13, the encoder 1300 may include: a communication interface 1310, a memory 1320, and a processor 1330; the various components are coupled together through a bus system 1340. It is understood that the bus system 1340 is used to realize the connection and communication between these components. In addition to a data bus, the bus system 1340 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 1340 in Figure 13.

[0258] The communication interface 1310 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;

[0259] Memory 1320 is used to store computer programs;

[0260] Processor 1330, when running the computer program, performs the following:

[0261] Decode the bitstream and determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point;

[0262] Based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points, a first parameter is determined. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1.

[0263] Based on the reconstructed value of the first attribute information of the current point and the first parameter, determine the predicted value of the second attribute information of the current point;

[0264] Based on the predicted value of the second attribute information of the current point, the reconstructed value of the second attribute information of the current point is determined.

[0265] It is understood that the memory 1320 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM). The memory 1320 of the system and method described in this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0266] The processor 1330 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1330 or by instructions in software form. The processor 1330 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 1320. Processor 1330 reads the information in memory 1320 and completes the steps of the above method in conjunction with its hardware.

[0267] It is understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), DSP devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof. For software implementation, the technology described in this application can be implemented through modules (e.g., procedures, functions, etc.) that perform the functions described in this application. Software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or externally.

[0268] Alternatively, as another embodiment, the processor 1330 is also configured to execute the decoding method described in any of the foregoing embodiments when running the computer program.

[0269] Figure 14 is a schematic diagram of the structure of an encoder provided in an embodiment of this application. As shown in Figure 14, the encoder 1400 includes a first determining unit 1410, a second determining unit 1420, a third determining unit 1430, and a fourth determining unit 1440.

[0270] The first determining unit 1410 is configured to determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points of the current point.

[0271] The second determining unit 1420 is configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1.

[0272] The third determining unit 1430 is configured to determine the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter;

[0273] The fourth determining unit 1440 is configured to determine the residual value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

[0274] In some implementations, the first parameter is determined based on a first value and a second value. The first value is determined based on the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined based on the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0275] In some implementations, the first value is equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors, and the second value is equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

[0276] In some implementations, the first attribute information is brightness information, the second attribute information is reflectivity information, and the first parameter satisfies... Alternatively, the first attribute information is reflectivity information, the second attribute information is brightness information, and the first parameter satisfies... Where s represents the first parameter, coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among the k nearest neighbors. iThis represents the reconstructed value of the reflectance information of the i-th nearest neighbor among the k nearest neighbors.

[0277] In some implementations, the first attribute information is the luminance residual, the second attribute information is the reflectivity residual, and the first parameter satisfies... Alternatively, the first attribute information is the reflectivity residual, the second attribute information is the luminance residual, and the first parameter satisfies... Where s represents the first parameter. This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among the k nearest neighbors. This represents the reconstructed value of the reflectance residual of the i-th nearest neighbor among the k nearest neighbors.

[0278] In some implementations, the predicted value of the second attribute information of the current point is determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

[0279] In some implementations, the first attribute information is brightness information, the second attribute information is reflectivity information, and the predicted value of the second attribute information at the current point satisfies Coeff... ref =s·Coeff luma Alternatively, the first attribute information is reflectivity information, the second attribute information is luminance information, and the predicted value of the second attribute information at the current point satisfies Coeff... luma =s·Coeff ref Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the reconstructed value of the brightness information at the current point.

[0280] In some implementations, the first attribute information is the luminance residual, the second attribute information is the reflectance residual, and the predicted value of the second attribute information at the current point satisfies res ref =s·res luma Alternatively, the first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the predicted value of the second attribute information at the current point satisfies res luma =s·res ref Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the reconstructed value of the brightness information at the current point.

[0281] In some implementations, the encoder 1400 further includes a first writing unit configured to write a second parameter into the bitstream, the second parameter being used to indicate whether to predict the second attribute information of the current point based on the first attribute information of the current point.

[0282] In some implementations, the second parameter is carried in a set of attribute parameters.

[0283] In some implementations, the encoder 1400 further includes a second writing unit configured to write a third parameter into the bitstream, the third parameter being used to indicate the encoding order of the first attribute information and the second attribute information of the current point.

[0284] In some implementations, the encoder 1400 further includes a fifth determining unit configured to determine the reconstructed values ​​of the second attribute information of the k nearest neighbors; if the difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors is greater than or equal to a first threshold, then determine the predicted value of the current point under multiple prediction modes, wherein the multiple prediction modes include a first prediction mode, and under the first prediction mode, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point; based on the predicted value of the current point under the multiple prediction modes, determine the cost value corresponding to the multiple prediction modes; based on the cost value corresponding to the multiple prediction modes, determine the prediction mode of the current point from the multiple prediction modes.

[0285] In some implementations, the encoder 1400 further includes a third writing unit configured to write a fourth parameter into the bitstream, the fourth parameter being used to indicate the prediction mode of the current point.

[0286] In some implementations, the fourth parameter is included in the fifth parameter in the bitstream, and the fifth parameter includes the residual value of the second attribute information of the current point and the joint encoded value of the fourth parameter.

[0287] In some implementations, the encoder 1400 further includes a sixth determining unit configured to determine a predicted value of the second attribute information of the current point according to a second prediction mode if the difference is less than the first threshold, wherein, in the second prediction mode, the predicted value of the second attribute information of the current point is determined based on a weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0288] In some implementations, the difference is the maximum difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors.

[0289] In some implementations, the encoder 1400 further includes a quantization unit configured to quantize the residual value of the second attribute information of the current point and determine the quantized residual value; the encoder 1400 also includes an encoding unit configured to entropy encode the quantized residual value.

[0290] It is understood that in the embodiments of this application, a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and can also be a module or a non-modular one. Moreover, the components in this embodiment can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of a software functional module.

[0291] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, external hard drives, ROM, RAM, magnetic disks, or optical disks.

[0292] Therefore, this application provides a computer-readable storage medium applied to an encoder 1400, which stores a computer program that, when executed by a processor, implements the decoding method described in any of the foregoing embodiments.

[0293] Based on the composition of the encoder 1400 described above and the computer-readable storage medium, refer to Figure 15, which shows a schematic diagram of the specific hardware structure of the encoder 1500 provided in this embodiment of the application. As shown in Figure 15, the encoder 1500 may include: a communication interface 1510, a memory 1520, and a processor 1530; the various components are coupled together through a bus system 1540. It is understood that the bus system 1540 is used to realize the connection and communication between these components. In addition to a data bus, the bus system 1540 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 1540 in Figure 15.

[0294] The communication interface 1510 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;

[0295] Memory 1520 is used to store computer programs;

[0296] Processor 1530, when running the computer program, performs the following:

[0297] Determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point;

[0298] Based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points, a first parameter is determined. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1.

[0299] Based on the reconstructed value of the first attribute information of the current point and the first parameter, determine the predicted value of the second attribute information of the current point;

[0300] Based on the predicted value of the second attribute information of the current point, determine the residual value of the second attribute information of the current point.

[0301] It is understood that the memory 1520 in the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be ROM, PROM, EPROM, EEPROM, or flash memory. Volatile memory may be RAM, which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as SRAM, DRAM, SDRAM, DDRSDRAM, ESDRAM, SLDRAM, and DRRAM. The memory 1520 of the systems and methods described in this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0302] The processor 1530 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 1530 or by instructions in software form. The processor 1530 may be a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 1520, and the processor 1530 reads the information in memory 1520 and, in conjunction with its hardware, completes the steps of the above method.

[0303] It is understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more ASICs, DSPs, DSPDs, PLDs, FPGAs, general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof. For software implementation, the technology described in this application can be implemented through modules (e.g., procedures, functions, etc.) that perform the functions described in this application. Software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.

[0304] Alternatively, as another embodiment, the processor 1530 is also configured to execute the encoding method described in any of the foregoing embodiments when running the computer program.

[0305] This application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium for storing bit streams. The bit streams can be generated by using an encoding method of an encoder, or the bit streams can be decoded by using a decoding method of a decoder. The decoding method can be the decoding method described in any of the preceding embodiments, and the encoding method can be the encoding method described in any of the preceding embodiments.

[0306] It should be noted that, in this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0307] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0308] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0309] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0310] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.

[0311] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A point cloud decoding method, applied to a decoder, comprising: Decode the bitstream and determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point; Based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points, a first parameter is determined. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1. Based on the reconstructed value of the first attribute information of the current point and the first parameter, determine the predicted value of the second attribute information of the current point; Based on the predicted value of the second attribute information of the current point, the reconstructed value of the second attribute information of the current point is determined.

2. The method according to claim 1, wherein, The first parameter is determined based on a first value and a second value. The first value is determined based on the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined based on the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

3. The method according to claim 2, wherein, The first value is equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors, and the second value is equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

4. The method according to claim 3, wherein: The first attribute information is brightness information, the second attribute information is reflectivity information, and the first parameter satisfies... or, The first attribute information is reflectivity information, the second attribute information is brightness information, and the first parameter satisfies... Where s represents the first parameter, coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among the k nearest neighbors. i This represents the reconstructed value of the reflectance information of the i-th nearest neighbor among the k nearest neighbors.

5. The method according to claim 3, wherein, The first attribute information is the luminance residual, the second attribute information is the reflectance residual, and the first parameter satisfies... or, The first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the first parameter satisfies... Where s represents the first parameter. This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among the k nearest neighbors. This represents the reconstructed value of the reflectance residual of the i-th nearest neighbor among the k nearest neighbors.

6. The method according to any one of claims 1 to 5, wherein, The predicted value of the second attribute information of the current point is determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

7. The method according to claim 6, wherein: The first attribute information is brightness information, the second attribute information is reflectance information, and the predicted value of the second attribute information at the current point satisfies Coeff ref =s·Coeff luma ; Where s represents the first parameter, Coeff ref Coeff represents the predicted value of the reflectance information for the current point. luma This represents the reconstructed value of the brightness information at the current point; or, The first attribute information is reflectance information, the second attribute information is brightness information, and the predicted value of the second attribute information at the current point satisfies Coeff luma =s·Coeff ref ; Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the predicted value of the brightness information at the current point.

8. The method according to claim 6, wherein: The first attribute information is the brightness residual, the second attribute information is the reflectance residual, and the predicted value of the second attribute information at the current point satisfies res ref =s·res luma ; Where s represents the first parameter, res ref Res represents the predicted value of the reflectance residual at the current point. luma This represents the reconstructed value of the brightness residual at the current point; or, The first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the predicted value of the second attribute information at the current point satisfies res luma =s·res ref ; Where s represents the first parameter, res ref Res represents the reconstructed value of the reflectance residual at the current point. luma Indicates the current Predicted value of the brightness residual of the point.

9. The method according to any one of claims 1 to 8, wherein, The method further includes: Decode the bitstream and determine the second parameter, which indicates whether to predict the second attribute information of the current point based on the first attribute information of the current point; The step of determining the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter includes: When the second parameter indicates that the second attribute information of the current point is predicted based on the first attribute information of the current point, the predicted value of the second attribute information of the current point is determined according to the reconstructed value of the first attribute information of the current point and the first parameter.

10. The method according to claim 9, wherein, The second parameter is contained in the attribute parameter set.

11. The method according to any one of claims 1 to 10, wherein, The method further includes: Decode the bitstream and determine the third parameter, which is used to indicate the decoding order of the first attribute information and the second attribute information of the current point; The step of determining the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter includes: When the third parameter indicates that the first attribute information of the current point should be decoded first, and then the second attribute information of the current point should be decoded, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point and the first parameter.

12. The method according to any one of claims 1 to 11, wherein, The method further includes: Determine the reconstructed values ​​of the second attribute information of the k nearest neighbors; The step of determining the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter includes: If the difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors is greater than or equal to the first threshold, the bitstream is decoded and a fourth parameter is determined, the fourth parameter being used to indicate the prediction mode of the current point; If the prediction mode of the current point is the first prediction mode, then the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point and the first parameter, wherein, under the first prediction mode, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point.

13. The method according to claim 12, wherein, The determination of the fourth parameter includes: Decode the bitstream and determine the fifth parameter, which includes the residual value of the second attribute information of the current point and the joint encoded value of the fourth parameter; The fourth parameter is determined based on the fifth parameter.

14. The method according to claim 12 or 13, wherein, The method further includes: If the difference is less than the first threshold, the predicted value of the second attribute information of the current point is determined according to the second prediction mode, wherein, in the second prediction mode, the predicted value of the second attribute information of the current point is determined based on the weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

15. The method according to any one of claims 12 to 14, wherein, The difference is the maximum difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors.

16. The method according to any one of claims 1 to 15, wherein, The method further includes: Decode the bitstream to determine the residual value of the second attribute information of the current point; The step of determining the reconstructed value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point includes: The reconstructed value of the second attribute information of the current point is determined based on the residual value of the second attribute information of the current point and the predicted value of the second attribute information of the current point.

17. A point cloud encoding method, applied to an encoder, comprising: Determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbors of the current point; Based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points, a first parameter is determined. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1. Based on the reconstructed value of the first attribute information of the current point and the first parameter, determine the predicted value of the second attribute information of the current point; Based on the predicted value of the second attribute information of the current point, determine the residual value of the second attribute information of the current point.

18. The method according to claim 17, wherein, The first parameter is determined based on a first value and a second value. The first value is determined based on the product of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors. The second value is determined based on the square of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

19. The method according to claim 18, wherein, The first value is equal to the sum of the products of the reconstructed values ​​of the first attribute information and the reconstructed values ​​of the second attribute information of the k nearest neighbors, and the second value is equal to the sum of the squares of the reconstructed values ​​of the first attribute information of the k nearest neighbors.

20. The method of claim 19, wherein: The first attribute information is brightness information, the second attribute information is reflectivity information, and the first parameter satisfies... or, The first attribute information is reflectivity information, the second attribute information is brightness information, and the first parameter satisfies... Where s represents the first parameter, coeff_luma i Coeff_ref represents the reconstructed brightness information of the i-th nearest neighbor among the k nearest neighbors. i This represents the reconstructed value of the reflectance information of the i-th nearest neighbor among the k nearest neighbors.

21. The method according to claim 19, wherein, The first attribute information is the luminance residual, the second attribute information is the reflectance residual, and the first parameter satisfies... or, The first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the first parameter satisfies... Where s represents the first parameter. This represents the reconstructed value of the brightness residual of the i-th nearest neighbor among the k nearest neighbors. This represents the reconstructed value of the reflectance residual of the i-th nearest neighbor among the k nearest neighbors.

22. The method according to any one of claims 17 to 21, wherein, The predicted value of the second attribute information of the current point is determined based on the product of the reconstructed value of the first attribute information of the current point and the first parameter.

23. The method according to claim 22, wherein: The first attribute information is brightness information, the second attribute information is reflectance information, and the predicted value of the second attribute information at the current point satisfies Coeff ref =s·Coeff luma ; Where s represents the first parameter, Coeff ref Coeff represents the predicted value of the reflectance information for the current point. luma This represents the reconstructed value of the brightness information at the current point; or, The first attribute information is reflectance information, the second attribute information is brightness information, and the predicted value of the second attribute information at the current point satisfies Coeff luma =s·Coeff ref ; Where s represents the first parameter, Coeff ref Coeff represents the reconstructed value of the reflectance information at the current point. luma This represents the predicted value of the brightness information at the current point.

24. The method of claim 22, wherein: The first attribute information is the brightness residual, the second attribute information is the reflectance residual, and the predicted value of the second attribute information at the current point satisfies res ref =s·res luma ; Where s represents the first parameter, res ref Res represents the predicted value of the reflectance residual at the current point. luma This represents the reconstructed value of the brightness residual at the current point; or, The first attribute information is the reflectance residual, the second attribute information is the luminance residual, and the predicted value of the second attribute information at the current point satisfies res luma =s·res ref ; Where s represents the first parameter, res ref Res represents the reconstructed value of the reflectance residual at the current point. luma This represents the predicted value of the brightness residual at the current point.

25. The method according to any one of claims 17 to 24, wherein, The method further includes: Write the second parameter into the bitstream. The second parameter is used to indicate whether to predict the second attribute information of the current point based on the first attribute information of the current point.

26. The method of claim 25, wherein, The second parameter is contained in the attribute parameter set.

27. The method according to any one of claims 17 to 26, wherein, The method further includes: The third parameter is written into the bitstream, and the third parameter is used to indicate the encoding order of the first attribute information and the second attribute information of the current point.

28. The method according to any one of claims 17 to 27, wherein, The method further includes: Determine the reconstructed values ​​of the second attribute information of the k nearest neighbors; If the difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors is greater than or equal to a first threshold, then the predicted value of the current point under multiple prediction modes is determined, wherein the multiple prediction modes include a first prediction mode, and under the first prediction mode, the predicted value of the second attribute information of the current point is determined based on the reconstructed value of the first attribute information of the current point. Based on the predicted values ​​of the current point under the various prediction modes, determine the cost corresponding to the various prediction modes; Based on the cost value corresponding to the multiple prediction modes, the prediction mode for the current point is determined from the multiple prediction modes.

29. The method according to claim 28, wherein, The method further includes: The fourth parameter is written into the bitstream, and the fourth parameter is used to indicate the prediction mode of the current point.

30. The method according to claim 29, wherein, The fourth parameter is included in the fifth parameter in the bitstream, and the fifth parameter includes the residual value of the second attribute information of the current point and the joint encoded value of the fourth parameter.

31. The method according to any one of claims 28 to 30, wherein, The method further includes: If the difference is less than the first threshold, the predicted value of the second attribute information of the current point is determined according to the second prediction mode, wherein, in the second prediction mode, the predicted value of the second attribute information of the current point is determined based on the weighted sum of the reconstructed values ​​of the second attribute information of the k nearest neighbors.

32. The method according to any one of claims 28 to 31, wherein, The difference is the maximum difference between the reconstructed values ​​of the second attribute information of the k nearest neighbors.

33. The method according to any one of claims 17 to 32, wherein, The method further includes: The residual value of the second attribute information of the current point is quantized to determine the quantized residual value; The quantized residual value is entropy encoded.

34. A decoder, comprising: The first determining unit is configured to decode the bitstream and determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points of the current point. The second determining unit is configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1. The third determining unit is configured to determine the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter; The fourth determining unit is configured to determine the reconstructed value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

35. A decoder, comprising: Memory, used to store computer programs; A processor, configured to perform the method as described in any one of claims 1 to 16 when running the computer program.

36. An encoder, comprising: The first determining unit is configured to determine the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points of the current point. The second determining unit is configured to determine a first parameter based on the reconstructed values ​​of the first attribute information and the second attribute information of the k nearest neighbor points. The first parameter is used to indicate the correlation between the first attribute information and the second attribute information of the current point, where k is a positive integer greater than or equal to 1. The third determining unit is configured to determine the predicted value of the second attribute information of the current point based on the reconstructed value of the first attribute information of the current point and the first parameter; The fourth determining unit is configured to determine the residual value of the second attribute information of the current point based on the predicted value of the second attribute information of the current point.

37. An encoder, comprising: Memory, used to store computer programs; A processor, configured to perform the method as described in any one of claims 17 to 33 when running the computer program.

38. A non-volatile computer-readable storage medium for storing a bitstream, said bitstream being generated by an encoding method using an encoder, or said bitstream being decoded by a decoding method using a decoder, wherein, The decoding method is the method as described in any one of claims 1 to 16, and the encoding method is the method as described in any one of claims 17 to 33.

39. A bitstream comprising a bitstream generated by the method as described in any one of claims 17 to 33.

40. A computer-readable storage medium, wherein, The computer-readable storage medium stores a computer program that, when executed, implements the method as described in any one of claims 1 to 16, or 17 to 33.

Citation Information

Patent Citations

  • Point cloud prediction method and device, point cloud coding method and device and point cloud decoding method and device

    CN115720272A

  • Point cloud attribute coding and decoding method and device, electronic equipment and storage medium

    CN117221610A

  • Techniques and apparatus for weighted-median prediction for point-cloud attribute coding

    US20200304865A1