Encoding method, decoding method, encoder, decoder, and storage medium
By utilizing the similarity parameter of the reconstructed values of neighboring nodes to select reference nodes in point cloud compression, the prediction accuracy of point cloud attributes is improved, the problem of low intra-frame prediction accuracy is solved, and the encoding and decoding efficiency and quality are improved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
- Filing Date
- 2025-01-17
- Publication Date
- 2026-07-23
Smart Images

Figure CN2025073109_23072026_PF_FP_ABST
Abstract
Description
Encoding / decoding methods, encoders, decoders, and storage media Technical Field
[0001] This application relates to the field of point cloud compression technology, and in particular to an encoding / decoding method, encoder, decoder, and storage medium. Background Technology
[0002] In the Geometry-based Point Cloud Compression (G-PCC) encoding and decoding framework, the geometric information and attribute information of the point cloud are encoded separately. Specifically, G-PCC attribute encoding can include: Predicting Transform (PT), Lifting Transform (LT), and Region Adaptive Hierarchical Transform (RAHT).
[0003] In the current G-PCC attribute coding framework, inter-frame prediction and intra-frame prediction are widely introduced to remove temporal and spatial redundancy in point cloud coding. However, intra-frame prediction of point cloud attributes still suffers from low accuracy. Summary of the Invention
[0004] In a first aspect, embodiments of this application provide a decoding method applied to a decoder. The method includes: determining a similarity parameter between a reconstructed value of a first attribute of a current node and a reconstructed value of a first attribute of a neighboring node of the current node; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of a second attribute of the current node based on a reconstructed value of a second attribute of at least one reference node of the current node.
[0005] Secondly, embodiments of this application provide an encoding method applied to an encoder. The method includes: determining a similarity parameter between a reconstructed value of a first attribute of a current node and a reconstructed value of a first attribute of a neighboring node of the current node; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of a second attribute of the current node based on a reconstructed value of a second attribute of at least one reference node of the current node.
[0006] Thirdly, embodiments of this application provide an encoder, the encoder comprising: a first determining unit configured to determine a similarity parameter between a reconstructed value of a first attribute of a current node and a reconstructed value of a first attribute of a neighboring node of the current node; a first determining unit configured to determine a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and a first predicting unit configured to determine a predicted value of a second attribute of the current node based on a reconstructed value of a second attribute of at least one reference node of the current node.
[0007] Fourthly, embodiments of this application provide an encoder, which includes a first memory and a first processor, wherein: the first memory is used to store a computer program that can run on the first processor; and the first processor is used to execute the method described in the second aspect when running the computer program.
[0008] Fifthly, embodiments of this application provide a decoder, the decoder comprising: a second determining unit configured to determine a similarity parameter between a reconstructed value of a first attribute of a current node and a reconstructed value of a first attribute of a neighboring node of the current node; a second determining unit configured to determine a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and a second predicting unit configured to determine a predicted value of a second attribute of the current node based on the reconstructed value of a second attribute of at least one reference node of the current node.
[0009] In a sixth aspect, embodiments of this application provide a decoder, which includes a second memory and a second processor, wherein: the second memory is used to store a computer program that can run on the second processor; and the second processor is used to execute the method described in the first aspect when running the computer program.
[0010] In a seventh aspect, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect or the method described in the second aspect.
[0011] Eighthly, embodiments of this application provide a computer program product, including a computer program or instructions that, when executed by a processor, implement the method described in the first aspect or the method described in the second aspect.
[0012] In a ninth aspect, embodiments of this application provide a computer-readable storage medium having a bitstream stored thereon, the bitstream being generated by performing the steps of the encoding method as described in the second aspect.
[0013] It is understood that, in the embodiments of this application, whether at the encoding end or the decoding end, for the prediction of the second attribute of the current node, firstly, based on the similarity between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node (i.e., determining the similarity parameter between the two), reference nodes participating in the prediction of the second attribute of the current node are selected from the neighboring nodes of the current node. Then, the reconstructed value of the second attribute of the selected reference nodes is used to predict the second attribute of the current node. In this way, using the reconstructed first attribute to guide the prediction of the second attribute is beneficial to improving the prediction accuracy of the second attribute of the current node and enhancing the encoding and decoding performance of the point cloud. Attached Figure Description
[0014] Figure 1 is a schematic diagram of a network architecture for point cloud encoding and decoding;
[0015] Figure 2 is a schematic diagram of the component framework of a GESTM encoder;
[0016] Figure 3 is a schematic diagram of the component framework of a GESTM decoder;
[0017] Figure 4 is a schematic diagram of the encoding process based on RAHT transform;
[0018] Figure 5 is a schematic diagram of the decoding process based on RAHT transform;
[0019] Figure 6 is a schematic diagram of the layer partitioning process;
[0020] Figure 7 is a schematic diagram of the two-point Haar transformation of RAHT;
[0021] Figure 8 is a schematic diagram of the RAHT transformation;
[0022] Figure 9 is a schematic diagram of the RAHT upsampling prediction positive transform;
[0023] Figure 10 is a schematic diagram of the inverse RAHT transform;
[0024] Figure 11 is a schematic diagram of the neighboring nodes participating in the intra-frame prediction of the current node;
[0025] Figure 12 is a schematic diagram of early stopping of intra-frame prediction;
[0026] Figure 13 is a schematic diagram of RAHT inter-frame prediction;
[0027] Figure 14 is a schematic diagram of the implementation flow of the decoding method provided in the embodiment of this application;
[0028] Figure 15 is a schematic diagram of a further implementation process of step 1401 provided in an embodiment of this application;
[0029] Figure 16 is a schematic diagram of the implementation flow of the encoding method provided in the embodiment of this application;
[0030] Figure 17 is a schematic diagram of the implementation process of the intra-frame prediction method provided in the embodiments of this application;
[0031] Figure 18 is an example diagram of filtering reference nodes from neighboring nodes based on similarity according to an embodiment of this application;
[0032] Figure 19 is a schematic diagram of the implementation flow of the intra-frame prediction method at the encoding end provided in the embodiment of this application;
[0033] Figure 20 is a schematic diagram of the implementation flow of the intra-frame prediction method at the decoding end provided in the embodiment of this application;
[0034] Figure 21 is a schematic diagram of the composition structure of the encoder provided in an embodiment of this application;
[0035] Figure 22 is a schematic diagram of the hardware structure of the encoder provided in an embodiment of this application;
[0036] Figure 23 is a schematic diagram of the composition structure of the decoder provided in the embodiment of this application;
[0037] Figure 24 is a schematic diagram of the hardware structure of the decoder provided in an embodiment of this application;
[0038] Figure 25 is a schematic diagram of the composition structure of an encoding / decoding system provided in an embodiment of this application. Detailed Implementation
[0039] 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.
[0040] 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.
[0041] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0042] 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.
[0043] Before providing a further detailed description of the embodiments of this application, the nouns and terms that may be involved in the embodiments of this application will be explained first. The nouns and terms involved in the embodiments of this application are subject to the following interpretations.
[0044] Geometry-based Point Cloud Compression (GPCC / G-PCC)
[0045] Predicting Transform (PT);
[0046] Lifting Transform (LT);
[0047] Region Adaptive Hierarchical Transform (RAHT);
[0048] Alternating Current (AC) coefficient;
[0049] DC low-frequency coefficient;
[0050] Peak Signal-to-Noise Ratio (PSNR);
[0051] Rate-Distortion Optimization (RDO);
[0052] Rate-Distortion Optimization Quantization;
[0053] Attribute Parameters Set (APS);
[0054] Luma (brightness);
[0055] Blue chromaticity component (Chroma blue, Cb);
[0056] The red chromaticity component (Cr).
[0057] 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 interact with each other 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.
[0058] 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).
[0059] The following section uses the G-PCC (Geometry-based Solid point cloud coding Test Model, GESTM) encoding and decoding framework for dense point clouds as an example to illustrate the relevant technologies.
[0060] As can be understood, in the GESTM point cloud encoding / decoding framework, for the input point cloud, the point cloud data 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.
[0061] It's important to note that while 2D images contain information at each pixel and have a regular distribution, eliminating the need to record their location information, point clouds exhibit random and irregular distribution in 3D space. Therefore, recording the location of each point in space is crucial for fully representing objects in 3D. Similar to 2D images, each location during acquisition has corresponding attribute information, typically including color and reflectance. Color information reflects the object's color and is usually represented by RGB; reflectance information reflects the object's surface material and is usually represented by reflectionance. Point cloud data typically consists of geometric information (x, y, z) representing 3D spatial location, and attribute information such as color (r, g, b) and reflectance. For example, reflectance information can be one-dimensional (r); color information can be in any color space, or it can be 3D color information, such as RGB. Here, R represents the red (R) chromaticity component (i.e., the red color difference component), G represents the green (G) chromaticity component (i.e., the green color difference component), and B represents the blue (B) chromaticity component (i.e., the blue color difference component). For example, color information can also be luminance / chromaticity (YCbCr, YUV) information. Here, Y represents the luminance (Luma) component, Cb(U) represents the blue chromaticity component (i.e., the blue color difference component), and Cr(V) represents the red chromaticity component (i.e., the red color difference component).
[0062] Figure 2 is a schematic diagram of the component framework of a GESTM encoder. As shown in Figure 2, this GESTM encoder is applied to a point cloud encoder. In the GESTM encoding framework, the input point cloud is divided into slices, and each slice is encoded independently. Within a slice, the geometric information of the point cloud and the attribute information corresponding to the points in the point cloud are encoded separately. The GESTM encoder first encodes the geometric information. The encoder performs coordinate transformation on the geometric information so that the entire point cloud is contained within a bounding box; then quantization is performed. This quantization step mainly serves a scaling function. Due to the rounding effect of quantization, some points have the same geometric information. Based on parameters, it is determined whether to remove duplicate points. This process of quantization and removal of duplicate points is also called voxelization. Next, the bounding box is divided into octree-based partitions. Depending on the depth of the octree partitioning level, the encoding of geometric information is divided into two frameworks: octree-based and triangular patch-based.
[0063] In the octree-based geometric information coding framework, the bounding box is divided into eight equal sub-cubes, and the placeholder bits of each sub-cube are recorded (where 1 indicates non-empty and 0 indicates empty). The non-empty sub-cubes are then further divided into eight equal parts, typically stopping when the resulting leaf nodes are 1×1×1 unit cubes. During this process, the spatial correlation between nodes and their surrounding nodes is used to perform intra-frame prediction of the placeholder bits. Finally, CABAC encoding based on a context model is performed to generate a binary geometric bitstream, i.e., a geometric codestream.
[0064] In the geometric information encoding framework based on triangular facet sets, octree partitioning is also performed first. However, the difference lies in the fact that octree-based geometric information encoding does not require progressively partitioning the point cloud into unit cubes with side lengths of 1×1×1. Instead, partitioning stops when the side length of a block reaches W. Based on the surface formed by the distribution of the point cloud in each block, at most twelve vertices are obtained between this surface and the twelve edges of the block. Finally, the vertex coordinates of each block are encoded sequentially to generate a binary geometric bitstream, i.e., a geometric code stream.
[0065] After encoding the geometric information, the GESTM encoder reconstructs the geometric information and uses the reconstructed geometric information to encode the attribute information of the point cloud. Attribute encoding of the point cloud includes encoding the color information and / or reflectance information of the points in the point cloud. Taking color information as an example, firstly, the encoder can perform color space conversion on the color information of the points. For example, when the color information of the points in the input point cloud is represented using the RGB color space, the encoder can convert the color 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. In color information encoding, there are two main transformation methods: one is a distance-based lifting transformation that relies on Level of Detail (LOD) partitioning, and the other is a direct Region Adaptive Hierarchical Transform (RAHT). Both methods transform the color information from the spatial domain to the frequency domain, obtaining high-frequency and low-frequency coefficients. Finally, the coefficients are quantized, and then arithmetic encoding is performed on the quantized coefficients to generate a binary attribute bitstream, i.e., the attribute code stream.
[0066] Figure 3 is a schematic diagram of the component framework of a GESTM decoder. As shown in Figure 3, this GESTM decoder is applied to a point cloud decoder. In the G-PCC decoding framework, after acquiring the binary bitstream, the geometric bitstream and attribute bitstream in the binary bitstream are decoded independently. When decoding the geometric bitstream, the geometric information of the point cloud is obtained through arithmetic decoding, octree synthesis, surface fitting, geometry reconstruction, and inverse coordinate transformation. When decoding the attribute bitstream, the attribute information of the point cloud is obtained through arithmetic decoding, inverse quantization, inverse LOD-based boosting or RAHT-based inverse transformation, and inverse color conversion. Based on the geometric and attribute information, the original slice can be recovered. After merging the slices, the 3D image model of the input point cloud can be restored.
[0067] It should be noted that, as shown in Figure 2 or Figure 3, the current geometric encoding and decoding of GESTM can be divided into octree-based geometric encoding and decoding and triangle soup (Trisoup)-based geometric encoding and decoding. Attribute encoding and decoding includes three attribute encoding methods: Predicting Transform (PT), Lifting Transform (LT), and Region Adaptive Hierarchical Transform (RAHT). The first two methods predictively encode the point cloud based on the order of LOD generation, while RAHT adaptively transforms attribute information from bottom to top based on the octree's construction hierarchy.
[0068] The following section provides a detailed description of point cloud attribute encoding methods, using Region Adaptive Hierarchical Transform (RAHT) as an example.
[0069] The RAHT transform is based on the Haar wavelet transform. Its core principle is to recursively transform a hierarchical tree structure from the root node to the child nodes, passing the low-frequency coefficients (DC coefficients) through further transformations, while predicting, quantizing, and encoding the high-frequency coefficients (AC coefficients). The detailed process is as follows: First, the point cloud is divided into layers, following an octree structure from the root node to the leaf nodes. Then, a recursive RAHT is performed from the root node (upper layer) to the child nodes (lower layer), obtaining the AC coefficients layer by layer. Next, it is determined whether intra-frame or inter-frame prediction was used for the AC coefficients. If prediction was used, the difference between the predicted and original values of the AC coefficients is used to obtain the residual (prediction residual) of the current AC coefficient. Finally, the residual of the AC coefficients is quantized and encoded to generate an attribute information bitstream.
[0070] At the decoding end, the RAHT transform decoding is still performed from the root node to the child node from top to bottom. The decoder reads the attribute bitstream and performs entropy decoding, and then performs dequantization to obtain the residual of the AC coefficients. If there is intra-frame prediction or inter-frame prediction, the residual of the AC coefficient obtained by dequantization is added to the predicted value of the AC coefficient to obtain the original AC coefficient (i.e. the reconstructed value of the AC coefficient). Then, it is combined with the DC coefficient to perform RAHT inverse transform to obtain the reconstructed attribute value of this layer. The reconstructed attribute value of this layer can be used to calculate the DC coefficient of the next layer. Combined with the AC coefficient of the next layer, the inverse transform reconstruction continues until all layers are traversed to obtain the reconstructed attribute value of the point cloud.
[0071] Figure 4 illustrates the coding process based on RAHT transform. As shown in Figure 4, for intra-frame prediction, the original point cloud is upsampled and predicted (101) to obtain a predicted point cloud. The predicted point cloud is then subjected to RAHT transform (102) to obtain the predicted values of the DC coefficients and all AC coefficients of the root node. Conversely, the original point cloud is also subjected to RAHT transform (102) to obtain the DC coefficients and all AC coefficients of the root node. For inter-frame prediction, adjacent frames are used as the predicted point clouds of the original point cloud, and RAHT transform is performed on them (102) to obtain the predicted values of the DC coefficients and all AC coefficients of the root node. Based on the DC coefficients and all AC coefficients of the root node obtained from intra-frame and / or inter-frame prediction, and the DC coefficients and all AC coefficients of the root node obtained from the original point cloud, the prediction residual is determined. The prediction residual is then quantized (103), and the quantized prediction residual is entropy encoded (104) to generate an attribute bitstream. In one possible implementation, the DC coefficients and AC coefficients of the root node obtained from the original point cloud can be quantized and encoded to generate an attribute bitstream.
[0072] Figure 5 is a schematic diagram of the encoding process based on RAHT transform. As shown in Figure 5, at the decoding end, the decoding of RAHT transform is still performed from the root node to the child node from top to bottom. The decoder reads the attribute bit stream and performs entropy decoding 201, and then performs inverse quantization 202 to obtain the AC prediction residual (i.e., the residual of AC coefficients). If there is intra-frame prediction or inter-frame prediction, the AC prediction residual is added to the AC prediction value (i.e., the predicted value of AC coefficients) to obtain the original AC coefficients (i.e., the reconstructed value of AC coefficients). Then, it is combined with the DC coefficients to perform RAHT inverse transform 203 to obtain the reconstructed attribute value of this layer. The reconstructed attribute value of this layer can be used to calculate the DC coefficient of the next layer until all layers are traversed to obtain the reconstructed attribute value of the current point cloud.
[0073] The encoding process of RAHT transform will be described in detail below according to steps 1 to 8.
[0074] Step 1: Layer structure partitioning
[0075] In the current G-PCC, the layer structure is first partitioned before the RAHT transformation, and the partitioning follows an octree structure. Figure 6 is a schematic diagram of the layer partitioning process. As shown in Figure 6, the root node can be partitioned into an octree to obtain layer l+1, and then the octree can be further partitioned on this basis to obtain layer l, and so on.
[0076] The transformation process then begins at the root node level and proceeds layer by layer from top to bottom. Except for the bottommost leaf nodes, each node in each layer can be considered a transformation block, containing 2×2×2 sub-blocks. Each sub-block in the current layer corresponds to a transformation block in the next layer. During the transformation, the DC coefficients are passed down and decomposed layer by layer from the root node. Blocks within the same layer are transformed in ascending order of their block coordinates in the Morton code, until all blocks have been traversed.
[0077] Step 2: RAHT Transformation
[0078] Currently, G-PCC employs the RAHT method based on Haar wavelet transform. RAHT relies on a pre-partitioned octree layer structure, with each layer containing several non-empty voxel blocks (hereinafter referred to as transform blocks). The transform occurs within each transform block, which contains 2×2×2 sub-blocks (i.e., 8 sub-blocks). Specifically, within each transform block, the RAHT transform uses Haar wavelet transform (i.e., Haar wavelet transform) in the X, Y, and Z directions, respectively. The specific transformation formulas for the Haar transform of two adjacent sub-blocks are as follows:
[0079] Where w i,j For the weight of the j-th node to be transformed in the i-th layer (e.g., the weight is the number of points in the j-th transform block in the i-th layer), g i,j h is the attribute value of the leaf node. i,j Let AC be the coefficient of the alternation, and g′ be the coefficient of the alternation. i,j The DC coefficient is shown in Figure 7, and the two-point transformation process is illustrated in Figure 7.
[0080] As shown in Figure 8, the obtained DC coefficients continue to propagate along the remaining two directions, performing a two-point Haar transform, until the entire transform block containing 2×2×2 sub-blocks has been traversed. Therefore, for each transform block with 8 sub-blocks, one DC coefficient and seven AC coefficients can be obtained. The entire process can be simplified to the following formula.
[0081] Among them, A N ω represents the sum of attributes within a sub-block. N T(ω1,ω2,…,ω) represents the number of points within the transformed sub-block. N) represents the RAHT transform matrix of the transform block. DC and AC represent the transform coefficients obtained after the transform. During the encoding process, only the DC coefficients of the root node are encoded, and the DC coefficients of the other transform blocks are ignored because they can be calculated from the reconstruction attributes at the decoding end. The N-1 AC coefficients obtained from each transform are encoded. The relationship between the DC coefficients and the reconstruction attribute values is shown in the following formula.
[0082] Step 3: Intra-frame upsampling prediction
[0083] To further remove redundancy and improve point compression efficiency, an upsampling prediction method is introduced. The core of upsampling prediction is intra-frame prediction, which uses the attribute information of pre-encoded points to predict the attribute information of the current point, thereby obtaining the predicted high-frequency AC coefficients. Subsequently, redundancy is removed by encoding the AC coefficient residuals between the predicted and true values.
[0084] The RAHT transform uses a top-down tree structure, with the transform performed within a 2×2×2 block. The reconstructed attribute values of the parent node and its coplanar and collinear neighbors are used to predict the attribute values of the child nodes. The actual and predicted attribute values of these child nodes within the block are then subjected to RAHT transform to obtain the corresponding low-frequency coefficients (DC) and high-frequency coefficients (AC). The AC coefficients obtained from the actual attributes are differencing the AC coefficients obtained from the predicted attributes to obtain a residual, which is then quantized and entropy encoded, as shown in Figure 9. During the inverse transform, the DC coefficients inherit the reconstructed attribute values from the parent node at the previous level. The AC residual obtained from the decoding end is accumulated with the AC coefficients obtained from the upsampled predicted attribute values, and then combined with the inherited DC coefficients for the inverse transform to obtain the reconstructed attribute values, as shown in Figure 10.
[0085] To further improve the performance of intra-frame prediction, a method is proposed to utilize the attribute reconstruction values of already reconstructed coplanar and collinear neighbor nodes within the current layer for attribute prediction of the current node. Specifically, for a coplanar parent neighbor node, if it has a coplanar child node that shares a face with the predicted child node, then the attribute of that coplanar child node will be used as the prediction, instead of the attribute of its corresponding coplanar parent neighbor node. Similarly, for a collinear parent neighbor node, if it has a collinear child node that shares an edge with the predicted child node, then the attribute of that collinear child node will be used as the prediction, instead of the attribute of its corresponding collinear parent neighbor node.
[0086] Therefore, the parent node of the current node (Predicted sub-block), along with the parent node's co-plane neighbor, co-line neighbor, the co-plane peer neighbor already reconstructed by the current node, and / or the co-line peer neighbor already reconstructed by the current node, all participate in intra-frame prediction. Their ratio is 9:3:1:5:2. The improved intra-frame prediction schematic diagram is shown in Figure 11.
[0087] Step 4: Early Stopping of Intra-Frame Prediction
[0088] In transform domain prediction, predicted values are created using 19 neighboring parent nodes as the center of the target node (child node). In point clouds with relatively high content density (cat1), the prediction accuracy is higher due to the larger number of effective neighboring parent nodes. Therefore, the encoding efficiency of sparse content (cat1) is significantly higher than that of sparse content (cat3). Based on this, an early termination function for transform domain prediction is introduced to reduce encoding time. In this function, the following two parameters, NumValidP and NumValidGP, are calculated for every 8 child nodes.
[0089] NumValidP: The total number of valid neighboring parent nodes, that is, the valid neighboring nodes of the current node's parent node, including but not limited to collinear and coplanar nodes of the parent node;
[0090] NumValidGP: The total number of valid neighbor grandparent nodes, that is, the valid neighbor nodes of the current node's grandparent node, including but not limited to collinear and coplanar nodes of the grandparent node.
[0091] Then, prediction will be disabled if NumValidP or NumValidGP is less than the threshold. This means that prediction terminates when the number of valid neighbor nodes decreases. Figure 12 shows an example of the transformed domain prediction and parameter definitions for this method. By default, the thresholds TH1 = 2 and TH2 = 6. This indicates a valid node, i.e., a non-empty node.
[0092] Step 5: Inter-frame prediction:
[0093] Inter-frame prediction utilizes information from already encoded frames to predictively encode the current frame, thereby reducing redundancy. The reference frame is partitioned into an octree structure. After the reference frame undergoes a RAHT transform, the AC transform coefficients of each reference node are memorized for inter-frame prediction of the next frame. In the encoding of the target node, the residual values of the coefficients are calculated using the reference frame and the coefficients of the current frame, and these residual values are then encoded. The decoder follows the same process. The inter-frame prediction process is shown in Figure 13.
[0094] Inter-frame prediction is applied only if the current point cloud and the reference point cloud have the same octree partitioning structure and are at the same node position. Inter-frame prediction is not applied if the reference buffer (the buffer of the reference frame) does not contain prediction coefficient values. Inter-frame prediction is also not applied if the corresponding AC coefficients are not present in the reference buffer.
[0095] Step 6: Coding coefficient residuals and residual RDOQ:
[0096] The predicted attribute values of each point in the current 2×2×2 block are obtained through the above intra-frame or inter-frame prediction. The RAHT transform is then performed on the true and predicted attribute values of these intra-block child nodes to obtain the corresponding low-frequency coefficients (DC) and high-frequency coefficients (AC). For the i-th predicted AC coefficient... (k is 8). Let (AC) i ) i∈1…k-1 For the i-th true AC coefficient, the encoded AC coefficient residual (r) i ) i∈0…k-1 Recorded as:
[0097] Then, rate-distortion optimization judgment is performed on the residual of AC coefficient. If the rate-distortion cost RDcost of setting the coefficient to 0 is less than the rate-distortion cost RDcost of the original encoding, then the coefficient is set to 0.
[0098] Further quantification of the prediction residuals after RDO judgment:
[0099] In the formula Q i This represents the attribute residual after quantization at the current point i. Qs is the quantization step size, which can be calculated from the quantization parameter QP specified by CTC.
[0100] Step 7: Chromaticity Inter-prediction
[0101] To improve the performance of attribute coding, a prediction technique between chroma components was developed for the LoD-based PTLT coding scheme. Correlation prediction between chroma channels was also proposed in RAHT.
[0102] Let Coeff Cb and Coeff Cr Represents the RAHT coefficients for the chromaticity Cb and Cr channels. Each 2×2×2 block (i.e., a maximum of 7 Coeffs) Cb and Coeff Cr The relationship between the RAHT transform coefficients of ) is modeled by the following linear function:
[0103] Where s is a scalar for each node determined based on the Cb and Cr coefficients of the same layer encoded by the previous M (fixed at 128 in the method). Specifically, for the k-th node of the lvl layer, the fitting parameters are calculated as follows:
[0104] In the formula This represents the reconstructed values of Cb and Cr from the previously encoded data at the same layer. S is calculated using approximate division and is clipped to the range [-16, 16]. It should be noted that signal s is not required in the bitstream. Coeff is then modeled using linear modeling. Cr The encoding is replaced with the encoding of its residual:
[0105] Step 8: Reconstruct attribute values at the encoding end
[0106] The purpose of encoding-end reconstruction is for the prediction of subsequent points. Before reconstructing attribute values, the encoded AC residuals need to be dequantized, denoted as... The residual after dequantization:
[0107] With predicted AC coefficient The sums are used to obtain the i-th reconstruction AC coefficient within the current block.
[0108] Finally, the reconstructed AC coefficients were analyzed. The reconstructed attribute values can be obtained by performing an inverse RAHT transformation together with the DC coefficients inherited from the parent node at the previous level.
[0109] In the current G-PCC attribute coding framework, intra-frame prediction and inter-frame prediction are widely introduced to remove temporal and spatial redundancy in point cloud coding. Inter-chrominance prediction is also introduced to remove redundancy between chrominance components Cb and Cr. The inventors of this application discovered in their research and analysis that when G-PCC encodes an am-fused point cloud sequence containing multiple attributes (color, reflectivity), the redundancy between the two attributes has not been fully exploited and removed. Specifically, when one attribute has been encoded and another attribute is encoded, a significant amount of redundancy still exists between the attributes, inevitably leading to a waste of bitrate.
[0110] In view of this, embodiments of this application provide an encoding / decoding method.
[0111] This application provides an encoding method, which involves determining a similarity parameter between the reconstructed value of a first attribute of the current node and the reconstructed values of the first attributes of the current node's neighboring nodes; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of the second attribute of the current node based on the reconstructed values of the second attributes of the at least one reference node. This application also provides a decoding method, which involves determining a similarity parameter between the reconstructed value of a first attribute of the current node and the reconstructed values of the first attributes of the current node's neighboring nodes; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of the second attribute of the current node based on the reconstructed values of the second attributes of the at least one reference node.
[0112] It is understandable that, whether at the encoding or decoding end, the prediction of the second attribute of the current node firstly involves determining the similarity between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes (i.e., determining the similarity parameter between them), then selecting reference nodes from the current node's neighboring nodes to participate in the prediction of the second attribute of the current node, and then using the reconstructed value of the second attribute of the selected reference nodes to predict the second attribute of the current node. In this way, using the reconstructed first attribute to guide the prediction of the second attribute is beneficial to improving the prediction accuracy of the second attribute of the current node, thereby enhancing the encoding and decoding performance of the point cloud.
[0113] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0114] This application provides a decoding method applied to a decoder. Figure 14 is a schematic diagram of the implementation flow of the decoding method provided in this application. As shown in Figure 14, the method may include the following steps 1401 to 1403:
[0115] Step 1401: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes;
[0116] Step 1402: Determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters;
[0117] Step 1403: Determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0118] It is understandable that, for the prediction of the second attribute of the current node, the similarity between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node (i.e., determining the similarity parameter between the two) is first determined by selecting reference nodes from the current node's neighbors to participate in the prediction of the second attribute of the current node. Then, the reconstructed value of the second attribute of the selected reference nodes is used to predict the second attribute of the current node. In this way, using the reconstructed first attribute to guide the prediction of the second attribute is beneficial to improving the prediction accuracy of the second attribute of the current node, thereby enhancing the encoding and decoding performance of the point cloud.
[0119] The following sections will describe further optional implementation methods for each of the above steps, as well as related terms.
[0120] Step 1401: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes.
[0121] In this embodiment, the method for determining the similarity parameter is not limited. In short, the similarity parameter characterizes the degree of similarity between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes. Various methods can be used to determine the degree of similarity between the two.
[0122] For example, in some embodiments, as shown in FIG15, step 1401 can be implemented by the following steps 1501 and 1502:
[0123] Step 1501: Determine the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node.
[0124] It is understood that the current node may have one or more neighboring nodes. Therefore, the difference between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of one or more neighboring nodes can be determined. That is, one neighboring node corresponds to one such difference.
[0125] In this embodiment of the application, the method for determining the difference is not limited. The difference may be the reconstructed value of the first attribute of the current node minus the reconstructed value of the first attribute of the neighboring node. The difference may also be the reconstructed value of the first attribute of the neighboring node minus the reconstructed value of the first attribute of the current node. The difference may also be the absolute value of the reconstructed value of the first attribute of the neighboring node minus the reconstructed value of the first attribute of the current node.
[0126] Step 1502: Determine the similarity parameter based on the difference.
[0127] As mentioned earlier, one neighbor node corresponds to one difference value, and therefore, one neighbor node corresponds to one similarity parameter. In this embodiment, further implementation of step 1502 is not limited; in short, the similarity parameter is determined at least based on the difference value. For example, the similarity parameter is equal to the difference value. Furthermore, in some embodiments, step 1502 can be implemented as follows: determining the similarity parameter based on the difference value and the reconstructed value of the first attribute of the current node. Exemplarily, in some embodiments, determining the similarity parameter based on the difference value and the reconstructed value of the first attribute of the current node includes: determining the similarity parameter based on the ratio of the difference value to the reconstructed value of the first attribute of the current node.
[0128] In one possible implementation, the similarity parameter corresponding to the k-th neighbor node can be determined according to the following formula:
[0129] Among them, s k Attr1 represents the similarity parameter corresponding to the k-th neighbor node. k attr1 represents the reconstructed value of the first attribute of the k-th neighbor node. curr This represents the reconstructed value of the first attribute of the current node. The k-th neighbor node is any of the current node's neighbor nodes.
[0130] Of course, the calculation of the similarity parameter is not limited to the method described in the example above. The similarity parameter can also be determined by determining the Pearson correlation coefficient, Euclidean distance, Manhattan distance, cosine similarity, or Hamming distance between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes, and based on this, the similarity parameter can be determined.
[0131] In this embodiment of the application, there are no limitations on the first attribute and the second attribute. In short, before the second attribute of the current node is predicted, the first attribute of the current node and the first attribute of the neighboring nodes have been reconstructed, and the encoding and decoding order of the first attribute is prior to the encoding and decoding order of the second attribute.
[0132] Furthermore, in the embodiments of this application, the reconstructed value of the first attribute can be the reconstructed value of a single attribute component or the combined value of the reconstructed values of multiple attribute components. This application does not limit the reconstructed value of the first attribute.
[0133] For example, in some embodiments, the first attribute is reflectance, and the second attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component. It can be understood that in this embodiment, three implementation schemes are provided: one guides the prediction of the luminance component based on reflectance, another guides the prediction of the first chromaticity component based on reflectance, and yet another guides the prediction of the second chromaticity component based on reflectance.
[0134] In the embodiments of this application, there is no limitation on the first chromaticity component and the second chromaticity component; in short, they are two different chromaticity components. For example, the first chromaticity component is the blue chromaticity component, and the second chromaticity component is the red chromaticity component.
[0135] For example, in some other embodiments, the second attribute is reflectance, and the first attribute is one of the following color components: a luminance component; a first chromaticity component; and a second chromaticity component. It is understood that in this embodiment, three implementation schemes are provided: one guides the prediction of reflectance based on the luminance component, another guides the prediction of reflectance based on the first chromaticity component, and yet another guides the prediction of reflectance based on the second chromaticity component.
[0136] Exemplarily, in some other embodiments, the method further includes: determining a reconstructed value of a first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node; wherein the second attribute is reflectance. That is, in this embodiment, the reconstructed value of the first attribute of the neighboring node can also be determined based on the reconstructed values of one or more color components of the neighboring node, thereby guiding the prediction of reflectance.
[0137] It should be noted that determining the reconstructed value of the first attribute of a neighboring node based on the reconstructed values of one or more color components of the neighboring node can also be understood as determining the reconstructed value of the first attribute of the kth neighboring node based on the reconstructed values of one or more color components of the kth neighboring node of the current node; wherein, the kth neighboring node is any neighboring node of the current node. It should be understood that different neighboring nodes can determine their first attribute reconstructed values using the same method.
[0138] It should also be noted that, in this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node is not limited.
[0139] In one possible implementation, determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: performing a weighted average operation on the reconstructed values of one or more color components of the neighboring node according to their weights, to determine the reconstructed value of the first attribute of the neighboring node.
[0140] It should be noted that the step of determining the reconstructed value of the first attribute of a neighboring node by performing a weighted average calculation on the reconstructed values of one or more color components of the neighboring node based on their weights can be understood as determining the reconstructed value of the first attribute of the kth neighboring node by performing a weighted average calculation on the reconstructed values of one or more color components of the kth neighboring node based on their weights; wherein the kth neighboring node is any neighboring node of the current node. It should be understood that different neighboring nodes can determine their reconstructed first attribute values using the same method.
[0141] In this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the weighted average operation is not limited. For example, the reconstructed value of the first attribute of the neighboring node is the result of performing a weighted average operation on the reconstructed values of one or more color components of the neighboring node; or, for example, the reconstructed value of the first attribute of the neighboring node is the result obtained after further processing the result obtained from the weighted average operation.
[0142] In embodiments where the reconstructed value of the first attribute of a neighboring node is determined through a weighted average calculation, the weights set for different color components are not limited in this application. Exemplarily, in some embodiments, the weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node. In this application, the weights of the first chrominance component and the second chrominance component of the neighboring node may be equal or unequal, and this application does not limit this.
[0143] Brightness typically refers to the intensity or darkness 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 a point cloud are strongly correlated, especially for neighboring points, where their correlations are basically the same. In view of this, in the determination of the reconstructed value of the first attribute of the neighboring node, the brightness component of the neighboring node has a larger weight than the weights of the first and second chromaticity components. Based on this, the reconstructed value of the first attribute of the neighboring node is determined, and then the prediction of reflectivity (i.e., an example of the second attribute) is guided by the reconstructed value of the first attribute of the neighboring node. This is beneficial for selecting reference nodes with reflectivity more similar to the current node, thereby improving the prediction accuracy of the current node's reflectivity and enhancing the encoding and decoding performance of the point cloud.
[0144] The method for determining the reconstructed value of the first attribute of a neighboring node based on the reconstructed values of one or more color components of the neighboring node is not limited; the reconstructed value of the first attribute of the neighboring node can be determined by the weighted average operation described above. In another possible implementation, the reconstructed value of the first attribute of the neighboring node can also be determined by an averaging operation. That is, determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: averaging the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
[0145] In this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the averaging operation is not limited. For example, the reconstructed value of the first attribute of the neighboring node is the result of averaging the reconstructed values of one or more color components of the neighboring node; or, for example, the reconstructed value of the first attribute of the neighboring node is the result obtained after further processing the result obtained from the averaging operation.
[0146] In some embodiments, one or more color components of the neighboring node include one or more of the following components: luminance component; first chrominance component; second chrominance component.
[0147] As mentioned above, the first attribute can be reflectance, and the second attribute can be a luminance component, a first chromaticity component, or a second chromaticity component; or, in another embodiment, the first attribute can be a luminance component, a first chromaticity component, or a second chromaticity component, and the second attribute is reflectance; or, in yet another embodiment, the reconstructed value of the first attribute is determined based on the reconstructed values of the luminance component, the first chromaticity component, and / or the second chromaticity component, and the second attribute is reflectance. Of course, the embodiments of this application are not limited to the above embodiments. The first attribute can also be a luminance component, a first chromaticity component, or a second chromaticity component, and the second attribute can be a color component different from the first attribute; or, in another embodiment, the reconstructed value of the first attribute is determined based on at least one or at most three attribute components of the luminance component, the first chromaticity component, the second chromaticity component, and reflectance, and the second attribute is an attribute component different from the at least one or at most three attribute components. In summary, in the embodiments of this application, the reconstructed value of the first attribute is not limited; it can be the reconstructed value of a single attribute component or determined based on multiple reconstructed attribute components. The second attribute is also not limited; it is simply the attribute component that is not the first in the encoding / decoding order.
[0148] Step 1402: Determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters.
[0149] It is understood that, for embodiments where a larger similarity parameter value indicates greater similarity between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes, in one possible implementation, the reference node of the current node is a neighboring node whose similarity parameter is greater than or equal to a fourth threshold. The fourth threshold can be a default value or a value indicated in the bitstream; that is, the decoding method further includes: parsing the bitstream to determine the value of a third syntax element; the third syntax element being used to indicate the fourth threshold; and determining the fourth threshold based on the value of the third syntax element. For example, the value of the third syntax element is the index value of the fourth threshold.
[0150] Furthermore, in some embodiments, the step of parsing the bitstream to determine the value of the third syntax element includes: parsing the bitstream to determine the value of the first syntax element; wherein the first syntax element is used to indicate the intra-prediction mode of the current node; and parsing the bitstream to determine the value of the third syntax element when the value of the first syntax element is equal to a first value.
[0151] It can be understood that the value of the first syntax element is equal to the first value, indicating that the prediction for the current node uses the intra-prediction mode shown in Figure 14 or a further implementation of the intra-prediction mode. The first value can be any value, such as 1 or 0.
[0152] In an embodiment where a smaller similarity parameter value indicates greater similarity between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes, in one possible implementation, the reference node of the current node is a neighboring node whose similarity parameter is less than or equal to a first threshold. The first threshold can be a default value or a value indicated in the bitstream; that is, the decoding method further includes: parsing the bitstream to determine the value of a second syntax element; the second syntax element is used to indicate the first threshold; and the first threshold is determined based on the value of the second syntax element. For example, the value of the second syntax element is the index value of the first threshold.
[0153] Furthermore, in some embodiments, parsing the bitstream to determine the value of the second syntax element includes: parsing the bitstream to determine the value of the first syntax element; wherein the first syntax element is used to indicate the intra-prediction mode of the current node; and parsing the bitstream to determine the value of the second syntax element when the value of the first syntax element is equal to a first value.
[0154] It can be understood that the value of the first syntax element is equal to the first value, indicating that the prediction for the current node uses the intra-prediction mode shown in Figure 14 or a further implementation of the intra-prediction mode. The first value can be any value, such as 1 or 0.
[0155] In this application, the positions of the first, second, and third syntax elements in the bitstream are not limited. In some embodiments, the first syntax element may be a higher-level syntax element, such as the attribute parameter set / attribute parameter setting (APS) in the bitstream. The second and third syntax elements are in the attribute block header (ABH) in the bitstream; however, they may also be in the APS, and this application does not limit this.
[0156] Step 1403: Determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0157] In this embodiment, the further implementation of step 1403 is not limited. In some embodiments, step 1403 may further include: averaging the reconstructed values of the second attribute of at least one reference node of the current node to determine the predicted value of the second attribute of the current node. For example, the predicted value of the second attribute of the current node is equal to the average value of the reconstructed values of the second attribute of at least one reference node of the current node; or, for example, the predicted value of the second attribute of the current node is equal to the value obtained by further processing the average value of the reconstructed values of the second attribute of at least one reference node of the current node.
[0158] In some other embodiments, step 1403 may further include: determining a predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
[0159] Further, in some embodiments, determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes includes: performing a weighted average operation on the reconstructed values of the second attributes of at least one of the reference nodes based on the weight of at least one of the reference nodes to determine the predicted value of the second attribute of the current node.
[0160] For example, the predicted value of the second attribute of the current node is equal to the weighted average of the reconstructed values of the second attributes of at least one reference node of the current node; or, the predicted value of the second attribute of the current node is equal to the value obtained by further processing the weighted average of the reconstructed values of the second attributes of at least one reference node of the current node.
[0161] In some embodiments, the decoding method further includes: parsing the bitstream to determine the residual value of the transform coefficients of the second attribute of the current node; transforming the predicted value of the second attribute of the current node (e.g., RAHT transform) to determine the predicted value of the transform coefficients of the second attribute of the current node; determining the transform coefficients (i.e., reconstruction coefficients) of the second attribute of the current node based on the residual value of the transform coefficients of the second attribute of the current node and the predicted value of the transform coefficients of the second attribute of the current node; and transforming the transform coefficients of the second attribute of the current node (i.e., transforming from the transform domain to the attribute domain, i.e., inverse transform) to determine the reconstructed value of the second attribute of the current node.
[0162] For lossy compression point cloud encoding and decoding, the decoding method further includes: decoding the bitstream to obtain the residual value of the transform coefficients of the second attribute of the current node, then inverse quantizing the residual value, accumulating the predicted value of the transform coefficients of the second attribute of the current node with the inverse quantized residual value, and the accumulated result is the transform coefficient of the second attribute of the current node; transforming the transform coefficients of the second attribute of the current node (i.e., transforming from the transform domain to the attribute domain, which is the inverse transform) to determine the reconstructed value of the second attribute of the current node; wherein, the predicted value of the transform coefficients of the second attribute of the current node is obtained by transforming the predicted value of the second attribute of the current node (such as RAHT transform).
[0163] For lossless compression point cloud encoding and decoding, the decoding method further includes: decoding the bitstream to obtain the residual value of the transform coefficients of the second attribute of the current node, wherein the final transformed coefficients of the second attribute of the current node can be the sum of the residual value and the predicted value of the transformed coefficients of the second attribute of the current node. The predicted value of the transformed coefficients of the second attribute of the current node is obtained by transforming (e.g., RAHT transform) the predicted value of the second attribute of the current node.
[0164] It should be noted that, in the embodiments of this application, the residual value of the transformation coefficient of the second attribute of the current node can also be understood as the residual coefficient of the second attribute of the current node, or as the residual value of the second attribute of the current node, etc.
[0165] It should also be noted that, in the embodiments of this application, early termination for transform domain prediction of RAHT can be disabled or enabled for the current node, and this application does not limit this. Further, in some embodiments, disabling early termination for the current node includes disabling early termination for the second attribute of the current node.
[0166] In some embodiments, the method for disabling early stopping of intra-prediction for the current node is not limited. The current node may directly or indirectly avoid using early stopping of intra-prediction. For an embodiment that indirectly avoids using early stopping of intra-prediction, one implementation includes: using intra-prediction for the current node when the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or when the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold; wherein the second threshold is equal to 1 and the third threshold is equal to 1; or, disabling intra-prediction for the current node when the effective number of neighboring nodes of the current node's parent node is less than the second threshold, and / or when the effective number of neighboring nodes of the current node's grandparent node is less than the third threshold; wherein the second threshold is equal to 1 and the third threshold is equal to 1.
[0167] In other embodiments, when using intra-prediction early stopping for the current node, the method further includes: applying intra-prediction to the current node if the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold; or disabling intra-prediction for the current node if the effective number of neighboring nodes of the current node's parent node is less than the second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is less than the third threshold. Wherein, the second threshold is greater than 1, and / or the third threshold is greater than 1. For example, the second threshold is 6, and the third threshold is 2.
[0168] It can be understood that the number of valid neighboring nodes of the current node's parent node refers to the number of valid nodes among the current node's parent node's neighbors. "Valid" means that the node is not empty. Similarly, the number of valid neighboring nodes of the current node's grandparent node refers to the number of valid nodes among the current node's grandparent node's neighbors.
[0169] In this embodiment, the neighboring nodes of the parent node of the current node are not limited. Exemplarily, in some embodiments, the neighboring nodes of the parent node of the current node include one or more of the following nodes:
[0170] The collinear nodes of the parent node of the current node;
[0171] The coplanar nodes of the parent node of the current node.
[0172] In this embodiment of the application, there is no limitation on the neighboring nodes of the grandparent node of the current node.
[0173] For example, in some embodiments, the neighbor nodes of the current node's grandparent node include one or more of the following nodes:
[0174] The collinear nodes of the grandparent node of the current node;
[0175] The coplanar nodes of the current node's grandparent node.
[0176] In this embodiment, intra-prediction early stopping can be enabled or disabled by default for the current node, or a rate-distortion optimization algorithm can be used to determine whether to use intra-prediction early stopping. In some embodiments, the decoding method further includes: parsing the bitstream to determine the value of the fifth syntax element; and determining whether to use intra-prediction early stopping for the current node based on the value of the fifth syntax element.
[0177] In this embodiment, the neighboring nodes of the current node are not limited. Exemplarily, in some embodiments, the neighboring nodes of the current node include one or more of the following nodes:
[0178] The parent node of the current node;
[0179] The coplanar nodes of the parent node of the current node;
[0180] The collinear nodes of the parent node of the current node;
[0181] The coplanar nodes that have been reconstructed by the current node;
[0182] The collinear nodes that have been rebuilt by the current node.
[0183] It is understood that the prediction method for the second attribute of the current node described in the above embodiments can be understood as an intra-frame prediction mode. It should also be noted that the prediction of the second attribute of the current node can default to the above intra-frame prediction mode, or the use of the above intra-frame prediction mode can be indicated in the bitstream.
[0184] In some embodiments, the decoding method further includes: parsing the bitstream to determine the value of a first syntax element; wherein the first syntax element is used to indicate the intra-prediction mode of the current node; and performing the steps of the decoding method if the value of the first syntax element is equal to a first value. That is, if the value of the first syntax element is equal to the first value, the prediction of the second attribute of the current node can use the above-described intra-prediction mode.
[0185] This application provides an encoding method applied to an encoder. Figure 16 is a schematic diagram of the implementation flow of the encoding method provided in this application; as shown in Figure 16, the method includes the following steps 1601 to 1603:
[0186] Step 1601: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes;
[0187] Step 1602: Determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters;
[0188] Step 1603: Determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0189] It is understandable that, for the prediction of the second attribute of the current node, the similarity between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node (i.e., determining the similarity parameter between the two) is first determined by selecting reference nodes from the current node's neighbors to participate in the prediction of the second attribute of the current node. Then, the reconstructed value of the second attribute of the selected reference nodes is used to predict the second attribute of the current node. In this way, using the reconstructed first attribute to guide the prediction of the second attribute is beneficial to improving the prediction accuracy of the second attribute of the current node, thereby saving bitstream overhead and enhancing the encoding and decoding performance of the point cloud.
[0190] The following sections will describe further optional implementation methods for each of the above steps, as well as related terms.
[0191] Step 1601: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes.
[0192] In this embodiment, the method for determining the similarity parameter is not limited. In short, the similarity parameter characterizes the degree of similarity between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes. Various methods can be used to determine the degree of similarity between the two.
[0193] For example, in some embodiments, step 1601 may further include: determining the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node; and determining the similarity parameter based on the difference.
[0194] It is understood that the current node may have one or more neighboring nodes. Therefore, the difference between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of one or more neighboring nodes can be determined. That is, one neighboring node corresponds to one such difference.
[0195] In this embodiment of the application, the method for determining the difference is not limited. The difference may be the reconstructed value of the first attribute of the current node minus the reconstructed value of the first attribute of the neighboring node. The difference may also be the reconstructed value of the first attribute of the neighboring node minus the reconstructed value of the first attribute of the current node. The difference may also be the absolute value of the reconstructed value of the first attribute of the neighboring node minus the reconstructed value of the first attribute of the current node.
[0196] As mentioned earlier, one neighbor node corresponds to one difference value, and therefore, one neighbor node corresponds to one similarity parameter. In this embodiment, the further implementation of determining the similarity parameter based on the difference value is not limited; in short, the similarity parameter is determined at least based on the difference value. For example, the similarity parameter is equal to the difference value. Furthermore, in some embodiments, determining the similarity parameter based on the difference value may further include: determining the similarity parameter based on the difference value and the reconstructed value of the first attribute of the current node. Exemplarily, in some embodiments, determining the similarity parameter based on the difference value and the reconstructed value of the first attribute of the current node includes: determining the similarity parameter based on the ratio of the difference value to the reconstructed value of the first attribute of the current node.
[0197] In one possible implementation, the similarity parameter corresponding to the k-th neighbor node can be determined according to the following formula:
[0198] Among them, s k Attr1 represents the similarity parameter corresponding to the k-th neighbor node. k attr1 represents the reconstructed value of the first attribute of the k-th neighbor node. curr This represents the reconstructed value of the first attribute of the current node. The k-th neighbor node is any of the current node's neighbor nodes.
[0199] Of course, the calculation of the similarity parameter is not limited to the method described in the example above. The similarity parameter can also be determined by determining the Pearson correlation coefficient, Euclidean distance, Manhattan distance, cosine similarity, or Hamming distance between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes, and based on this, the similarity parameter can be determined.
[0200] In this embodiment of the application, there are no limitations on the first attribute and the second attribute. In short, before the second attribute of the current node is predicted, the first attribute of the current node and the first attribute of the neighboring nodes have been reconstructed, and the encoding and decoding order of the first attribute is prior to the encoding and decoding order of the second attribute.
[0201] Furthermore, in the embodiments of this application, the reconstructed value of the first attribute can be the reconstructed value of a single attribute component or the combined value of the reconstructed values of multiple attribute components. This application does not limit the reconstructed value of the first attribute.
[0202] For example, in some embodiments, the first attribute is reflectance, and the second attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component. It can be understood that in this embodiment, three implementation schemes are provided: one guides the prediction of the luminance component based on reflectance, another guides the prediction of the first chromaticity component based on reflectance, and yet another guides the prediction of the second chromaticity component based on reflectance.
[0203] In the embodiments of this application, there is no limitation on the first chromaticity component and the second chromaticity component; in short, they are two different chromaticity components. For example, the first chromaticity component is the blue chromaticity component, and the second chromaticity component is the red chromaticity component.
[0204] For example, in some other embodiments, the second attribute is reflectance, and the first attribute is one of the following color components: a luminance component; a first chromaticity component; and a second chromaticity component. It is understood that in this embodiment, three implementation schemes are provided: one guides the prediction of reflectance based on the luminance component, another guides the prediction of reflectance based on the first chromaticity component, and yet another guides the prediction of reflectance based on the second chromaticity component.
[0205] Exemplarily, in some other embodiments, the method further includes: determining a reconstructed value of a first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node; wherein the second attribute is reflectance. That is, in this embodiment, the reconstructed value of the first attribute of the neighboring node can also be determined based on the reconstructed values of one or more color components of the neighboring node, thereby guiding the prediction of reflectance.
[0206] It should be noted that determining the reconstructed value of the first attribute of a neighboring node based on the reconstructed values of one or more color components of the neighboring node can also be understood as determining the reconstructed value of the first attribute of the kth neighboring node based on the reconstructed values of one or more color components of the kth neighboring node of the current node; wherein, the kth neighboring node is any neighboring node of the current node. It should be understood that different neighboring nodes can determine their first attribute reconstructed values using the same method.
[0207] It should also be noted that, in this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node is not limited.
[0208] In one possible implementation, determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: performing a weighted average operation on the reconstructed values of one or more color components of the neighboring node according to their weights, to determine the reconstructed value of the first attribute of the neighboring node.
[0209] It should be noted that the step of determining the reconstructed value of the first attribute of a neighboring node by performing a weighted average calculation on the reconstructed values of one or more color components of the neighboring node based on their weights can be understood as determining the reconstructed value of the first attribute of the kth neighboring node by performing a weighted average calculation on the reconstructed values of one or more color components of the kth neighboring node based on their weights; wherein the kth neighboring node is any neighboring node of the current node. It should be understood that different neighboring nodes can determine their reconstructed first attribute values using the same method.
[0210] In this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the weighted average operation is not limited. For example, the reconstructed value of the first attribute of the neighboring node is the result of performing a weighted average operation on the reconstructed values of one or more color components of the neighboring node; or, for example, the reconstructed value of the first attribute of the neighboring node is the result obtained after further processing the result obtained from the weighted average operation.
[0211] In embodiments where the reconstructed value of the first attribute of a neighboring node is determined through a weighted average calculation, the weights set for different color components are not limited in this application. Exemplarily, in some embodiments, the weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node. In this application, the weights of the first chrominance component and the second chrominance component of the neighboring node may be equal or unequal, and this application does not limit this.
[0212] Brightness typically refers to the intensity or darkness 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 a point cloud are strongly correlated, especially for neighboring points, where their correlations are basically the same. In view of this, in the determination of the reconstructed value of the first attribute of the neighboring node, the brightness component of the neighboring node has a larger weight than the weights of the first and second chromaticity components. Based on this, the reconstructed value of the first attribute of the neighboring node is determined, and then the prediction of reflectivity (i.e., an example of the second attribute) is guided by the reconstructed value of the first attribute of the neighboring node. This is beneficial for selecting reference nodes with reflectivity more similar to the current node, thereby improving the prediction accuracy of the current node's reflectivity and enhancing the encoding and decoding performance of the point cloud.
[0213] The method for determining the reconstructed value of the first attribute of a neighboring node based on the reconstructed values of one or more color components of the neighboring node is not limited; the reconstructed value of the first attribute of the neighboring node can be determined by the weighted average operation described above. In another possible implementation, the reconstructed value of the first attribute of the neighboring node can also be determined by an averaging operation. That is, determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: averaging the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
[0214] In this embodiment of the application, the method for determining the reconstructed value of the first attribute of the neighboring node based on the averaging operation is not limited. For example, the reconstructed value of the first attribute of the neighboring node is the result of averaging the reconstructed values of one or more color components of the neighboring node; or, for example, the reconstructed value of the first attribute of the neighboring node is the result obtained after further processing the result obtained from the averaging operation.
[0215] In some embodiments, one or more color components of the neighboring node include one or more of the following components: luminance component; first chrominance component; second chrominance component.
[0216] It is understood that the further implementation of step 1601 above is the same as that of the decoding end. Therefore, the further implementation of step 1601 on the encoding end can be understood by referring to the description and related details of the further implementation of step 1601 on the decoding end above.
[0217] Step 1602: Determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters.
[0218] It is understood that, for embodiments where a larger similarity parameter value indicates greater similarity between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes, in one possible implementation, the reference node of the current node is a neighboring node whose similarity parameter is greater than or equal to a fourth threshold. The fourth threshold can be a default value or can be determined using a rate-distortion optimization (RDO) algorithm. In some embodiments, the encoding method further includes: determining the value of a third syntax element; the third syntax element being used to indicate the fourth threshold; encoding the value of the third syntax element, and writing the resulting encoded bits into the bitstream. For example, the value of the third syntax element is the index value of the fourth threshold.
[0219] Furthermore, in some embodiments, determining the value of the third syntax element includes: determining the value of the third syntax element when the value of the first syntax element is equal to the first value; wherein the first syntax element is used to indicate the intra-prediction mode of the current node.
[0220] It can be understood that the value of the first syntax element is equal to the first value, indicating that the prediction for the current node uses the intra-prediction mode shown in Figure 16 or a further implementation of the intra-prediction mode. The first value can be any value, such as 1 or 0.
[0221] In embodiments where a smaller similarity parameter value indicates greater similarity between the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes, in one possible implementation, the reference node of the current node is a neighboring node whose similarity parameter is less than or equal to a first threshold. The first threshold can be a default value or can be determined using a rate-distortion optimization (RDO) algorithm. In some embodiments, the encoding method further includes: determining the value of a second syntax element; the second syntax element indicating the first threshold; encoding the value of the third syntax element, and writing the resulting encoded bits into the bitstream. For example, the value of the second syntax element is the index value of the first threshold.
[0222] Furthermore, in some embodiments, determining the value of the second syntax element includes: determining the value of the second syntax element when the value of the first syntax element is equal to the first value.
[0223] It can be understood that the value of the first syntax element is equal to the first value, indicating that the prediction for the current node uses the intra-prediction mode shown in Figure 16 or a further implementation of the intra-prediction mode. The first value can be any value, such as 1 or 0. In some embodiments, the value of the first syntax element can be determined by a rate-distortion optimization algorithm.
[0224] In this application, the positions of the first, second, and third syntax elements in the bitstream are not limited. In some embodiments, the first syntax element may be a higher-level syntax element, such as the attribute parameter set / attribute parameter setting (APS) in the bitstream. The second and third syntax elements are in the attribute block header (ABH) in the bitstream; however, they may also be in the APS, and this application does not limit this.
[0225] Step 1603: Determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0226] In this embodiment, the further implementation of step 1603 is not limited. In some embodiments, step 1603 may further include: averaging the reconstructed values of the second attribute of at least one reference node of the current node to determine the predicted value of the second attribute of the current node. For example, the predicted value of the second attribute of the current node is equal to the average value of the reconstructed values of the second attribute of at least one reference node of the current node; or, for example, the predicted value of the second attribute of the current node is equal to the value obtained by further processing the average value of the reconstructed values of the second attribute of at least one reference node of the current node.
[0227] In some other embodiments, step 1603 may further include: determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
[0228] Further, in some embodiments, determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes includes: performing a weighted average operation on the reconstructed values of the second attributes of at least one of the reference nodes based on the weight of at least one of the reference nodes to determine the predicted value of the second attribute of the current node.
[0229] For example, the predicted value of the second attribute of the current node is equal to the weighted average of the reconstructed values of the second attributes of at least one reference node of the current node; or, the predicted value of the second attribute of the current node is equal to the value obtained by further processing the weighted average of the reconstructed values of the second attributes of at least one reference node of the current node.
[0230] In some embodiments, the encoding method further includes: transforming the predicted value of the second attribute of the current node to obtain the predicted value of the transform coefficients (such as AC coefficients or DC coefficients) of the second attribute of the current node; determining the residual value of the transform coefficients of the second attribute of the current node based on the transform coefficients of the second attribute of the current node (here referring to the original transform coefficients) and the predicted value of the transform coefficients of the second attribute of the current node; encoding the residual value of the transform coefficients of the second attribute of the current node, and writing the obtained encoded bits into the bitstream.
[0231] To facilitate the prediction of subsequent nodes, in some embodiments, the encoding method further includes: decoding the residual value of the transform coefficient of the second attribute of the current node; determining the transform coefficient of the second attribute of the current node (i.e., the reconstructed value of the transform coefficient of the second attribute) based on the predicted value of the transform coefficient of the second attribute of the current node and the residual value obtained from the decoding process; and performing an inverse transform on the transform coefficient of the second attribute of the current node to determine the reconstructed value of the second attribute of the current node.
[0232] For point cloud encoding and decoding with lossy compression, in some embodiments, the encoding method further includes: transforming the predicted value of the second attribute of the current node to obtain the predicted value of the transform coefficients (such as AC coefficients or DC coefficients) of the second attribute of the current node; determining the residual value of the transform coefficients of the second attribute of the current node based on the transform coefficients of the second attribute of the current node (here referring to the original transform coefficients) and the predicted value of the transform coefficients of the second attribute of the current node; quantizing the residual value of the transform coefficients of the second attribute of the current node; encoding the obtained quantized coefficients; and writing the obtained encoded bits into the bitstream.
[0233] To facilitate the prediction of subsequent nodes, in some embodiments, the encoding method further includes: dequantizing the quantization coefficients to obtain the dequantized residual value of the transform coefficients of the second attribute of the current node; accumulating the predicted value of the transform coefficients of the second attribute of the current node with the dequantized residual value, and the accumulation result is the transform coefficient (reconstructed value) of the second attribute of the current node; performing an inverse transform (also called a transformation, which refers to transforming from the transform domain to the attribute domain) on the transform coefficients of the second attribute of the current node to determine the reconstructed value of the second attribute of the current node.
[0234] For lossless compression point cloud encoding and decoding, in some embodiments, the encoding method further includes: transforming the predicted value of the second attribute of the current node to obtain the predicted value of the transform coefficients (such as AC coefficients or DC coefficients) of the second attribute of the current node; determining the residual value of the transform coefficients of the second attribute of the current node based on the transform coefficients of the second attribute of the current node (here referring to the original transform coefficients) and the predicted value of the transform coefficients of the second attribute of the current node; the final transformed coefficients (reconstructed value) of the second attribute of the current node can be the sum of the residual value and the predicted value of the transform coefficients of the second attribute of the current node; performing an inverse transform (also called a transformation, which refers to transforming from the transform domain to the attribute domain) on the transform coefficients of the second attribute of the current node to determine the reconstructed value of the second attribute of the current node.
[0235] In the embodiments of this application, the residual value of the transformation coefficient can also be understood as the residual coefficient, the residual transformation coefficient, or the transformation coefficient residual, etc.
[0236] It should be noted that, in the embodiments of this application, early termination for transform domain prediction of RAHT can be disabled or enabled for the current node, and this application does not limit this. Further, in some embodiments, disabling early termination for the current node includes disabling early termination for the second attribute of the current node.
[0237] In some embodiments, the method for disabling early stopping of intra-prediction for the current node is not limited. The current node may directly or indirectly avoid using early stopping of intra-prediction. For an embodiment that indirectly avoids using early stopping of intra-prediction, one implementation includes: using intra-prediction for the current node when the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or when the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold; wherein the second threshold is equal to 1 and the third threshold is equal to 1; or, disabling intra-prediction for the current node when the effective number of neighboring nodes of the current node's parent node is less than the second threshold, and / or when the effective number of neighboring nodes of the current node's grandparent node is less than the third threshold; wherein the second threshold is equal to 1 and the third threshold is equal to 1.
[0238] In other embodiments, when using intra-prediction early stopping for the current node, the method further includes: applying intra-prediction to the current node if the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold; or disabling intra-prediction for the current node if the effective number of neighboring nodes of the current node's parent node is less than the second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is less than the third threshold. Wherein, the second threshold is greater than 1, and / or the third threshold is greater than 1. For example, the second threshold is 6, and the third threshold is 2.
[0239] It can be understood that the number of valid neighboring nodes of the current node's parent node refers to the number of valid nodes among the current node's parent node's neighbors. "Valid" means that the node is not empty. Similarly, the number of valid neighboring nodes of the current node's grandparent node refers to the number of valid nodes among the current node's grandparent node's neighbors.
[0240] In this embodiment, the neighboring nodes of the parent node of the current node are not limited. Exemplarily, in some embodiments, the neighboring nodes of the parent node of the current node include one or more of the following nodes:
[0241] The collinear nodes of the parent node of the current node;
[0242] The coplanar nodes of the parent node of the current node.
[0243] In this embodiment, the neighboring nodes of the current node's grandparent node are not limited. Exemplarily, in some embodiments, the neighboring nodes of the current node's grandparent node include one or more of the following nodes:
[0244] The collinear nodes of the grandparent node of the current node;
[0245] The coplanar nodes of the current node's grandparent node.
[0246] In this embodiment, intra-prediction early stopping can be enabled or disabled by default for the current node, or a rate-distortion optimization algorithm can be used to determine whether to use intra-prediction early stopping, and the value of the fifth syntax element is determined accordingly. In some embodiments, the encoding method further includes: determining whether to use intra-prediction early stopping for the current node; determining the value of the fifth syntax element based on the determination result; encoding the value of the fifth element; and writing the obtained encoded bits into the bitstream.
[0247] In this embodiment, the neighboring nodes of the current node are not limited. Exemplarily, in some embodiments, the neighboring nodes of the current node include one or more of the following nodes:
[0248] The parent node of the current node;
[0249] The coplanar nodes of the parent node of the current node;
[0250] The collinear nodes of the parent node of the current node;
[0251] The coplanar nodes that have been reconstructed by the current node;
[0252] The collinear nodes that have been rebuilt by the current node.
[0253] It is understood that the prediction method for the second attribute of the current node described in the above embodiments can be interpreted as an intra-frame prediction mode. It should also be noted that the prediction of the second attribute of the current node can default to the above-described intra-frame prediction mode, or the use of the above-described intra-frame prediction mode can be indicated in the bitstream. In some embodiments, a rate-distortion optimization algorithm can be used to determine whether to use the above-described intra-frame prediction mode, and the value of the first syntax element can be determined accordingly. In some embodiments, the encoding method further includes: determining the value of the first syntax element; wherein the first syntax element is used to indicate the intra-frame prediction mode of the current node. That is, when the value of the first syntax element is equal to a first value, the prediction of the second attribute of the current node can use the above-described intra-frame prediction mode.
[0254] The following examples illustrate possible implementation schemes of the encoding and decoding methods described in one or more of the above embodiments.
[0255] In the current G-PCC attribute coding framework, intra-frame prediction and inter-frame prediction are widely introduced to remove temporal and spatial redundancy in point cloud coding. Inter-chrominance prediction is also introduced to remove redundancy between chrominance components Cb and Cr. The inventors of this application discovered in their research and analysis that when G-PCC encodes an am-fused point cloud sequence containing multiple attributes (color, reflectivity), the redundancy between two attributes has not been fully exploited and removed. Specifically, when one attribute has been encoded and another attribute is encoded, a significant amount of redundancy still exists between the attributes, inevitably leading to a waste of bitrate.
[0256] In view of this, the following examples illustrate possible implementation schemes for the encoding and decoding methods.
[0257] The following implementation describes a cross-attribute intra-frame prediction scheme based on RAHT provided by an embodiment of this application.
[0258] In the current RAHT coding scheme, layers are first divided from the root node to the leaf nodes, and then RAHT transformation is performed layer by layer from top to bottom. The transformation coefficients (such as AC coefficients) of each layer are predicted, quantized, and entropy-coded. For the current transform block (i.e., the current node), if the number of neighboring nodes of the current node's parent node is greater than 6, and / or the number of neighboring nodes of the current node's grandparent node is greater than 2, intra-frame prediction is enabled. At this time, attribute prediction for the current node (i.e., the node to be predicted) is performed by the parent node, the parent node's coplanar neighboring nodes, the parent node's collinear neighboring nodes, the current node's reconstructed coplanar neighboring nodes, and / or the current node's reconstructed collinear neighboring nodes, with a prediction ratio of 9:3:1:5:2. In GPCC, the attribute encoding order is controlled by the parameter `attr_multi_encoded_order`. A value of `false` indicates that color is encoded first, followed by reflectance (the first attribute is color, and the second attribute is reflectance), while a value of `true` indicates that reflectance is encoded first, followed by color (the first attribute is reflectance, and the second attribute is color).
[0259] When one attribute of the fused point cloud (containing both color and reflectance attributes) has been encoded, this attribute information can be used to guide the encoding of the second attribute to improve prediction accuracy and remove redundancy. In this embodiment, a method is proposed to use the first attribute information to correct the intra-frame prediction of the second attribute. Specifically, when encoding the second attribute, the first step is to remove the early stopping condition of intra-frame prediction, i.e., to allow all transform blocks / nodes to perform intra-frame prediction. The second step is to calculate the similarity of the first attribute between the current node and each of its neighboring nodes. If the similarity of the first attribute between the current node and its neighboring nodes is low, the prediction qualification of this neighboring node is cancelled until all neighboring nodes have been traversed. Figure 17 is a schematic diagram of the implementation flow of the intra-frame prediction method provided in this embodiment; as shown in Figure 17, the method includes the following steps 1701 to 1708; wherein, steps 1701 to 1704 are the intra-frame prediction method for the first attribute, and steps 1705 to 1708 are the intra-frame prediction method for the second attribute.
[0260] Step 1701: For the 8 sub-blocks to be predicted, determine whether NumValidP is greater than or equal to threshold Th1, and / or determine whether NumValidGP is greater than or equal to threshold Th2; if yes, proceed to step 1703; otherwise, proceed to step 1702.
[0261] It can be understood that the current node is any non-empty sub-block among these 8 sub-blocks to be predicted. Since NumValidP refers to the total number of valid neighbor parent nodes and NumValidGP refers to the total number of valid neighbor grandparent nodes, the NumValidP and NumValidGP corresponding to each sub-block to be predicted are the same.
[0262] Wherein, threshold Th1 can be understood as the second threshold described in the foregoing embodiments, and threshold Th2 can be understood as the third threshold described in the foregoing embodiments.
[0263] In the embodiments of this application, these 8 sub-blocks to be predicted can be understood as 8 nodes to be predicted, or as 8 sub-nodes to be predicted, i.e., 8 sub-nodes.
[0264] Step 1702: Disable intra-frame prediction for these 8 sub-blocks to be predicted;
[0265] Step 1703: Find neighboring nodes;
[0266] Step 1704: Perform intra-frame prediction based on the found neighbor nodes;
[0267] Step 1705: For these 8 sub-blocks to be predicted, find their neighbor nodes;
[0268] As can be seen from Figure 17, for the prediction of the second attribute of the current node, early stopping of intra-frame prediction is disabled, and instead the neighboring nodes of the current node to be predicted are directly searched.
[0269] Step 1706: Calculate the similarity of the first attribute of the current node to be predicted with all its neighboring nodes;
[0270] Step 1707: Determine whether the similarity of the first attribute is lower than the threshold (i.e., the first threshold described in the previous embodiment); if so, use the neighbor node as the reference node of the current node to be predicted, and proceed to step 1708.
[0271] Step 1708: Perform intra-frame prediction on the current node to be predicted based on the selected reference node.
[0272] The implementation process of the above steps is described in detail below.
[0273] (1) Cancel / disable early stopping of intra-frame prediction
[0274] In transform domain prediction, predicted values are created using 19 neighboring nodes as the central node for the target encoding node (child nodes). Based on this, an early termination function for transform domain prediction is introduced to reduce encoding time. In this function, the following two parameters are calculated for every 8 child nodes to be predicted.
[0275] NumValidP: The total number of valid neighbor parent nodes;
[0276] NumValidGP: The total number of valid neighbor grandparent nodes.
[0277] Then, intra-frame prediction will be disabled if NumValidP or NumValidGP is less than the threshold. This means that intra-frame prediction terminates when the number of valid neighbor nodes decreases. By default, the thresholds for the am-fused point cloud are TH1=2 and TH2=6.
[0278] In this embodiment, when encoding the second attribute, the early stop disabling condition is removed, i.e., NumValidP and NumValidGP are disabled, allowing all nodes to perform intra-frame prediction. The codec is configured simultaneously.
[0279] (2) Cross-attribute correlation mining
[0280] In terms of the optical properties of objects, 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 properties 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 first attribute information of the current node and its already encoded neighbor nodes to guide the prediction of the second attribute can reduce residuals and remove redundancy.
[0281] Figure 18 is an example diagram of selecting reference nodes from neighboring nodes based on similarity according to an embodiment of this application. As shown in Figure 18, in an intra-frame prediction, for the current node to be predicted, the correlation between its two attributes and those of its parent node, the parent node's neighboring nodes, and the reconstructed neighboring nodes is high. The true values of the two attributes are shown in Figure 18. Assuming that the reflectivity attribute has been reconstructed, when predicting color information, G-PCC uses the five types of nodes shown in the figure to predict the color of the current node to be predicted. Since the reconstructed reflectivity information of the five types of nodes and the current node to be predicted is known, it is obvious that the correlation between reflectivity and color can be used to cancel the prediction qualification of some prediction nodes, making the accuracy of color prediction higher. As shown in Figure 18, if the first attribute (such as reflectivity) of the current node to be predicted has been reconstructed, then for the prediction of the second attribute (such as brightness) of the current node to be predicted, the reference nodes participating in the prediction of the second attribute can be selected based on the similarity between the first attribute of the current node to be predicted and the first attribute of the reference nodes.
[0282] (3) Cross-attribute guided intra-frame prediction
[0283] Guided by the first attribute information, after canceling the early stopping condition for intra-frame prediction, for the second attribute information, after finding all neighbor nodes, the similarity s of the first attribute between each neighbor and the current node to be predicted is calculated sequentially. k :
[0284] Among them, attr1 k attr1 represents the value of the first attribute of the k-th neighbor node. curr This represents the value of the first attribute of the current node, followed by s k The threshold th (i.e., the first threshold) is used for comparison. If s k If the similarity is greater than th, then the k-th neighbor node is considered to have a low attribute similarity with the current node, and the k-th neighbor node is disqualified from predicting the second attribute of the current node. The similarity of all neighbor nodes is calculated sequentially and compared with the threshold until the prediction eligibility of all neighbor nodes for the second attribute of the current node has been determined.
[0285] Finally, the selected neighboring nodes qualified for prediction (i.e., the reference nodes of the current node) are used to predict the second attribute of the current node, maintaining the prediction ratio of 9:3:1:5:2. When predicting reflectance guided by color, luminance information can be selected as the first attribute, or YCbCr can be merged with a weight of 7:1:1, and the merged new color information can be used as the first attribute to guide reflectance prediction. When predicting reflectance guided by color, the value of th is set to 1; when predicting color guided by reflectance, the value of th is set to 8.
[0286] (4) Implementation details of the encoding end
[0287] In the RAHT algorithm, the original point cloud starts from the root node and undergoes a layer-by-layer RAHT transformation for each 2×2×2 block from top to bottom to obtain transformation coefficients. For each layer, AC coefficient prediction is performed, and the residual values are quantized and entropy-encoded. During intra-frame prediction, for the second attribute, if cross-attribute guided prediction begins, a flag `enable_cross_raht` is set to 1. Then, for the transform block (i.e., the node to be predicted) of the second attribute, early intra-frame prediction pausing is first canceled (the advantage of canceling this is that, with similarity guidance, even if the number of neighboring nodes is below a threshold, good prediction accuracy can still be obtained). Next, neighbor node search is performed, and for each neighboring node, the similarity s of the first attribute is calculated. k Calculate, the calculated s k Compared with the threshold th, neighboring nodes with values below th are disabled for prediction, and finally, the flag bit enable_cross_raht is written into the attribute parameter APS. If the value is 0, cross-attribute guided prediction of the second attribute is turned off. The threshold th also needs to be written into ABH. Figure 19 is a schematic diagram of the implementation flow of the intra-frame prediction method at the encoding end provided in this application embodiment; as shown in Figure 19, the method may include the following steps 1901 to 1904:
[0288] Step 1901: For these 8 sub-blocks to be predicted, find their neighbor nodes;
[0289] As can be seen from Figure 19, for the prediction of the second attribute of the current node, early stopping of intra-frame prediction is disabled, and instead the neighboring nodes of the current node to be predicted are directly searched.
[0290] Step 1902: Calculate the similarity of the first attribute of the current node to be predicted with all its neighboring nodes;
[0291] Step 1903: Determine whether the similarity of the first attribute is lower than the threshold (i.e., the first threshold described in the previous embodiment); if so, use the neighbor node as the reference node of the current node to be predicted, and proceed to step 1904.
[0292] Step 1904: Perform intra-frame prediction on the current node to be predicted based on the selected reference node.
[0293] (5) Code stream structure
[0294] The detailed bitstream structure is as follows. A new flag, `enable_cross_raht`, is added to the Attribute Quantization parameter APS. A value of 1 enables cross-attribute intra-frame prediction guidance for the second attribute, while a value of 0 disables it. Simultaneously, a new parameter, `th`, is added to the Attribute Block Header ABH, representing the threshold for the similarity of the first attribute. By default, `th` is 1 when color guides reflectance prediction, and 8 when reflectance guides color prediction.
[0295] (6) Decoding implementation details
[0296] Figure 20 is a schematic diagram of the implementation flow of the intra-frame prediction method of the decoding end provided in the embodiment of this application. As shown in Figure 20, the decoding end reads the attribute APS and first decodes the higher-layer control bit enable_cross_raht. If the value of enable_cross_raht is 0, the second attribute does not use the first attribute to guide the prediction, and there is no need to decode th in ABH. If the value of enable_Wiener_flag is 1, it indicates that the second attribute uses cross-attribute intra-frame prediction guidance, and at this time, th in attribute ABH needs to be decoded again. Subsequently, for the intra-frame prediction node of the second attribute, the early stop of intra-frame prediction is first canceled, and then a neighbor node search is performed. For each neighbor node, the similarity s of the first attribute is calculated. k Calculate, the calculated s k Compared with a threshold th, neighboring nodes with values above th are disabled for prediction.
[0297] In this embodiment, the APS and ABH in the bitstream structure are directly read and written according to the original program; in the specific implementation of cross-attribute intra-frame prediction, the first attribute information needs to be additionally passed into the buffer, and the specific implementation of the decoding program is as follows:
[0298] It should be noted that after the above technical solution was implemented on the G-PCC reference software TMC13-v28.0-rc1, it was tested under the CTC-Raht C1 and C2 test conditions. Tables 1 and 2 show the results when color is the first attribute and reflectance is the second attribute; Tables 3 and 4 show the results when emissivity is the first attribute and color is the second attribute. For color-guided reflectance, compared with the original solution, this solution achieved a -0.4% gain in BD-attrRate on the reflectance component of the Am-fused dataset under the TMC13 and CTC-C1 test conditions, and a -1.2% gain in BD-totalRate on the reflectance component of the Am-fused dataset under the CTC-C2 test conditions. For reflectance-guided color, compared with the original scheme, the test results show that this scheme achieved a gain of -0.2%, -0.2%, and -0.2% on the BD-attrRate of the Luma, Cb, and Cr components of the Am-fused dataset under the TMC13 and CTC-C1 test conditions, respectively, and a gain of -0.7%, -0.4%, and -0.3% on the BD-totalRate of the Luma, Cb, and Cr components of the Am-fused dataset under the CTC-C2 test conditions, respectively.
[0299] Table 1 C1-configuration(Octree-RAHT-col-to-ref)
[0300] Table 2 C2-configuration(Octree-RAHT-col-to-ref)
[0301] Table 3 C1-configuration(Octree-RAHT-ref-to-col)
[0302] Table 4 C2-configuration(Octree-RAHT-ref-to-col)
[0303] In this table, condition C1 represents a lossless geometry, lossy attribute encoding method, and condition C2 represents a lossy geometry, lossy attribute encoding method. In the table, End-to-End BD-AttrRate represents the BD-Rate of end-to-end attribute values relative to the attribute bitstream, and End-to-End BD-TotalRate represents the BD-Rate of end-to-end attribute values relative to the total bitstream. BD-Rate reflects the reduction in bitrate at average PSNR compared to the original method. A decrease in BD-Rate indicates a reduction in bitrate and improved performance while maintaining the same PSNR; conversely, a increase indicates a decrease in performance. In other words, the greater the decrease in BD-Rate, the better the compression effect. The am-fused dataset is a fused point cloud containing color and reflectivity attributes. Finally, the overall average is the average of the test results for all sequences.
[0304] It is understood that, in the embodiments of this application, a cross-attribute intra-frame prediction guidance scheme based on RAHT is provided. For multi-attribute (color, reflectance) fused point clouds, by mining the correlation between color (brightness) information and reflectance information between neighboring blocks, coding redundancy is removed when encoding the second attribute, thereby improving coding efficiency.
[0305] In the encoding and decoding process, when the reconstruction of the first attribute is completed, the reconstruction of the second attribute begins. First, the early stop of intra-frame prediction is canceled. Subsequently, during intra-frame prediction, the similarity of the first attribute between the predicted block and the block to be predicted is used to re-evaluate the prediction eligibility of these predicted blocks (whether they can be used for the prediction of the second attribute), thereby improving the intra-frame prediction accuracy of the second attribute, reducing the prediction residual, and improving the reconstruction quality under the average bit rate of attribute coding.
[0306] Of course, in the embodiments of this application, the early stopping of intra-frame prediction can also be skipped, and second attribute-guided prediction can be performed directly.
[0307] It should be noted that although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps; or steps from different embodiments may be combined into a new technical solution.
[0308] Based on the same inventive concept as the foregoing embodiments, this application provides an encoder; Figure 21 is a schematic diagram of the composition structure of the encoder provided in this application. As shown in Figure 21, the encoder 210 may include a first determining unit 2101 and a first predicting unit 2102, wherein:
[0309] The first determining unit 2101 is configured to determine a similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes of the current node.
[0310] The first determining unit 2101 is configured to determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters;
[0311] The first prediction unit 2102 is configured to determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0312] In some embodiments, the first determining unit 2101 is configured to: determine the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node; and determine the similarity parameter based on the difference.
[0313] Furthermore, in some embodiments, the first determining unit 2101 is configured to: determine the similarity parameter based on the difference and the reconstructed value of the first attribute of the current node.
[0314] For example, in some embodiments, the first determining unit 2101 is configured to determine the similarity parameter based on the ratio of the difference to the reconstructed value of the first attribute of the current node.
[0315] For example, in some embodiments, the first attribute is reflectance, and the second attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component.
[0316] For example, in some other embodiments, the second property is reflectivity.
[0317] Furthermore, in some embodiments, the first attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component.
[0318] Furthermore, in some embodiments, the first determining unit 2101 is also configured to: determine the reconstructed value of a first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node.
[0319] Furthermore, in some embodiments, the first determining unit 2101 is configured to: perform a weighted average operation on the reconstructed values of one or more color components of the neighboring node according to the weights of one or more color components of the neighboring node, and determine the reconstructed value of the first attribute of the neighboring node.
[0320] For example, in some embodiments, the one or more color components include one or more of the following components: a luminance component; a first chromaticity component; and a second chromaticity component.
[0321] In some embodiments, the weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node.
[0322] Furthermore, in some other embodiments, the first determining unit 2101 is configured to: perform an average calculation on the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
[0323] In some embodiments, as shown in FIG21, the encoder 210 further includes an encoding unit 2103; wherein, the first determining unit 2101 is further configured to: determine the value of the first syntax element; the encoding unit 2103 is configured to: encode the value of the first syntax element and write the obtained encoded bits into the bitstream.
[0324] In some embodiments, the reference node of the current node is a neighboring node whose similarity parameter is less than or equal to a first threshold.
[0325] In some embodiments, as shown in FIG21, the encoder 210 further includes an encoding unit 2103; wherein, the first determining unit 2101 is further configured to: determine the value of a second syntax element; the second syntax element is used to indicate the first threshold; the encoding unit 2103 is configured to: encode the value of the second syntax element and write the obtained encoded bits into the bitstream.
[0326] In some embodiments, the first determining unit 2101 is configured to: determine the value of the second syntax element when the value of the first syntax element is equal to the first value.
[0327] In some embodiments, the first syntax element is in the attribute parameter settings (APS) of the bitstream.
[0328] In some embodiments, the second syntax element is in the attribute block header ABH of the bitstream.
[0329] In some embodiments, the first prediction unit 2102 is configured to: determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
[0330] Furthermore, in some embodiments, the first prediction unit 2102 is configured to: perform a weighted average operation on the reconstructed values of the second attribute of at least one of the reference nodes according to the weight of at least one of the reference nodes, and determine the predicted value of the second attribute of the current node.
[0331] In some embodiments, early stopping of intra-frame prediction is disabled for the current node.
[0332] In some embodiments, intra-frame prediction is used for the current node if the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold.
[0333] In some embodiments, intra-frame prediction is disabled for the current node if the number of valid neighbor nodes of the current node's parent node is less than a second threshold, and / or if the number of valid neighbor nodes of the current node's grandparent node is less than a third threshold.
[0334] In some embodiments, the second threshold is equal to 1, and the third threshold is equal to 1.
[0335] In some embodiments, the neighboring nodes of the current node include one or more of the following nodes: the parent node of the current node;
[0336] The coplanar nodes of the parent node of the current node; the collinear nodes of the parent node of the current node; the coplanar nodes of the current node that have been reconstructed; the collinear nodes of the current node that have been reconstructed.
[0337] In some embodiments, as shown in FIG21, the encoder 210 further includes an encoding unit 2103; wherein, the first determining unit 2101 is further configured to: determine the residual value of the second attribute of the current node based on the predicted value of the second attribute of the current node; the encoding unit 2103 is configured to: encode the residual value of the second attribute of the current node and write the obtained encoded bits into the bit stream.
[0338] In some embodiments, the predicted value of the second attribute of the current node is the predicted value of the high-frequency coefficient of the second attribute of the current node; the residual value of the second attribute of the current node is the residual value of the high-frequency coefficient of the second attribute of the current node.
[0339] Further, in some embodiments, the first determining unit 2101 is configured to: determine the residual value of the high-frequency coefficient of the second attribute of the current node based on the predicted value of the high-frequency coefficient of the second attribute of the current node and the initial value of the high-frequency coefficient of the second attribute of the current node; the encoding unit 2103 is configured to encode the residual value of the high-frequency coefficient of the second attribute of the current node and write the obtained encoded bits into the code stream.
[0340] The description of the encoder embodiments above is similar to the description of the encoding / decoding method embodiments above, and has similar beneficial effects. For technical details not disclosed in the encoder embodiments of this application, please refer to the description of the encoding / decoding method embodiments of this application for understanding.
[0341] Figure 22 is a schematic diagram of the hardware structure of the encoder provided in an embodiment of this application. As shown in Figure 22, the encoder 220 may include: a first communication interface 2201, a first memory 2202, and a first processor 2203; the various components are coupled together through a first bus system 2204. It can be understood that the first bus system 2204 is used to realize the connection and communication between these components. In addition to a data bus, the first bus system 2204 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as the first bus system 2204 in Figure 22.
[0342] The first communication interface 2201 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
[0343] The first memory 2202 is used to store computer programs that can run on the first processor 2203;
[0344] The first processor 2203 is configured to, when running the computer program, perform the following: determining a similarity parameter between a reconstructed value of a first attribute of the current node and a reconstructed value of a first attribute of a neighboring node of the current node; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of a second attribute of the current node based on a reconstructed value of a second attribute of at least one reference node of the current node.
[0345] It is understood that the first memory 2202 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 DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The first memory 2202 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.
[0346] The first processor 2203 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 first processor 2203 or by instructions in software form. The first processor 2203 may 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 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. The storage medium is located in the first memory 2202. The first processor 2203 reads the information in the first memory 2202 and completes the steps of the above method in conjunction with its hardware.
[0347] 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), digital signal processing 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 external to the processor.
[0348] Alternatively, as another embodiment, the first processor 2203 is also configured to perform the method described in any of the foregoing embodiments when running the computer program.
[0349] Based on the same inventive concept as the foregoing embodiments, FIG23 is a schematic diagram of the composition structure of the decoder provided in the embodiment of this application. As shown in FIG23, the decoder 230 may include a second determining unit 2301 and a second predicting unit 2302, wherein:
[0350] The second determining unit 2301 is configured to determine a similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes of the current node.
[0351] The second determining unit 2301 is configured to determine the reference node of the current node from at least one of the neighboring nodes based on the similarity parameters;
[0352] The second prediction unit 2302 is configured to determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
[0353] In some embodiments, the second determining unit 2301 is configured to: determine the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node; and determine the similarity parameter based on the difference.
[0354] Furthermore, in some embodiments, the second determining unit 2301 is configured to: determine the similarity parameter based on the difference and the reconstructed value of the first attribute of the current node.
[0355] For example, in some embodiments, the second determining unit 2301 is configured to determine the similarity parameter based on the ratio of the difference to the reconstructed value of the first attribute of the current node.
[0356] For example, in some embodiments, the first attribute is reflectance, and the second attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component.
[0357] For example, in some other embodiments, the second property is reflectivity.
[0358] Furthermore, in some embodiments, the first attribute is one of the following color components: luminance component; first chromaticity component; second chromaticity component.
[0359] Furthermore, in some embodiments, the second determining unit 2301 is also configured to: determine the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node.
[0360] Furthermore, in some embodiments, the second determining unit 2301 is configured to: perform a weighted average operation on the reconstructed values of one or more color components of the neighboring node according to the weights of one or more color components of the neighboring node, and determine the reconstructed value of the first attribute of the neighboring node.
[0361] For example, in some embodiments, the one or more color components include one or more of the following components: a luminance component; a first chromaticity component; and a second chromaticity component.
[0362] In some embodiments, the weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node.
[0363] Furthermore, in some other embodiments, the second determining unit 2301 is configured to: perform an average calculation on the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
[0364] In some embodiments, as shown in FIG23, the decoder 230 further includes a decoding unit 2303; wherein the decoding unit 2303 is configured to: parse the bitstream and determine the value of the first syntax element; and when the value of the first syntax element is equal to the first value, the decoder 230 executes the steps of the decoding method.
[0365] In some embodiments, the reference node of the current node is a neighboring node whose similarity parameter is less than or equal to a first threshold.
[0366] In some embodiments, as shown in FIG23, the decoder 230 further includes a decoding unit 2303; wherein the decoding unit 2303 is configured to: parse the bitstream and determine the value of a second syntax element; the second syntax element is used to indicate the first threshold; the second determining unit 2301 is further configured to: determine the first threshold according to the value of the second syntax element.
[0367] Furthermore, in some embodiments, the decoding unit 2303 is configured to: parse the bitstream to determine the value of the first syntax element; and, if the value of the first syntax element is equal to a first value, parse the bitstream to determine the value of the second syntax element.
[0368] In some embodiments, the first syntax element is in the attribute parameter settings (APS) of the bitstream.
[0369] In some embodiments, the second syntax element is in the attribute block header ABH of the bitstream.
[0370] In some embodiments, the second prediction unit 2302 is configured to: determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
[0371] Furthermore, in some embodiments, the second prediction unit 2302 is configured to: perform a weighted average operation on the reconstructed values of the second attribute of at least one of the reference nodes according to the weight of at least one of the reference nodes, and determine the predicted value of the second attribute of the current node.
[0372] In some embodiments, early stopping of intra-frame prediction is disabled for the current node.
[0373] In some embodiments, intra-frame prediction is used for the current node if the effective number of neighboring nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is greater than or equal to a third threshold.
[0374] In some embodiments, if the effective number of neighboring nodes of the current node's parent node is less than a second threshold, and / or if the effective number of neighboring nodes of the current node's grandparent node is less than a third threshold, intra-frame prediction is disabled for the current node.
[0375] In some embodiments, the second threshold is equal to 1, and the third threshold is equal to 1.
[0376] In some embodiments, the neighboring nodes of the current node include one or more of the following nodes: the parent node of the current node;
[0377] The coplanar nodes of the parent node of the current node; the collinear nodes of the parent node of the current node; the coplanar nodes of the current node that have been reconstructed; the collinear nodes of the current node that have been reconstructed.
[0378] In some embodiments, as shown in FIG23, the decoder 230 further includes a decoding unit 2303; wherein the decoding unit 2303 is configured to: parse the bitstream and determine the residual value of the second attribute of the current node; the second determining unit 2301 is further configured to: determine the reconstructed value of the second attribute of the current node based on the predicted value of the second attribute of the current node and the residual value of the second attribute of the current node.
[0379] Further, in some embodiments, the decoding unit 2303 is configured to: parse the bitstream and determine the residual value of the transform coefficients of the second attribute of the current node; the second determining unit 2301 is further configured to: transform the predicted value of the second attribute of the current node to determine the predicted value of the transform coefficients of the second attribute of the current node; determine the transform coefficients of the second attribute of the current node based on the predicted value of the transform coefficients of the second attribute of the current node and the residual value of the transform coefficients of the second attribute of the current node; and perform an inverse transform on the transform coefficients of the second attribute of the current node to determine the reconstructed value of the second attribute of the current node.
[0380] The description of the decoder embodiments above is similar to the description of the encoding / decoding method embodiments above, and has similar beneficial effects. For technical details not disclosed in the decoder embodiments of this application, please refer to the description of the encoding / decoding method embodiments of this application for understanding.
[0381] Understandably, in this embodiment, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular component. Furthermore, 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 as a software functional module.
[0382] Figure 24 is a schematic diagram of the hardware structure of the decoder provided in an embodiment of this application. As shown in Figure 24, the decoder 240 may include: a second communication interface 2401, a second memory 2402, and a second processor 2403; the various components are coupled together through a second bus system 2404. It is understood that the second bus system 2404 is used to realize the connection and communication between these components. In addition to a data bus, the second bus system 2404 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as the second bus system 2404 in Figure 24.
[0383] The second communication interface 2401 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
[0384] The second memory 2402 is used to store computer programs that can run on the second processor 2403;
[0385] The second processor 2403 is configured to, when running the computer program, perform the following: determining a similarity parameter between the reconstructed value of a first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes; determining a reference node of the current node from at least one of the neighboring nodes based on the similarity parameter; and determining a predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of the current node from at least one of the reference nodes.
[0386] Alternatively, as another embodiment, the second processor 2403 is also configured to perform the method described in any of the foregoing embodiments when running the computer program.
[0387] It is understood that the second memory 2402 has similar hardware functions to the first memory 2202, and the second processor 2403 has similar hardware functions to the first processor 2403; details will not be elaborated here.
[0388] Figure 25 is a schematic diagram of the composition structure of an encoding / decoding system provided in an embodiment of this application. As shown in Figure 25, the encoding / decoding system 250 may include an encoder 2501 and a decoder 2502.
[0389] In this embodiment, encoder 2501 can be any of the encoders described in the foregoing embodiments, and decoder 2502 can be any of the decoders described in the foregoing embodiments.
[0390] In some embodiments, this application also provides a computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements the method as described in any of the foregoing embodiments. Specifically, when executed by a first processor, the computer program implements the encoding method as described in any of the foregoing embodiments, or when executed by a second processor, it implements the decoding method as described in any of the foregoing embodiments.
[0391] In some embodiments, this application also provides a computer program product, including a computer program or instructions. When executed by a processor, the computer program or instructions implement the method as described in any of the foregoing embodiments. Specifically, when executed by a first processor, the computer program or instructions implement the encoding method as described in any of the foregoing embodiments, or when executed by a second processor, they implement the decoding method as described in any of the foregoing embodiments.
[0392] In some embodiments, this application also provides a computer program that, when executed by a processor, implements the method as described in any of the foregoing embodiments. Specifically, when executed by a first processor, the computer program or instructions implement the encoding method as described in any of the foregoing embodiments, or when executed by a second processor, implement the decoding method as described in any of the foregoing embodiments.
[0393] In some embodiments, this application also provides a computer-readable storage medium storing a bitstream thereon. The bitstream is generated by performing the steps of the encoding method as described in any of the foregoing embodiments.
[0394] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0395] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described apparatus and unit can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0396] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0397] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0398] In addition, the functional units in the various embodiments of this application 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.
[0399] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion 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.) to execute all or part of the steps of the methods described in the various embodiments of this application. 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.
[0400] 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.
[0401] 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.
[0402] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined to obtain new method embodiments without conflict. The features disclosed in the several product embodiments provided in this application can be arbitrarily combined to obtain new product embodiments without conflict. The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined to obtain new method embodiments or device embodiments without conflict.
[0403] 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 technical scope 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 decoding method, the method being applied to a decoder, the method comprising: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes; The reference node of the current node is determined from at least one of the neighboring nodes based on the similarity parameters; The predicted value of the second attribute of the current node is determined based on the reconstructed value of the second attribute of at least one reference node of the current node.
2. The method according to claim 1, wherein, The similarity parameter for determining the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes includes: Determine the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node; The similarity parameter is determined based on the difference.
3. The method according to claim 2, wherein, Determining the similarity parameter based on the difference includes: The similarity parameter is determined based on the difference and the reconstructed value of the first attribute of the current node.
4. The method according to claim 3, wherein, Determining the similarity parameter based on the difference and the reconstructed value of the first attribute of the current node includes: The similarity parameter is determined based on the ratio of the difference to the reconstructed value of the first attribute of the current node.
5. The method according to any one of claims 1-4, wherein, The first attribute is reflectance, and the second attribute is one of the following color components: Luminance component; First chromaticity component; Second chromaticity component.
6. The method according to any one of claims 1-4, wherein, The second attribute is reflectivity.
7. The method according to claim 6, wherein, The first attribute is one of the following color components: Luminance component; First chromaticity component; Second chromaticity component.
8. The method according to claim 6, wherein, The method further includes: The reconstructed value of the first attribute of the neighboring node is determined based on the reconstructed values of one or more color components of the neighboring node.
9. The method according to claim 8, wherein, Determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: Based on the weights of one or more color components of the neighboring node, a weighted average is calculated on the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
10. The method according to claim 9, wherein, The one or more color components include one or more of the following components: Luminance component; First chromaticity component; Second chromaticity component.
11. The method according to claim 10, wherein, The weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node.
12. The method according to claim 8, wherein, Determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: The reconstructed values of one or more color components of the neighboring node are averaged to determine the reconstructed value of the first attribute of the neighboring node.
13. The method according to any one of claims 1-12, wherein, The method further includes: Parse the bitstream to determine the value of the first syntax element; If the value of the first syntax element is equal to the first value, the steps described in the decoding method are executed.
14. The method according to any one of claims 1-12, wherein, The reference node of the current node is a neighboring node whose similarity parameter is less than or equal to the first threshold.
15. The method according to claim 14, wherein, The method further includes: Parse the bitstream to determine the value of the second syntax element; the second syntax element is used to indicate the first threshold. The first threshold is determined based on the value of the second syntax element.
16. The method according to claim 15, wherein, The parsing of the code stream, determining the value of the second syntax element, includes: Parse the bitstream to determine the value of the first syntax element; If the value of the first syntax element is equal to the first value, the code stream is parsed to determine the value of the second syntax element.
17. The method according to claim 13 or 16, wherein, The first syntax element is in the attribute parameter settings (APS) of the bitstream.
18. The method according to claim 15 or 16, wherein, The second syntax element is in the attribute block header ABH of the bitstream.
19. The method according to any one of claims 1-18, wherein, Determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node includes: The predicted value of the second attribute of the current node is determined based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
20. The method according to claim 19, wherein, Determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes includes: Based on the weights of at least one of the reference nodes, a weighted average is performed on the reconstructed values of the second attribute of at least one of the reference nodes to determine the predicted value of the second attribute of the current node.
21. The method according to any one of claims 1-20, wherein, Disable early stopping of intra-frame prediction for the current node.
22. The method according to any one of claims 1-20, wherein, Intra-frame prediction is applied to the current node if the number of valid neighbor nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the number of valid neighbor nodes of the current node's grandparent node is greater than or equal to a third threshold.
23. The method according to any one of claims 1-20, wherein, Intra-frame prediction is disabled for the current node if the number of valid neighbor nodes of the current node's parent node is less than a second threshold, and / or if the number of valid neighbor nodes of the current node's grandparent node is less than a third threshold.
24. The method according to claim 22 or 23, wherein, The second threshold is equal to 1, and the third threshold is equal to 1.
25. The method according to any one of claims 1-20, wherein, The neighboring nodes of the current node include one or more of the following nodes: The parent node of the current node; The coplanar nodes of the parent node of the current node; The collinear nodes of the parent node of the current node; The coplanar nodes that have been reconstructed by the current node; The collinear nodes that have been rebuilt by the current node.
26. An encoding method, the method being applied to an encoder, the method comprising: Determine the similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the current node's neighboring nodes; The reference node of the current node is determined from at least one of the neighboring nodes based on the similarity parameters; The predicted value of the second attribute of the current node is determined based on the reconstructed value of the second attribute of at least one reference node of the current node.
27. The method according to claim 26, wherein, The similarity parameter for determining the reconstructed value of the first attribute of the current node and the reconstructed values of the first attribute of the current node's neighboring nodes includes: Determine the difference between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring node; The similarity parameter is determined based on the difference.
28. The method according to claim 27, wherein, Determining the similarity parameter based on the difference includes: The similarity parameter is determined based on the difference and the reconstructed value of the first attribute of the current node.
29. The method according to claim 28, wherein, Determining the similarity parameter based on the difference and the reconstructed value of the first attribute of the current node includes: The similarity parameter is determined based on the ratio of the difference to the reconstructed value of the first attribute of the current node.
30. The method according to any one of claims 26-29, wherein, The first attribute is reflectance, and the second attribute is one of the following color components: Luminance component; First chromaticity component; Second chromaticity component.
31. The method according to any one of claims 26-29, wherein, The second attribute is reflectivity.
32. The method according to claim 31, wherein, The first attribute is one of the following color components: Luminance component; First chromaticity component; Second chromaticity component.
33. The method according to claim 31, wherein, The method further includes: The reconstructed value of the first attribute of the neighboring node is determined based on the reconstructed values of one or more color components of the neighboring node.
34. The method according to claim 33, wherein, Determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: Based on the weights of one or more color components of the neighboring node, a weighted average is calculated on the reconstructed values of one or more color components of the neighboring node to determine the reconstructed value of the first attribute of the neighboring node.
35. The method according to claim 34, wherein, The one or more color components include one or more of the following components: Luminance component; First chromaticity component; Second chromaticity component.
36. The method according to claim 35, wherein, The weight of the luminance component of the neighboring node is greater than the weight of the first chrominance component of the neighboring node; and / or, the weight of the luminance component of the neighboring node is greater than the weight of the second chrominance component of the neighboring node.
37. The method according to claim 33, wherein, Determining the reconstructed value of the first attribute of the neighboring node based on the reconstructed values of one or more color components of the neighboring node includes: The reconstructed values of one or more color components of the neighboring node are averaged to determine the reconstructed value of the first attribute of the neighboring node.
38. The method according to any one of claims 26-37, wherein, The method further includes: Determine the value of the first syntax element; The value of the first syntax element is encoded, and the resulting encoded bits are written into the bitstream.
39. The method according to any one of claims 26-37, wherein, The reference node of the current node is a neighboring node whose similarity parameter is less than or equal to the first threshold.
40. The method according to claim 39, wherein, The method further includes: Determine the value of the second syntax element; the second syntax element is used to indicate the first threshold. The value of the second syntax element is encoded, and the resulting encoded bits are written into the bitstream.
41. The method according to claim 40, wherein, Determining the value of the second syntax element includes: If the value of the first syntax element is equal to the first value, then determine the value of the second syntax element.
42. The method according to claim 38 or 41, wherein, The first syntax element is in the attribute parameter settings (APS) of the bitstream.
43. The method according to claim 40 or 41, wherein, The second syntax element is in the attribute block header ABH of the bitstream.
44. The method according to any one of claims 26-43, wherein, Determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node includes: The predicted value of the second attribute of the current node is determined based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes.
45. The method according to claim 44, wherein, Determining the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one of the reference nodes and the weight of at least one of the reference nodes includes: Based on the weights of at least one of the reference nodes, a weighted average is performed on the reconstructed values of the second attribute of at least one of the reference nodes to determine the predicted value of the second attribute of the current node.
46. The method according to any one of claims 26-45, wherein, Disable early stopping of intra-frame prediction for the current node.
47. The method according to any one of claims 26-45, wherein, Intra-frame prediction is applied to the current node if the number of valid neighbor nodes of the current node's parent node is greater than or equal to a second threshold, and / or if the number of valid neighbor nodes of the current node's grandparent node is greater than or equal to a third threshold.
48. The method according to any one of claims 26-45, wherein, Intra-frame prediction is disabled for the current node if the number of valid neighbor nodes of the current node's parent node is less than a second threshold, and / or if the number of valid neighbor nodes of the current node's grandparent node is less than a third threshold.
49. The method according to claim 47 or 48, wherein, The second threshold is equal to 1, and the third threshold is equal to 1.
50. The method according to any one of claims 26-45, wherein, The neighboring nodes of the current node include one or more of the following nodes: The parent node of the current node; The coplanar nodes of the parent node of the current node; The collinear nodes of the parent node of the current node; The coplanar nodes that have been reconstructed by the current node; The collinear nodes that have been rebuilt by the current node.
51. The method according to any one of claims 26-45, wherein, The method further includes: Based on the predicted value of the second attribute of the current node, determine the residual value of the second attribute of the current node; The residual value of the second attribute of the current node is encoded, and the resulting encoded bits are written into the bitstream.
52. The method according to claim 51, wherein, The predicted value of the second attribute of the current node is the predicted value of the high-frequency coefficient of the second attribute of the current node; the residual value of the second attribute of the current node is the residual value of the high-frequency coefficient of the second attribute of the current node.
53. An encoder, the encoder comprising: The first determining unit is configured to determine a similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes of the current node. The first determining unit is configured to determine a reference node for the current node from at least one of the neighboring nodes based on the similarity parameters. The first prediction unit is configured to determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
54. An encoder, the encoder comprising a first memory and a first processor, wherein: The first memory is used to store computer programs that can run on the first processor; The first processor is configured to perform the method as described in any one of claims 26 to 52 when running the computer program.
55. A decoder, the decoder comprising: The second determining unit is configured to determine a similarity parameter between the reconstructed value of the first attribute of the current node and the reconstructed value of the first attribute of the neighboring nodes of the current node. The second determining unit is configured to determine a reference node for the current node from at least one of the neighboring nodes based on the similarity parameters. The second prediction unit is configured to determine the predicted value of the second attribute of the current node based on the reconstructed value of the second attribute of at least one reference node of the current node.
56. A decoder, the decoder comprising a second memory and a second processor, wherein: The second memory is used to store computer programs that can run on the second processor; The second processor is configured to perform the method as described in any one of claims 1 to 25 when running the computer program.
57. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 25, or the method as described in any one of claims 26 to 52.
58. A computer-readable storage medium having a bitstream stored thereon, wherein, The bitstream is generated by performing the steps of the encoding method as described in claim 38, 40, 51 or 52.