Point cloud encoding processing method, point cloud decoding processing method, and related devices
By selecting different prediction methods based on the target distance during point cloud encoding, the problem of low encoding efficiency in existing technologies is solved, and a more efficient encoding effect is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- VIVO MOBILE COMM CO LTD
- Filing Date
- 2023-04-17
- Publication Date
- 2026-05-19
AI Technical Summary
In the existing point cloud encoding process based on the region adaptive hierarchical transformation algorithm, the encoding efficiency is low and the flexibility is poor, resulting in low encoding efficiency.
By determining the target distance between the target layer and the root node of the transform tree of the point cloud to be encoded, different prediction methods are selected for encoding based on the target distance, including inter-frame prediction, intra-frame prediction, and prediction based on rate-distortion optimization algorithm. The optimal prediction method is flexibly selected to improve encoding efficiency.
It improves the flexibility and efficiency of point cloud coding, reduces coding residuals, and improves coding quality by flexibly selecting prediction methods.
Smart Images

Figure CN118827998B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of computer technology, specifically relating to a point cloud encoding processing method, a point cloud decoding processing method, and related equipment. Background Technology
[0002] Point clouds are a representation of three-dimensional objects or scenes, consisting of a set of randomly distributed discrete points in space that express the spatial structure and surface properties of the object or scene. To accurately reflect spatial information, a considerable number of discrete points are required. To reduce the bandwidth consumed during point cloud data storage and transmission, point cloud data needs to be encoded and compressed. Point cloud data typically consists of geometric information describing the location, such as three-dimensional coordinates (x, y, z), and attribute information for that location, such as color (R, G, B) or reflectivity. In the point cloud encoding and compression process, the encoding of geometric information and attribute information are performed separately.
[0003] In related technologies, during the encoding of attribute information based on the Region Adaptive Hierarchical Transform (RAHT) algorithm, the tree structure corresponding to the point cloud to be encoded is divided into two parts. The nodes of the upper layer are predicted using an inter-frame prediction algorithm, while the nodes of the lower layer are predicted using an intra-frame prediction algorithm. This approach has poor flexibility and results in low encoding efficiency. Summary of the Invention
[0004] This application provides a point cloud encoding processing method, a point cloud decoding processing method, and related equipment, which can solve the problem of low encoding efficiency.
[0005] Firstly, a point cloud encoding processing method is provided, executed by the encoding end, including:
[0006] Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded;
[0007] The target prediction residual value is determined based on the target distance;
[0008] The target prediction residual value is encoded to obtain a first encoding result;
[0009] The bitstream of the point cloud to be encoded includes the first encoding result;
[0010] When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0011] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0012] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0013] Secondly, a point cloud decoding processing method is provided, executed by the decoding end, including:
[0014] Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded;
[0015] The first encoding result in the bitstream of the point cloud to be decoded is decoded to obtain the target prediction residual value;
[0016] Based on the target prediction residual value and the target distance, obtain the attribute information of the nodes in the target layer;
[0017] Wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0018] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0019] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0020] Thirdly, a point cloud encoding processing device is provided, comprising:
[0021] The first determining module is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded.
[0022] The second determining module is used to determine the target prediction residual value based on the target distance;
[0023] The encoding module is used to encode the target prediction residual value to obtain a first encoding result;
[0024] The bitstream of the point cloud to be encoded includes the first encoding result;
[0025] When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0026] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0027] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0028] Fourthly, a point cloud decoding processing device is provided, comprising:
[0029] The determination module is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded;
[0030] The decoding module is used to decode the first encoding result in the bitstream of the point cloud to be decoded, and obtain the target prediction residual value.
[0031] The acquisition module is used to acquire attribute information of the nodes in the target layer based on the target prediction residual value and the target distance;
[0032] Wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0033] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0034] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0035] Fifthly, a terminal is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect, or implementing the steps of the method as described in the second aspect.
[0036] In a sixth aspect, a terminal is provided, including a processor and a communication interface, wherein the processor is configured to: determine a target distance between a target layer and a root node of a transform tree corresponding to a point cloud to be encoded; determine a target prediction residual value based on the target distance; encode the target prediction residual value to obtain a first encoding result; wherein the bitstream of the point cloud to be encoded includes the first encoding result; when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes of the target layer; or when the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes of the target layer; or when the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes of the target layer.
[0037] In a seventh aspect, a terminal is provided, including a processor and a communication interface, wherein the processor is configured to: determine the target distance between the target layer and the root node of the transform tree corresponding to the point cloud to be decoded; decode a first encoding result in the bitstream of the point cloud to be decoded to obtain a target prediction residual value; and obtain attribute information of the nodes of the target layer based on the target prediction residual value and the target distance; wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes of the target layer; or when the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes of the target layer; or when the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes of the target layer.
[0038] Eighthly, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.
[0039] A ninth aspect provides an encoding / decoding system, comprising: an encoding end device and a decoding end device, wherein the encoding end device is configured to perform the steps of the method described in the first aspect, and the decoding end device is configured to perform the steps of the method described in the second aspect.
[0040] In a tenth aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the second aspect.
[0041] Eleventhly, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
[0042] In this embodiment, a target prediction residual value is determined based on the target distance. This target prediction residual value is then encoded. If the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer. Alternatively, if the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes in the target layer. Or, if the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer. By comparing the target distance with the first and second preset distances, different prediction methods are determined, providing high flexibility and improving coding efficiency. Attached Figure Description
[0043] Figure 1 This is a flowchart of a prediction method in related technologies;
[0044] Figure 2 This is a schematic diagram of a node in a related technology;
[0045] Figure 3 This is a schematic diagram of the binary RAHT decomposition of a node block in a related technology.
[0046] Figure 4 This is a schematic diagram of a prediction method in related technologies;
[0047] Figure 5 This is one of the flowcharts of a point cloud encoding processing method provided in the embodiments of this application;
[0048] Figure 6 This is one of the flowcharts of a point cloud decoding processing method provided in the embodiments of this application;
[0049] Figure 7 This is a second flowchart of a point cloud encoding processing method provided in the embodiments of this application;
[0050] Figure 8 This is a second flowchart of a point cloud decoding processing method provided in an embodiment of this application;
[0051] Figure 9 This is a schematic diagram of the structure of a point cloud encoding processing device provided in an embodiment of this application;
[0052] Figure 10 This is a schematic diagram of the structure of a point cloud decoding processing device provided in an embodiment of this application;
[0053] Figure 11 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0054] Figure 12 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application. Detailed Implementation
[0055] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0056] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, without limiting the number of objects; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, "A or B" covers three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0057] The term "instruction" in this application can be either a direct instruction (or explicit instruction) or an indirect instruction (or implicit instruction). A direct instruction can be understood as one in which the sender explicitly informs the receiver of specific information, the operation to be performed, or the requested result, etc., in the instruction sent. An indirect instruction can be understood as one in which the receiver determines the corresponding information based on the instruction sent by the sender, or makes a judgment and determines the operation to be performed or the requested result, etc., based on the judgment result.
[0058] The encoding / decoding end corresponding to the point cloud encoding / decoding processing method in this application embodiment can be a terminal, which can also be called a terminal device or user equipment (UE). The terminal can be a mobile phone, tablet computer, laptop computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device or vehicle-mounted device (VUE), pedestrian terminal (PUE), etc. Wearable devices include smartwatches, bracelets, headphones, glasses, etc. It should be noted that the specific type of terminal is not limited in this application embodiment.
[0059] For ease of understanding, the following describes some aspects of the embodiments of this application:
[0060] 1. Geometry-based Point Cloud Compression (GPCC) Encoding and Decoding
[0061] For GPCC encoded and decoded point clouds, their geometric information and attribute information are encoded separately. First, the geometric information is encoded, and then the attribute information is encoded using the reconstructed geometric information.
[0062] There are two main types of attribute information encoding methods: prediction and boosting transformation based on the level of detail, and region adaptive hierarchical transformation (RAHT).
[0063] RAHT, an attribute coding method, can be divided into intra-frame RAHT and inter-frame RAHT based on the prediction method it uses.
[0064] Intra-frame prediction uses only the nodes already encoded in the current frame to predict the current node, while inter-frame prediction uses the nodes of the reference frame to predict the current node.
[0065] a) Intra-frame RAHT technology:
[0066] Intra-frame RAHT (Region Adaptive Transformation) is a technique based on upsampling prediction, performed layer by layer from top to bottom. In each layer, RAHT is applied to each cell node containing 2×2×2 child nodes. When encoding a cell node with 8 child nodes in the current layer, the attributes of the placeholder child node are weighted and predicted using its parent node (upper layer), coplanar neighbor parent node (upper layer), collinear neighbor parent node (upper layer), and already encoded coplanar and collinear neighbor child nodes (same layer). The predicted attribute values are then RAHT-transformed and the true values are subtracted to obtain the AC coefficient residual, which is then quantized and encoded. However, if the number of child nodes to be encoded, the number of their grandparent nodes, and the number of their parent nodes do not meet certain conditions, intra-frame prediction is not enabled, and the original attribute values of the current node to be encoded are directly RAHT-transformed, followed by quantization and encoding of the transformation coefficients.
[0067] The following is the detailed process of intra-frame RAHT technology:
[0068] The first step is to construct the transformation tree structure. Starting from the bottom layer, an octree structure is built from the bottom up. During the construction of the transformation tree, corresponding Morton code information, attribute information, and weight information need to be generated for the merged nodes.
[0069] The second step is a top-down parse tree. Starting from the root node, upsampling prediction and Region Adaptive Hierarchical Transformation (RAHT) are performed layer by layer from top to bottom.
[0070] If the current node is the root node, then no upsampling prediction is performed. Instead, the node's attribute information is directly transformed using RAHT to obtain the DC coefficient and AC coefficient.
[0071] If it is not the root node, then it is necessary to determine whether to predict the current eight child nodes, such as... Figure 1 As shown:
[0072] 1. Determine if the number of placeholder child nodes NumValidc is equal to 1: If the number of placeholder child nodes (non-empty) of the current node to be encoded is 1, then set the number of its neighboring parent nodes NumValidP to val (e.g., 19), do not perform prediction, directly perform RAHT transformation on the original attribute information of the current node, and then quantize and entropy encode the obtained AC coefficients.
[0073] Otherwise, continue to step 2:
[0074] 2. Determine if the number of neighboring grandparent nodes (NumValidGP) is greater than or equal to TH1 (e.g., 2): If the number of neighboring grandparent nodes (including grandparent nodes) of the current child node to be encoded is less than 2, then no prediction is performed. The original attribute information of the current node is directly subjected to RAHT transformation, and then the resulting AC coefficients are quantized and entropy encoded. Otherwise, proceed to step 3:
[0075] 3. Neighbor Search: The search scope includes: the parent node of the current child node to be encoded (1 node), the coplanar neighbors of the parent node of the current child node to be encoded (6 nodes), the collinear neighbors of the parent node of the current child node to be encoded (12 nodes), the coplanar neighbors of the current child node to be encoded (6 nodes), and the collinear neighbors of the current child node to be encoded (12 nodes). The above neighbor nodes are searched sequentially. If a neighbor node exists, its corresponding index information is recorded, along with the number of neighbors of the parent node (including the parent node itself). Then proceed to step 4.
[0076] 4. Determine if the number of neighboring parent nodes is greater than or equal to TH2 (e.g., 6): If the number of neighboring parent nodes of the current child node to be encoded is less than TH2, then no weighted prediction is performed. Instead, the original attribute information of the current node to be encoded is directly subjected to RAHT transformation, and then the resulting AC coefficients are quantized and entropy encoded. Otherwise, weighted prediction is performed.
[0077] The third step is weighted prediction. The nearest neighbors found in the neighbor search are used to perform weighted predictions on each child node of the node to be encoded. For example... Figure 2 As shown.
[0078] The prediction weight of the parent node is set to 9, the prediction weight of the neighboring child node that is coplanar with the current child node to be encoded is 5, the prediction weight of the neighboring child node that is collinear with the current child node to be encoded is 2, the prediction weight of the neighboring parent node that is coplanar with the current child node to be encoded is 3, and the prediction weight of the neighboring parent node that is collinear with the current child node to be encoded is 1.
[0079] In this context, the parent node can be directly used to predict each child node of the current block to be encoded. For other neighbor nodes (neighbor parent nodes and already encoded neighbor child nodes), a step is needed to determine whether they can be used to predict the child nodes of the current block. The steps for this determination are as follows:
[0080] 1. For example Figure 2 As shown, for neighboring parent nodes with indices 1-7, since their child nodes have not yet been encoded, prediction can only be made using neighboring parent nodes.
[0081] First, check if the neighboring parent node at this position exists. If it does not exist, continue to check the next neighboring parent node.
[0082] If such a neighboring parent node exists, it is necessary to determine whether it can be used for prediction, and to filter neighboring parent nodes. The specific process is as follows:
[0083] 1) Two prediction thresholds are set based on the parent node's attribute values to further filter nearest neighbors, eliminating unreasonable neighbor parent nodes to improve prediction accuracy. Let these two thresholds be limitLow and limitHigh, and let the parent node's attribute value be attrPar, then:
[0084] limitLow = attrpar * 2
[0085] limitHigh = attrpar * 25
[0086] Suppose the attribute value of the current neighbor's parent node is attrNei, and perform the following judgment on it:
[0087] limitLow<attrnei*10<limitHigh
[0088] If this condition is not met, the current neighboring parent node cannot be used to predict the child nodes of the current block to be encoded; if this condition is met, the following judgment is performed.
[0089] 2) Determine whether the current neighboring parent node satisfies the condition that it is coplanar and collinear with each of the current child nodes to be encoded. If this condition is not met, the current neighboring nodes cannot be used to perform weighted prediction on the current child nodes to be encoded; if this condition is met, the current neighboring nodes are used to perform weighted prediction on the current child nodes to be encoded.
[0090] 2. For neighboring parent nodes with indices 8-19, since their child nodes have already been encoded, if there are neighboring child nodes at the same position, they can be used to replace their respective neighboring parent nodes for prediction, resulting in better prediction performance.
[0091] First, check if the neighboring parent node at this position exists. If it does not exist, continue to check the next neighboring parent node.
[0092] If such a neighboring parent node exists, it is necessary to determine whether it can be used for prediction, and to filter neighboring parent nodes. The specific process is as follows:
[0093] 1) Two prediction thresholds are set based on the attribute values of the parent node to further filter nearest neighbors, eliminating unreasonable neighbor parent nodes to improve prediction accuracy. Let the attribute value of the current neighbor parent node be attrNei, and the following judgments be made on it:
[0094] limitLow<attrnei*10<limitHigh
[0095] If this condition is not met, the current neighboring parent node cannot be used to predict the child nodes of the current block to be encoded; if this condition is met, the following judgment is made:
[0096] 2) Determine if there are any child nodes on the same floor at the same position of the current parent node's neighbors: For coplanar neighbor parent nodes, if one of their child nodes is also coplanar with the current child node to be predicted, then use that coplanar neighbor child node instead of the coplanar neighbor parent node for weighted prediction of the child node to be predicted; for collinear neighbor parent nodes, if one of their child nodes is also collinear with the current child node to be predicted, then use that collinear neighbor child node instead of the collinear neighbor parent node for weighted prediction. If no such child node exists, continue using the current neighbor parent node for weighted prediction.
[0097] 3. Finally, each child node of the current node to be encoded uses its neighboring nodes that meet the conditions as a set of reference points to perform weighted prediction and obtain the attribute prediction value. Then, the original attribute value and the predicted attribute value are subjected to RAHT transformation respectively, and the difference is taken to obtain the AC coefficient residual. The AC coefficient residual is then quantized and entropy encoded.
[0098] Attr res =AttrCoff org -AttrCoff pred
[0099] The fourth step is the RAHT transformation, and the process is as follows:
[0100] Perform RAHT transformation on the original attribute values and / or the predicted attribute values; if the current block is not being predicted, only the original attribute values need to be RAHT transformed; if the current block is being predicted, both the original attribute values and the predicted attribute values need to be RAHT transformed.
[0101] When performing RAHT transformation, the original attribute values and / or attribute prediction values need to be normalized first, and then the RAHT transformation is performed on the processed values.
[0102] First, the original attribute values are normalized. Let the original attribute value of the current child node be A. i The weight is w i (The size is the number of points contained in the current node), then:
[0103]
[0104] If prediction is used, let the predicted attribute value of the current child node be A. pi ,but:
[0105]
[0106] The predicted value of the processed attribute A′ pi Or the original attribute value A′ i Performing a RAHT transformation on a 2x2x2 node block involves transforming it along three directions, with four transformations performed in each direction. Therefore, each 2x2x2 block undergoes a total of:
[0107] 1) Perform the transformation along the first direction to obtain the low-frequency L node and the high-frequency H node;
[0108] 2) Transform the L and H nodes along the second direction to obtain the low-frequency LL node and the high-frequency LH, HL, and HH nodes;
[0109] 3) Transform the LL, LH, HL, and HH nodes along the third direction to obtain the low-frequency LLL node and the high-frequency LLH, LHL, LHH, HLL, HLH, HHL, and HHH nodes.
[0110] Where LLL is the DC coefficient, and LLH, LHL, LHH, HLL, HLH, HHL, and HHH are the AC coefficients.
[0111] The AC coefficients are quantized and entropy encoded in the order LLH, LHL, HLL, LHH, HLH, HHL, HHH.
[0112] Due to the sparsity of point clouds, each 2*2*2 node block typically occupies fewer than 8 child nodes. Therefore, not all AC coefficients will exist, and non-existent AC coefficients will not be encoded.
[0113] The specific process is as follows: Figure 3 As shown:
[0114] Specifically, when performing a two-point transformation, assume the input attribute values are T. 01 T 11 Transformation coefficients T1, T w0+1 The transformation formula used is:
[0115]
[0116] Where a and b are calculated from the weights of the current node, and the weights of the current node are obtained from the weight array:
[0117]
[0118] If the current node is the root node, no prediction is performed. Instead, the DC and AC coefficients of the original attribute values are quantized and entropy encoded.
[0119] If the current node is not the root node and no prediction is performed, the AC coefficients of the original attribute values are quantized and entropy encoded after transformation.
[0120] If the current node is not the root node and prediction is performed, the residual between the AC coefficient of the original attribute value after transformation and the AC coefficient of the attribute prediction value after transformation is calculated, and the residual is quantized and entropy encoded.
[0121] The coefficients are decoded and dequantized at the decoding end. Then, an inverse RAHT transform is performed.
[0122] The inverse RAHT transform is the reverse process of the RAHT transform, and the formula for the inverse transform is as follows:
[0123]
[0124] Among them, T1, T represents the transformation coefficients. 01 T 11 The calculation methods for a and b are the same during the reconstruction of attribute values.
[0125] If the current node is the root node, then perform the inverse transformation directly to obtain the attribute reconstruction values of each child node;
[0126] If the current node is not the root node and no prediction is performed, the DC coefficients inherit the attribute reconstruction values of the parent node, and then perform an inverse transformation to obtain the attribute reconstruction values of each child node.
[0127] If the current child node is the root node and prediction is performed, the DC coefficient inherits the attribute reconstruction value of the parent node, and the AC coefficient is the AC coefficient residual plus the AC coefficient of the attribute prediction value. Then, an inverse transformation is performed to obtain the attribute reconstruction value of each child node.
[0128] b) Inter-frame RAHT technology:
[0129] Inter-frame RAHT technology utilizes the inter-frame predicted attribute values of certain eligible nodes in the reference frame to predict the attributes of nodes in the current frame. Then, the predicted attribute values and the true attribute values are subjected to RAHT transformation and the difference is calculated. The AC coefficient residuals are then quantized and encoded.
[0130] The following is a detailed introduction to the inter-frame scheme:
[0131] Inter-frame RAHT is a method for inter-frame prediction of RAHT inter-frame DC and AC coefficients: inter-frame prediction is only used for the first five layers of nodes, and the remaining layers of nodes only use intra-frame prediction methods.
[0132] In the first five layers (high-level nodes):
[0133] For the DC coefficient:
[0134] DC coefficient predicts residual DC residual DC is the DC coefficient of the root node of the current frame. current Subtract the DC coefficient of the root node of the reference frame. reference .
[0135] DC residual =DC current -DC reference
[0136] For the AC coefficient:
[0137] The prediction process is as follows:
[0138] 1. Reference Frame Reconstruction: Merge points within a certain range of the current point's location into a single point, add their attributes, and take the coordinates of the current point. This allows for the subsequent execution of the same prediction tree construction and parsing. The specific process is as follows:
[0139] a) For each point, there will be a reconstruction reference point with the same position coordinates. The attributes of this reference point are the sum of the attributes of points within a certain range in the reference frame, obtained according to certain rules.
[0140] b) The rule is as follows: If a point in the reference frame is closer to the current point in the current frame than to the Morton code distance to the next point in the current frame, then this point is determined to be used for reconstructing the current point, its attribute value is incremented, and its weight is increased by one. This continues until the condition is no longer met. Then, the next reconstructed point is determined.
[0141] c) In addition, the start and end distances for judgment are specified; distances that are too large are considered to indicate significant differences in attribute values, making them unsuitable for reconstruction. Specifically:
[0142] Only points in reference frames that are no more than 64 units away from the first point of the current frame will be used for reconstruction.
[0143] Only points in reference frames that are no more than 64 points away from the last point of the current frame will be used for reconstruction.
[0144] 2. Tree Construction: Perform a bottom-up prediction tree construction operation on the reconstructed reference frame and the current frame to obtain a prediction tree with the same structure, and generate the attribute values of the current frame node and the predicted attribute values and weight values of the corresponding reference frame node.
[0145] 3. For example Figure 4 As shown, the predicted attribute value is selected as follows: In the first five layers, if the attribute value of the node at the corresponding position in the reference frame is not 0 and is within 20% to 250% of the attribute value of the current parent node, then the attribute value Attr of that node in the reference frame is used. predicted_inter Use the predicted attribute value as the attribute prediction value; otherwise, use the intra-frame predicted value Attr from the current frame. predicted_intraAs the attribute prediction value. The obtained predicted attribute value Attr predicted Perform a RAHT transform to obtain the AC coefficients of the predicted value. current The predicted AC coefficient AC predicted Subtracting the AC coefficients yields the predicted residuals AC. residual The residuals are then quantized and encoded. The calculation formula is as follows:
[0146] AC residual =AC current -AC predicted
[0147] AC predicted =Transform(Attr) predicted )
[0148] Attr predicted =Attr predicted_inter ? Attr predicted_inter :Attr predicted_intra
[0149] 4. The remaining layers only use the original intra-frame RAHT prediction method.
[0150] In related technologies, during the encoding of attribute information based on the Region Adaptive Hierarchical Transform (RAHT) algorithm, the tree structure corresponding to the point cloud to be encoded is divided into two parts. The nodes of the upper layer are predicted using an inter-frame prediction algorithm, while the nodes of the lower layer are predicted using an intra-frame prediction algorithm. This approach has poor flexibility and results in low encoding efficiency.
[0151] The point cloud encoding processing method, point cloud decoding processing method, and related equipment provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0152] See Figure 5 , Figure 5 This is a flowchart of a point cloud encoding processing method provided in an embodiment of this application, which can be applied to the encoding end, such as... Figure 5 As shown, the point cloud encoding processing method includes the following steps:
[0153] Step 101: Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded.
[0154] This process involves acquiring the geometric and attribute information of the point cloud to be encoded; and generating a transformation tree corresponding to the point cloud based on its geometric information. The transformation tree can have multiple layers, with the root node considered as the first layer and the target layer as any layer within the tree. The target distance refers to the number of layers from the root node to the target layer. For example, the target distance between the second layer and the root node could be one layer, the third layer two layers, the fourth layer three layers, and so on.
[0155] Step 102: Determine the target prediction residual value based on the target distance;
[0156] Step 103: Encode the target prediction residual value to obtain the first encoding result;
[0157] The bitstream of the point cloud to be encoded includes the first encoding result;
[0158] When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0159] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0160] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0161] Wherein, both the first preset distance and the second preset distance can be the number of layers from the root node. The first preset distance is less than the second preset distance. For example, the first preset distance can be 5 layers and the second preset distance can be 10 layers; or the first preset distance can be 7 layers and the second preset distance can be 13 layers; or the first preset distance can be 8 layers and the second preset distance can be 15 layers; and so on. This embodiment does not limit the first preset distance and the second preset distance.
[0162] It should be noted that when the target distance is less than or equal to the first preset distance, the nodes in the target layer are the nodes in the upper layer that are closer to the root node. Since the nodes in the upper layer of the transform tree are larger and contain more points, even if there is motion between two frames, there will be little change in these upper layer nodes. In this case, if inter-frame prediction is used, the inter-frame attribute prediction residual may be smaller than the intra-frame attribute prediction residual, so the effect of using inter-frame prediction in the upper layer is better.
[0163] In addition, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the rate-distortion optimization algorithm can be used to determine whether to use inter-frame prediction or intra-frame prediction.
[0164] In addition, when the target distance is greater than the second preset distance, the nodes of the target layer are the nodes of the lower layer that are far from the root node. Since the lower layer blocks are small and contain fewer points, when there is some movement between two frames, the number of points contained in each block may change greatly, making it unsuitable to use inter-frame prediction. Therefore, using intra-frame prediction in the lower layer is more effective.
[0165] It should be noted that in related technologies, inter-frame prediction methods determine whether the current layer should enable inter-frame prediction mode based on its distance from the root node (layer number). That is, when the distance of the current layer from the root node is less than or equal to a set threshold, the corresponding inter-frame prediction algorithm is applied. When the distance of the current layer from the root node is greater than the set threshold, only the existing intra-frame prediction method is used. However, for some sequences, for nodes where the distance exceeds the threshold, inter-frame prediction may yield smaller residuals and better prediction results than intra-frame prediction.
[0166] This embodiment employs a more flexible approach to select the intra-frame and inter-frame prediction modes, rather than simply using the number of layers from the root node as the basis for dividing the octree in two, applying inter-frame prediction to the upper-level nodes, and using intra-frame prediction for the remaining nodes in a general manner. This embodiment uses a more flexible method to determine the prediction mode used for the current node, thereby resulting in smaller prediction residuals.
[0167] In this embodiment, a target prediction residual value is determined based on the target distance. This target prediction residual value is then encoded. If the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer. Alternatively, if the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes in the target layer. Or, if the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer. By comparing the target distance with the first and second preset distances, different prediction methods are determined, providing high flexibility and improving coding efficiency.
[0168] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0169] Wherein, when the target distance is greater than the first preset distance and less than or equal to the second preset distance, the first generation value corresponding to the inter-frame residual coefficient and the second generation value corresponding to the intra-frame residual coefficient can be determined based on the rate-distortion optimization algorithm, and the second prediction residual value can be determined based on the first generation value and the second generation value.
[0170] In this embodiment, when the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on the rate-distortion optimization algorithm. In this way, the cost of using intra-frame prediction and inter-frame prediction can be determined by the rate-distortion optimization algorithm, so as to select an appropriate prediction method to perform prediction processing to obtain the second prediction residual value.
[0171] Optionally, determining the target prediction residual value based on the target distance includes:
[0172] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the inter-frame residual coefficients and intra-frame residual coefficients of the attribute information of the nodes in the target layer are determined.
[0173] The first-generation value corresponding to the inter-frame residual coefficient and the second-generation value corresponding to the intra-frame residual coefficient are determined based on the rate-distortion optimization algorithm.
[0174] The second prediction residual value is determined based on the first generation value and the second generation value;
[0175] The target prediction residual value includes the second prediction residual value.
[0176] The cost can also be described as expenses.
[0177] In one implementation, the second-generation value Cost_intra corresponding to the intra-frame residual coefficients and the first-generation value Cost_inter corresponding to the inter-frame residual coefficients can be calculated separately. The second-generation value of the encoded intra-frame residual coefficients or the first-generation value of the encoded inter-frame residual coefficients can be obtained by the following formula:
[0178] Cost = D + λ * R
[0179] Where D (distortion) is the sum of absolute errors (SAD) between the reconstructed attributes and the original attributes obtained after using the prediction residual coefficients (intra-frame residual coefficients or inter-frame residual coefficients).
[0180] Where R (rate: bit rate) is the number of bits required to encode the prediction residual coefficient (intra-frame residual coefficient or inter-frame residual coefficient).
[0181] The value of λ depends on the quantization parameter QP, and is calculated by the following formula:
[0182]
[0183] It should be noted that determining the inter-frame residual coefficients of the attribute information of the target layer nodes may include: determining the inter-frame predicted values of the attribute information of the target layer nodes, transforming the inter-frame predicted values to obtain inter-frame transform coefficients, and obtaining inter-frame residual coefficients based on the inter-frame transform coefficients; or, it may include: if there are transform coefficients of reference nodes with the same position as the nodes of the target layer in the reference frame of the point cloud to be encoded, then the transform coefficients of the reference nodes with the same position are determined as the inter-frame transform coefficients of the node's attribute information, and the inter-frame residual coefficients of the node's attribute information are determined based on the node's transform coefficients and the inter-frame transform coefficients of the node's attribute information.
[0184] In addition, determining the intra-frame residual coefficients of the attribute information of the nodes in the target layer may include: determining the intra-frame predicted values of the attribute information of the nodes in the target layer, transforming the intra-frame predicted values to obtain intra-frame transform coefficients, and obtaining inter-frame residual coefficients based on the intra-frame transform coefficients.
[0185] In this implementation, the inter-frame residual coefficients and intra-frame residual coefficients of the attribute information of the nodes in the target layer are determined; a first-generation value corresponding to the inter-frame residual coefficients and a second-generation value corresponding to the intra-frame residual coefficients are determined based on a rate-distortion optimization algorithm; and a second prediction residual value is determined based on the first-generation value and the second-generation value. Thus, for mid-layer nodes, the cost of using intra-frame prediction and inter-frame prediction can be determined through the rate-distortion optimization algorithm, thereby selecting an appropriate prediction method to obtain the second prediction residual value, resulting in a smaller attribute prediction residual and higher coding efficiency.
[0186] Optionally, if the value of the first generation is less than the value of the second generation, the second prediction residual value is the inter-frame residual coefficient; or,
[0187] If the value of the second generation is less than the value of the first generation, the second prediction residual value is the intra-frame residual coefficient; or,
[0188] When the value of the first generation is equal to the value of the second generation, the second prediction residual value is the inter-frame residual coefficient or the intra-frame residual coefficient.
[0189] It should be noted that the first-generation value is equal to the second-generation value, which indicates that the cost of encoding intra-frame residual coefficients and the cost of encoding inter-frame residual coefficients are the same, and either intra-frame prediction or inter-frame prediction can be selected.
[0190] In this implementation, when the first generation value is less than the second generation value, the second prediction residual is the inter-frame residual coefficient; when the second generation value is less than the first generation value, the second prediction residual is the intra-frame residual coefficient; and when the first generation value is equal to the second generation value, the second prediction residual is either the inter-frame residual coefficient or the intra-frame residual coefficient. This allows for the selection of a prediction method with a smaller generation value, resulting in a smaller attribute prediction residual and higher coding efficiency.
[0191] Optionally, the bitstream of the point cloud to be encoded further includes a second encoding result, which is used to characterize the second prediction residual as the intra-frame residual coefficient or the second prediction residual as the inter-frame residual coefficient.
[0192] The prediction mode used by the node can be indicated by a flag bit, and the second encoding result can be the encoding result of this flag bit. For example, a binary flag bit can be used to indicate the prediction mode used by the node. When flag is 1, it indicates that the node uses an intra-frame prediction mode, and the second prediction residual value is the intra-frame residual coefficient. When flag is 0, it indicates that the node uses an inter-frame prediction mode, and the second prediction residual value is the inter-frame residual coefficient. Alternatively, when flag is 0, it indicates that the node uses an intra-frame prediction mode, and the second prediction residual value is the intra-frame residual coefficient. When flag is 1, it indicates that the node uses an inter-frame prediction mode, and the second prediction residual value is the inter-frame residual coefficient.
[0193] In this embodiment, the bitstream of the point cloud to be encoded also includes a second encoding result. The second encoding result is used to characterize the second prediction residual value as the intra-frame residual coefficient or the second prediction residual value as the inter-frame residual coefficient. Thus, the decoding end can determine whether the prediction method is intra-frame prediction or inter-frame prediction through the second encoding result, and select the appropriate prediction method for decoding.
[0194] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a first data type, the step of determining the inter-frame residual coefficients of the attribute information of the nodes in the target layer includes:
[0195] Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients;
[0196] The inter-frame residual coefficients are obtained based on the inter-frame transform coefficients.
[0197] The reference frame data of the first data type can be encoded and reconstructed point cloud frame data. The reference frame data of the first data type can contain attribute information and geometric information.
[0198] In one embodiment, the step of transforming the inter-frame prediction values to obtain inter-frame transformation coefficients may include performing a RAHT transformation on the inter-frame prediction values to obtain inter-frame transformation coefficients.
[0199] In one embodiment, obtaining the inter-frame residual coefficients based on the inter-frame transform coefficients may include performing a RAHT transform on the node's attribute information to obtain the node's transform coefficients; and subtracting the inter-frame transform coefficients from the node's transform coefficients to obtain the inter-frame residual coefficients. The inter-frame residual coefficients can also be described as inter-frame prediction residual coefficients.
[0200] In this embodiment, when the data type of the reference frame data of the point cloud to be encoded is a first data type, the inter-frame prediction values of the attribute information of the nodes in the target layer are determined, and the inter-frame prediction values are transformed to obtain inter-frame transformation coefficients; inter-frame residual coefficients are obtained based on the inter-frame transformation coefficients. Thus, when the reference frame data is encoded and reconstructed point cloud frame data, the inter-frame prediction values are transformed to obtain inter-frame transformation coefficients, and then inter-frame residual coefficients are obtained.
[0201] Optionally, before determining the inter-frame prediction values of the attribute information of the nodes in the target layer, the method further includes:
[0202] The points in the reference frame corresponding to the point cloud to be encoded are reconstructed.
[0203] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0204] The step of determining the inter-frame prediction values of the attribute information of the nodes in the target layer includes:
[0205] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0206] The reconstruction of reference frames is achieved by reconstructing points in the reference frame corresponding to the point cloud to be encoded. For each point, there is a reconstruction reference point with the same coordinates. The attributes of this reference point are the sum of the attributes of points within a certain range in the reference frame, obtained according to certain rules. The rule is: if a point in the reference frame is closer to the current point in the current frame than to the Morton code distance to the next point in the current frame, then this point is determined to be used for reconstruction. The attribute values are accumulated, and the weight is incremented by one, until the condition is no longer met, and the next reconstruction point is determined. In addition, the start and end distances for judgment are specified. If the distance is too far, it will be considered that the attribute values are too different and it is not suitable for reconstruction. Specifically, only points in the reference frame whose distance to the first point of the current frame is no more than 64 are used for reconstruction. Only points in the reference frame whose distance to the last point of the current frame is no more than 64 are used for reconstruction. A bottom-up prediction tree can be constructed on the reconstructed reference frame. The tree structure of the constructed prediction tree is the same as the tree structure of the transformation tree.
[0207] In one embodiment, determining the inter-frame prediction value of the attribute information of the nodes of the target layer based on the prediction tree and the transform tree may include: obtaining the attribute values of each layer node and the attribute values of each layer node of the corresponding reconstructed reference frame through the prediction tree and the transform tree; if the attribute value of the child node at the corresponding position in the reference frame is not 0 and is within 20% to 250% of the attribute value of the parent node in the current frame, then the attribute value of the child node in the reference frame is used as the inter-frame prediction value of the attribute information of the child node at the corresponding position in the current frame; otherwise, the intra-frame prediction value of the current frame is used as the inter-frame prediction value of the attribute information.
[0208] In this embodiment, the points in the reference frame corresponding to the point cloud to be encoded are reconstructed; a prediction tree is constructed based on the reconstructed reference frame, the tree structure of which is the same as that of the transformation tree; and inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree. Thus, when the reference frame data is encoded and reconstructed point cloud frame data, inter-frame prediction values of the attribute information of the nodes in the target layer can be determined using the prediction tree constructed from the reconstructed reference frame.
[0209] Optionally, the reference frame data of the first data type is encoded and reconstructed point cloud frame data.
[0210] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a second data type, the step of determining the inter-frame residual coefficients of the attribute information of the nodes in the target layer includes:
[0211] If there is a transformation coefficient of a reference node in the reference frame of the point cloud to be encoded that has the same position as the node in the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0212] The inter-frame residual coefficients of the node's attribute information are determined based on the node's transformation coefficients and the inter-frame transformation coefficients of the node's attribute information.
[0213] The step of determining the inter-frame residual coefficients of the node's attribute information based on the node's transform coefficients and the node's attribute information may include performing a RAHT transform on the node's attribute information to obtain the node's transform coefficients; and subtracting the node's transform coefficients from the inter-frame transform coefficients of the node's attribute information to obtain the inter-frame residual coefficients. The inter-frame residual coefficients can also be described as inter-frame prediction residual coefficients.
[0214] In this embodiment, if the reference frame of the point cloud to be encoded contains transform coefficients of a reference node with the same position as a node in the target layer, then the transform coefficients of the reference node with the same position are determined as the inter-frame transform coefficients of the node's attribute information. Based on the transform coefficients of the node and the inter-frame transform coefficients of the node's attribute information, the inter-frame residual coefficients of the node's attribute information are determined. Thus, when the reference frame data is the reconstruction transform coefficients of an encoded point cloud frame, the inter-frame transform coefficients can be directly obtained from the reference frame data, thereby obtaining the inter-frame residual coefficients.
[0215] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the encoded point cloud frame.
[0216] Optionally, the bitstream of the point cloud to be encoded further includes a third encoding result, which is the encoding result of at least one of the first preset distance and the second preset distance.
[0217] See Figure 6 , Figure 6 This is a flowchart of a point cloud decoding processing method provided in an embodiment of this application, which can be applied to the decoding end, such as... Figure 6 As shown, the point cloud decoding processing method includes the following steps:
[0218] Step 201: Determine the target distance between the target layer and the root node of the transform tree corresponding to the point cloud to be decoded;
[0219] Step 202: Decode the first encoding result in the bitstream of the point cloud to be decoded to obtain the target prediction residual value;
[0220] Step 203: Obtain the attribute information of the nodes in the target layer based on the target prediction residual value and the target distance;
[0221] Wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0222] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0223] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0224] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0225] Optionally, the target prediction residual value includes the second prediction residual value, and the bitstream of the point cloud to be decoded further includes a second encoding result, wherein the second encoding result is used to characterize that the second prediction residual value is an intra-frame residual coefficient or that the second prediction residual value is an inter-frame residual coefficient; the step of obtaining the attribute information of the nodes of the target layer based on the target prediction residual value and the target distance includes:
[0226] If the target distance is greater than the first preset distance and less than or equal to the second preset distance, the second encoding result is decoded;
[0227] When the second encoding result represents the second prediction residual value as an intra-frame residual coefficient, the attribute information of the nodes in the target layer is determined based on the intra-frame transform coefficients of the nodes in the target layer and the second prediction residual value; or
[0228] When the second encoding result is determined to represent the second prediction residual value as the inter-frame residual coefficient, the attribute information of the target layer node is determined based on the inter-frame transform coefficient of the target layer node and the second prediction residual value.
[0229] Optionally, when the data type of the reference frame data of the point cloud to be decoded is a first data type, determining the attribute information of the nodes in the target layer based on the inter-frame transform coefficients of the nodes in the target layer and the second prediction residual value includes:
[0230] Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients;
[0231] The attribute information of the nodes in the target layer is determined based on the inter-frame transform coefficients and the second prediction residual value.
[0232] Optionally, before determining the inter-frame prediction values of the attribute information of the nodes in the target layer, the method further includes:
[0233] The points in the reference frame corresponding to the point cloud to be decoded are reconstructed.
[0234] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0235] The step of determining the inter-frame prediction values of the attribute information of the nodes in the target layer includes:
[0236] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0237] Optionally, the reference frame data of the first data type is decoded and reconstructed point cloud frame data.
[0238] Optionally, when the data type of the reference frame data of the point cloud to be decoded is the second data type, determining the attribute information of the nodes in the target layer based on the inter-frame transform coefficients of the nodes in the target layer and the second prediction residual value includes:
[0239] If it is determined that there is a transformation coefficient of a reference node in the reference frame of the point cloud to be decoded that has the same position as the node of the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0240] The attribute information of the node is obtained based on the inter-frame transform coefficients of the second predicted residual value and the attribute information of the node.
[0241] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the decoded point cloud frame.
[0242] Optionally, the bitstream of the point cloud to be decoded further includes a third encoding result, and the method further includes:
[0243] The third encoding result is decoded to obtain at least one of the first preset distance and the second preset distance.
[0244] It should be noted that this embodiment is used as a reference for... Figure 4 The implementation methods for the decoding side in the illustrated embodiments can be found in the following examples. Figure 4 The related descriptions of the embodiments shown will not be repeated in this embodiment to avoid repetition, and can achieve the same beneficial effects.
[0245] The point cloud encoding and decoding methods of this application are described below through two specific embodiments:
[0246] Example 1:
[0247] This embodiment is executed by the encoding end.
[0248] This embodiment proposes a RAHT inter-frame prediction scheme based on double thresholds. By introducing two syntax elements thrh1 (i.e., the first preset distance) and thrh2 (i.e., the second preset distance) into the parameter set (this parameter set can be the attribute parameter set APS, or the attribute data unit ADU, or other parameter sets), the constructed transform tree is further divided into three levels: the upper level, the middle level, and the lower level, and different prediction modes are used for the nodes in different levels. Among them, thrh1 and thrh2 are the number of layers from the root node respectively. Generally speaking, thrh1 < thrh2. Let the distance of the current node layer from the root node be lvl (i.e., the target distance).
[0249] The specific encoding method is described as follows:
[0250] Step (11): Reorder the point cloud, and construct an N-layer transform tree structure for the reordered point cloud data based on the geometric distance. Adopt a bottom-up construction method.
[0251] During the process of constructing the transform tree, it is necessary to generate corresponding Morton code information, attribute information, and weight information for the merged nodes.
[0252] Step (12): Parse the tree from top to bottom. Start from the root node and perform upsampling prediction and region adaptive hierarchical transform (RAHT) layer by layer from top to bottom.
[0253] When predicting the nodes of the transform tree, two prediction methods, intra-frame prediction or inter-frame prediction, can be selected. As Figure 7 shown, the specific selection method is as follows:
[0254] 1) For the nodes in the upper layer (lvl <= thrh1): Since the nodes in the upper layer of the transform tree are larger and contain more points, even if there is motion between two frames, there will basically be no significant change in these upper-layer nodes. At this time, if inter-frame prediction is used, the inter-frame attribute prediction residual may be smaller than the intra-frame attribute prediction residual, which means that inter-frame prediction has better effect in the upper layer.
[0255] Therefore, the inter-frame prediction mode is used by default in the upper layer.
[0256] 2): For the nodes in the middle layer (thrh1 < lvl <= thrh2): Some of these nodes in the middle layer may be suitable for inter-frame prediction, and some may be suitable for intra-frame prediction. This embodiment uses the rate-distortion optimization (RDO) algorithm to select the appropriate prediction technique.
[0257] The RDO algorithm is used to determine the cost of intra-frame and inter-frame prediction separately. If the cost of inter-frame prediction is less than that of intra-frame prediction, the current node uses inter-frame prediction mode; otherwise, it uses intra-frame prediction mode. A binary flag is used to indicate the prediction mode used by the current node. For example, a 1 indicates inter-frame prediction mode, and a 0 indicates intra-frame prediction mode, and vice versa.
[0258] 3) For nodes in the lower layer (lvl>thrh2): Since the lower layer blocks are small and contain fewer points, the number of points contained in each block may change significantly when there is some motion between two frames, making inter-frame prediction unsuitable.
[0259] Therefore, the intra-prediction mode is used by default in the lower layer.
[0260] Among them, for the upper-layer nodes in 1) and the middle-layer nodes in 2), the inter-frame prediction used needs to be selected according to the different data types of the reference frame.
[0261] (a): When the reference frame data is a point cloud frame information that has been encoded and reconstructed, containing attribute information and geometric information, the same bottom-up transformation tree construction operation can be performed as the current frame, and the reference frame node attribute value corresponding to the current frame node can be generated, which can be used as the inter-frame prediction value.
[0262] The specific process is as follows:
[0263] (a1): Reference Frame Reconstruction: Merge points in reference frames within a certain range of the current point's location into a single point, add their attributes, and take the coordinates of the current point. This allows for the subsequent execution of the same prediction tree construction and parsing. The specific process is as follows:
[0264] For each point, there will be a reconstruction reference point with the same coordinates. The attributes of this reference point are the sum of the attributes of points within a certain range in the reference frame, obtained according to certain rules.
[0265] The rule is as follows: If a point in the reference frame is closer to the current point in the current frame than to the Morton code distance to the next point in the current frame, then this point is determined to be used to reconstruct the current point, its attribute value is incremented, and its weight is increased by one. This continues until the condition is no longer met. Then, the next point to be reconstructed is evaluated.
[0266] In addition, the start and end distances for judgment are specified; distances that are too large are considered to indicate significant differences in attribute values, making them unsuitable for reconstruction. Specifically:
[0267] Only points in reference frames that are no more than 64 units away from the first point of the current frame will be used for reconstruction.
[0268] Only points in reference frames that are no more than 64 points away from the last point of the current frame will be used for reconstruction.
[0269] (a2): Building a prediction tree from the bottom up: The prediction tree is built from the bottom up on the reconstructed reference frame and the current frame. The prediction tree has the same structure. The attribute values and weight values of each layer node in the current frame and the prediction attribute values and weight values of each layer node in the corresponding reconstructed reference frame are generated.
[0270] (a3): Top-down parse tree:
[0271] (a31): For upper-level nodes, when the number of layers from the current layer to the root node is less than or equal to thrh1, use the inter-frame prediction method:
[0272] First, determine whether the current 2x2x2 node should be predicted:
[0273] If the current node is the root node, no prediction is performed; instead, the node's attribute information is directly transformed using RAHT to obtain the DC and AC coefficients. The predicted residuals are then used to replace the DC coefficients obtained from the direct transformation.
[0274] The DC coefficient prediction residual is: the DC coefficient of the current frame root node minus the DC coefficient of the reference frame root node.
[0275] DC residual =DC current -DC reference
[0276] If the current node is not the root node, it is necessary to determine whether to perform prediction on the current eight child nodes: for details, please refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding and decoding documentation. If no prediction is performed, the original attribute values are directly subjected to RAHT transformation to obtain AC coefficients, and the AC coefficients are then quantized and entropy encoded.
[0277] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0278] Then, for each 2*2*2 node, the placeholder child node is judged: if the attribute value of the child node at the corresponding position in the reference frame is not 0 and is within 20% to 250% of the attribute value of the parent node in the current frame, then the attribute value of the child node in the reference frame is used as the attribute prediction value of the child node at the corresponding position in the current frame; otherwise, the intra-frame prediction value of the current frame is used as the attribute prediction value.
[0279] The predicted attribute value Attr obtained from the 2*2*2 node is then...predicted Perform a RAHT transform to obtain the AC coefficients of the predicted value. current The predicted AC coefficient AC predicted Subtracting the AC coefficients yields the predicted residuals AC. residual The residuals are then quantized and encoded, as shown below:
[0280] AC residual =AC current -AC predicted
[0281] AC predicted =Transform(Attr) predicted )
[0282] Attr predicted =Attr predicted_inter ? Attr predicted_inter :Attr predicted_intra
[0283] (a32): For intermediate nodes, when the distance from the current layer to the root node is greater than thrh1 and less than or equal to thrh2, the RDO algorithm is used to determine whether to use inter-frame prediction or intra-frame prediction.
[0284] First, determine whether to perform prediction on the current 2x2x2 node: Refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding / decoding documentation. If no prediction is performed, directly apply RAHT transformation to the original attribute values to obtain transform coefficients, and then quantize and entropy encode these coefficients.
[0285] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0286] Then, for each 2*2*2 node, the RDO algorithm is used to determine which prediction mode to use. The specific process is as follows:
[0287] The inter-frame prediction values and intra-frame prediction values are subjected to RAHT transformation to obtain the corresponding transformation coefficients.
[0288] The inter-frame prediction residual coefficients and intra-frame prediction residual coefficients are obtained by subtracting them from the true RAHT transform coefficients.
[0289] The decision to use inter-frame prediction residuals or intra-frame prediction residuals is based on the RDO algorithm.
[0290] The Cost_inter and Cost_intra for encoding intra-frame and inter-frame residual coefficients are calculated separately. The cost of encoding intra-frame or inter-frame residual coefficients is obtained by the following formula:
[0291] Cost = D + λ * R
[0292] Where D (distortion) is the sum of absolute errors (SAD) between the reconstructed attributes and the original attributes obtained after using the prediction residual coefficients (or other methods).
[0293] Where R (rate: code rate) is the number of bits required to encode the prediction residual coefficient.
[0294] The value of λ depends on QP and is calculated by the following formula: (other formulas may also be used).
[0295] λ^2 = 0.85 * 2^((QP-4) / 3)
[0296] If Cost_inter is less than Cost_intra, the inter-frame prediction residual is used; otherwise, the intra-frame prediction residual is used. A flag is used to indicate this. For example, 1 indicates the use of the inter-frame prediction residual, and 0 indicates the use of the intra-frame prediction residual. The reverse is also true.
[0297] The AC residual coefficients obtained from the judgment are quantized and entropy encoded.
[0298] (a33): For lower-level nodes, when the distance from the current level to the root node is greater than thrh2, use the intra-frame prediction method:
[0299] First, determine whether to perform prediction on the current 2x2x2 node: Refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding / decoding documentation. If no prediction is performed, directly apply RAHT transformation to the original attribute values to obtain transform coefficients, and then quantize and entropy encode these coefficients.
[0300] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0301] Then, the intra-frame predicted value is used as the attribute predicted value. The original attribute value and the intra-frame predicted attribute value are subjected to RAHT transformation and the difference is calculated. The residual is then quantized and entropy encoded.
[0302] (b): When the reference frame data is the reconstructed transform coefficient of the point cloud frame that has been encoded and completed, the transform coefficient can be directly used as the transform coefficient of the inter-frame prediction and compared with the transform coefficient of the intra-frame prediction attribute value in the current frame node.
[0303] The specific encoding method is as follows:
[0304] (b1): For upper-layer nodes, when the number of layers from the current layer to the root node is less than or equal to thrh1, use the inter-frame prediction method:
[0305] The attribute information of the current node is subjected to RAHT transformation to obtain the transform coefficients. Then, it is determined whether there is a transform coefficient of a reference node in the reference frame that has the same position as the current node to be encoded. If there is, the transform coefficient is used as the inter-frame prediction value of the transform coefficient, and the difference between the transform coefficient of the current node in the current frame is calculated to obtain the transform residual coefficient, which is then used for subsequent quantization and entropy coding.
[0306] (b2): For intermediate nodes, when the distance from the current layer to the root node is greater than thrh1 and less than or equal to thrh2, the RDO algorithm is used to determine whether to use inter-frame prediction or intra-frame prediction.
[0307] First, determine whether to perform prediction on the current 2x2x2 node: Refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding / decoding documentation. If no prediction is performed, directly apply RAHT transformation to the original attribute values to obtain transform coefficients, and then quantize and entropy encode these coefficients.
[0308] If prediction is to be performed, the intra-frame attribute prediction values of each placeholder child node of the current 2*2*2 node are obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC codec description section.
[0309] Then, for each 2*2*2 node, the RDO algorithm is used to determine which prediction mode to use. The specific process is as follows:
[0310] The original attribute value and intra-frame predicted value of the current node are transformed to obtain the corresponding transformation coefficients, and the difference is used to obtain the intra-frame prediction residual coefficients.
[0311] If a transform coefficient exists in the reference frame at the same position as the current node, it is used as the inter-frame prediction value of the transform coefficient, and the difference between this value and the actual RAHT transform coefficient of the current node is used to obtain the inter-frame prediction residual coefficient. If no such value exists, the intra-frame prediction residual coefficient is used directly, followed by subsequent quantization and entropy coding.
[0312] The decision to use inter-frame prediction residuals or intra-frame prediction residuals is based on the RDO algorithm.
[0313] The Cost_inter and Cost_intra for encoding intra-frame and inter-frame residual coefficients are calculated separately. The cost of encoding intra-frame or inter-frame residual coefficients is obtained by the following formula:
[0314] Cost = D + λ * R
[0315] Where D (distortion) is the sum of absolute errors (SAD) between the reconstructed attributes and the original attributes obtained after using the prediction residual coefficients (or other methods).
[0316] Where R (rate: code rate) is the number of bits required to encode the prediction residual coefficient.
[0317] The value of λ depends on QP and is calculated by the following formula: (other formulas may also be used).
[0318]
[0319] If Cost_inter is less than Cost_intra, the inter-frame prediction residual is used; otherwise, the intra-frame prediction residual is used. A flag is used to indicate this. For example, 1 indicates the use of the inter-frame prediction residual, and 0 indicates the use of the intra-frame prediction residual. The reverse is also true.
[0320] The AC residual coefficients obtained from the judgment are quantized and entropy encoded.
[0321] (b3): For lower-level nodes, when the distance from the current level to the root node is greater than thrh2, use the intra-frame prediction method (same as the encoding method for lower-level nodes in (a3)):
[0322] First, determine whether to perform prediction on the current 2x2x2 node: Refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding / decoding documentation. If no prediction is performed, directly apply RAHT transformation to the original attribute values to obtain transform coefficients, and then quantize and entropy encode these coefficients.
[0323] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0324] Then, the intra-frame predicted value is used as the attribute predicted value. The original attribute value and the intra-frame predicted attribute value are subjected to RAHT transformation and the difference is calculated. The residual is then quantized and entropy encoded.
[0325] Example 2:
[0326] This embodiment is executed by the decoding end.
[0327] Step (21): First, decode the syntax elements thrh1 and thrh2 from the input bitstream.
[0328] Entropy decode and inverse quantize the quantized and encoded transform coefficients or coefficient residuals from the input bitstream to obtain the reconstructed transform coefficients or transform residual coefficients. Decode the flag bits of the prediction mode used by the middle-level nodes from the input bitstream.
[0329] Since attribute decoding is performed after geometric decoding, the position coordinates of each reconstructed point have been obtained when decoding the attribute information.
[0330] Step (22): Reorder the point cloud, and construct an N-layer transform tree structure for the reordered point cloud data based on the geometric distance. Adopt a bottom-up construction method.
[0331] Step (23): Parse the tree from top to bottom. Starting from the root node, perform upsampling prediction and RAHT inverse transform layer by layer from top to bottom to obtain the reconstructed attribute values of the nodes.
[0332] When predicting the nodes of the transform tree, two prediction methods, intra prediction or inter prediction, can be selected. As Figure 8 shown, the specific selection method is as follows:
[0333] 1) For the nodes in the upper layer (lvl <= thrh1):
[0334] Default to use the inter prediction mode.
[0335] 2): For the nodes in the middle layer (thrh1 < lvl <= thrh2): Determine whether to use intra prediction or inter prediction according to the flag bit flag of the decoded prediction mode.
[0336] Obtain the corresponding prediction value according to flag and add it to the decoded and reconstructed residual transform coefficients to reconstruct the transform coefficients.
[0337] 3) For the nodes in the lower layer (lvl > thrh2): Since the lower layer has small blocks and few points, when there is a certain movement between two frames, the number of points contained in each block may change greatly, and it is not suitable to use inter prediction.
[0338] So, default to use the intra prediction mode in the lower layer.
[0339] Among them, for the upper layer nodes in 1) and the middle layer nodes in 2), different prediction methods need to be selected according to the different types of reference frame data for the inter prediction used.
[0340] (a): When the reference frame data is a point cloud frame that has already been encoded and reconstructed, containing attribute and geometric information, the same bottom-up transformation tree construction operation can be performed as with the current frame, generating reference frame node attribute values corresponding to the current frame nodes, which can be used as inter-frame prediction values. The specific process has been described at the encoding end and will not be repeated here.
[0341] When the inter-frame prediction value is obtained, it is added to the transform residual coefficients obtained from decoding to obtain the reconstructed transform coefficients. Then, the RAHT inverse transform is performed to obtain the attribute reconstruction value of each child node.
[0342] (a1): For upper-layer nodes, when the distance from the current layer to the root node is less than or equal to thrh1, use the inter-frame prediction method:
[0343] First, determine whether the current 2x2x2 node should be predicted:
[0344] If the current node is the root node, the DC coefficient residual of the root node is added to the DC coefficient residual of the reference frame to obtain the DC coefficient of the current frame. The AC coefficients reconstructed from the root node are then used, and then the RAHT inverse transform is performed to obtain the attribute reconstruction value of each child node.
[0345] If the current node is not the root node, it is necessary to determine whether to predict the current eight child nodes: for details, please refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0346] If no prediction is performed, the DC coefficients directly inherit the attribute reconstruction values of the parent node, and the AC coefficients reconstructed by the current node are used to perform the RAHT inverse transformation to obtain the attribute reconstruction values of each child node.
[0347] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0348] Then, for each 2*2*2 node, the placeholder child node is judged: if the attribute value of the child node at the corresponding position in the reference frame is not 0 and is within 20% to 250% of the attribute value of the parent node in the current frame, then the attribute value of the child node in the reference frame is used as the attribute prediction value of the child node at the corresponding position in the current frame; otherwise, the intra-frame prediction value of the current frame is used as the attribute prediction value.
[0349] The attribute prediction values obtained from the 2*2*2 nodes are then subjected to RAHT transformation to obtain the AC coefficients of the attribute prediction values. The DC coefficients are inherited from the attribute reconstruction values of the parent nodes, and the AC coefficients are the AC coefficient residuals of the reconstructed AC coefficients plus the AC coefficients of the attribute prediction values. Then, an inverse RAHT transformation is performed to obtain the attribute reconstruction values of each child node.
[0350] (a2): For intermediate-level nodes, when the distance from the current level to the root node is greater than thrh1 and less than or equal to thrh2, the flag is used to determine whether to use inter-frame prediction or intra-frame prediction.
[0351] First, determine whether to perform prediction on the current 2*2*2 nodes: For details, please refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0352] If no prediction is performed, the DC coefficients directly inherit the attribute reconstruction values of the parent node, and the AC coefficients reconstructed by the current node are used to perform the RAHT inverse transformation to obtain the attribute reconstruction values of each child node.
[0353] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0354] The flag indicates whether intra-frame or inter-frame prediction mode is currently being used.
[0355] The inter-frame and intra-frame prediction values are subjected to RAHT transformation to obtain the corresponding AC coefficients.
[0356] The DC coefficients inherit the attribute reconstruction values of the parent node, and the AC coefficients are the AC coefficients of the reconstructed AC coefficients plus the AC coefficients corresponding to the flag. Then, the RAHT inverse transformation is performed to obtain the attribute reconstruction values of each child node.
[0357] (a3): For lower-level nodes, when the distance from the current level to the root node is greater than thrh2, use the intra-frame prediction method:
[0358] First, determine whether to perform prediction on the current 2*2*2 nodes: For details, please refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0359] If no prediction is performed, the DC coefficients directly inherit the attribute reconstruction values of the parent node, and the AC coefficients reconstructed by the current node are used to perform the RAHT inverse transformation to obtain the attribute reconstruction values of each child node.
[0360] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0361] Then, the intra-frame attribute prediction values obtained from the 2*2*2 node are subjected to RAHT transformation to obtain the AC coefficients of the attribute prediction values.
[0362] The DC coefficients inherit the attribute reconstruction values of the parent node, and the AC coefficients are the AC coefficients of the reconstructed AC coefficient residuals plus the AC coefficients of the attribute prediction values. Then, the RAHT inverse transformation is performed to obtain the attribute reconstruction values of each child node.
[0363] (b): When the reference frame data is the reconstructed transform coefficient of the point cloud frame that has been encoded and completed, the transform coefficient can be directly used as the transform coefficient of the inter-frame prediction and compared with the transform coefficient of the intra-frame prediction attribute value in the current frame node.
[0364] (b1): For upper-layer nodes, when the distance from the current layer to the root node is less than or equal to thrh1, use the inter-frame prediction method.
[0365] Determine whether there is a transform coefficient of a reference node in the reference frame that has the same position as the current node to be encoded. If there is, use the transform coefficient as the inter-frame prediction value of the transform coefficient, and sum it with the reconstructed transform residual coefficient obtained from decoding to obtain the reconstructed transform coefficient of the current node. Perform RAHT inverse transform to obtain the attribute reconstruction value of each child node.
[0366] If it does not exist, then directly perform RAHT inverse transform on the reconstructed transform coefficients obtained from decoding to obtain the attribute reconstruction value of each child node.
[0367] (b2): For intermediate nodes, when the distance from the current node to the root node is greater than thrh1 and less than or equal to thrh2, the flag is used to determine whether to use inter-frame prediction or intra-frame prediction.
[0368] First, determine whether to perform prediction on the current 2*2*2 nodes: For details, please refer to the description of the second step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0369] If no prediction is performed, the DC coefficients directly inherit the attribute reconstruction values of the parent node, and the AC coefficients reconstructed by the current node are used to perform the RAHT inverse transformation to obtain the attribute reconstruction values of each child node.
[0370] If it is determined that the current 2*2*2 node is to be predicted, the intra-attribute prediction values of each placeholder child node of the current 2*2*2 node can be obtained by using the relevant methods of weighted prediction in the third step of intra-frame RAHT technology in the GPCC encoding and decoding content description section.
[0371] 1. Transform coefficients of intra-frame prediction obtained by transforming the intra-frame prediction values.
[0372] 2. Determine if there is a transform coefficient in the reference frame at the same position as the current node. If not, directly use the intra-frame prediction coefficient and sum it with the reconstruction transform residual coefficient obtained from decoding to obtain the reconstruction transform coefficient of the current node. Perform RAHT inverse transform to obtain the attribute reconstruction value of each child node.
[0373] 3. If present, determine whether intra-frame or inter-frame prediction mode is being used based on the flag. Obtain the predicted transform coefficients from the flag, sum them with the reconstructed transform residual coefficients obtained from decoding to obtain the reconstructed transform coefficients of the current node, perform RAHT inverse transform, and obtain the attribute reconstruction values of each child node.
[0374] (b3): For lower-level nodes, when the distance between the current layer and the root node is greater than thrh2, the intra-frame prediction method is used, which is the same as the lower-level decoding method in (a3), and will not be repeated here.
[0375] The attribute decoding is now complete.
[0376] This embodiment proposes a dual-threshold inter-frame prediction method, dividing the octree into three levels: upper, middle, and lower. Different prediction methods are used for different levels based on the characteristics of the nodes. Specifically, for middle-level nodes, the RDO algorithm is used to determine whether the current node should use intra-frame or inter-frame prediction. Simultaneously, two set thresholds and flag bits need to be transmitted in the bitstream. This three-layer structure offers greater flexibility and higher coding efficiency.
[0377] Compared with existing technologies, this embodiment is more flexible. It takes into account that some nodes in the middle layer are more suitable for using inter-frame prediction methods. Therefore, a dual threshold is used to divide the octree into three levels. For nodes in the middle layer, the RDO algorithm is used to determine whether to use inter-frame prediction mode, and a flag bit is used to mark them. This is more flexible, can reduce the bit rate, and improve coding efficiency.
[0378] It should be noted that the point cloud encoding processing method provided in this application embodiment can be executed by a point cloud encoding processing device, or by a control module in the point cloud encoding processing device for executing the point cloud encoding processing method. This application embodiment uses the point cloud encoding processing device executing the point cloud encoding processing method as an example to illustrate the point cloud encoding processing device provided in this application embodiment.
[0379] Please see Figure 9 , Figure 7 This is a structural diagram of a point cloud encoding processing device provided in an embodiment of this application, as shown below. Figure 9 As shown, the point cloud encoding processing device 300 includes:
[0380] The first determining module 301 is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded.
[0381] The second determining module 302 is used to determine the target prediction residual value based on the target distance;
[0382] Encoding module 303 is used to encode the target prediction residual value to obtain a first encoding result;
[0383] The bitstream of the point cloud to be encoded includes the first encoding result;
[0384] When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0385] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0386] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0387] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0388] Optionally, the second determining module includes:
[0389] The first determining unit is configured to determine the inter-frame residual coefficients and intra-frame residual coefficients of the attribute information of the nodes in the target layer when the target distance is greater than the first preset distance and less than or equal to the second preset distance.
[0390] The second determining unit is used to determine the first generation value corresponding to the inter-frame residual coefficient and the second generation value corresponding to the intra-frame residual coefficient based on the rate-distortion optimization algorithm.
[0391] The third determining unit is used to determine the second predicted residual value based on the first generation value and the second generation value;
[0392] The target prediction residual value includes the second prediction residual value.
[0393] Optionally, if the value of the first generation is less than the value of the second generation, the second prediction residual value is the inter-frame residual coefficient; or,
[0394] If the value of the second generation is less than the value of the first generation, the second prediction residual value is the intra-frame residual coefficient; or,
[0395] When the value of the first generation is equal to the value of the second generation, the second prediction residual value is the inter-frame residual coefficient or the intra-frame residual coefficient.
[0396] Optionally, the bitstream of the point cloud to be encoded further includes a second encoding result, which is used to characterize the second prediction residual as the intra-frame residual coefficient or the second prediction residual as the inter-frame residual coefficient.
[0397] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a first data type, the first determining unit includes:
[0398] A determination subunit is used to determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and to perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients.
[0399] The sub-unit is used to obtain the inter-frame residual coefficients based on the inter-frame transform coefficients.
[0400] Optionally, the first determining unit is further configured to:
[0401] The points in the reference frame corresponding to the point cloud to be encoded are reconstructed.
[0402] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0403] The determining subunit is specifically used for:
[0404] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0405] Optionally, the reference frame data of the first data type is encoded and reconstructed point cloud frame data.
[0406] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a second data type, the first determining unit is specifically used for:
[0407] If there is a transformation coefficient of a reference node in the reference frame of the point cloud to be encoded that has the same position as the node in the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0408] The inter-frame residual coefficients of the node's attribute information are determined based on the node's transformation coefficients and the inter-frame transformation coefficients of the node's attribute information.
[0409] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the encoded point cloud frame.
[0410] Optionally, the bitstream of the point cloud to be encoded further includes a third encoding result, which is the encoding result of at least one of the first preset distance and the second preset distance.
[0411] The point cloud encoding processing device in this application embodiment can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, a mobile terminal can include, but is not limited to, the types of terminals listed above, while a non-mobile terminal can be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the specific type of terminal.
[0412] The point cloud encoding processing device provided in this application embodiment can achieve... Figure 5 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0413] It should be noted that the point cloud decoding processing method provided in this application embodiment can be executed by a point cloud decoding processing device, or by a control module in the point cloud decoding processing device for executing the point cloud decoding processing method. This application embodiment uses the point cloud decoding processing device executing the point cloud decoding processing method as an example to illustrate the point cloud decoding processing device provided in this application embodiment.
[0414] Please see Figure 10 , Figure 10 This is a structural diagram of a point cloud decoding processing device provided in an embodiment of this application, as shown below. Figure 10 As shown, the point cloud decoding processing device 400 includes:
[0415] The determination module 401 is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded;
[0416] Decoding module 402 is used to decode the first encoding result in the bit stream of the point cloud to be decoded to obtain the target prediction residual value;
[0417] The acquisition module 403 is used to acquire the attribute information of the nodes of the target layer based on the target prediction residual value and the target distance;
[0418] Wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0419] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0420] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0421] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0422] Optionally, the target prediction residual value includes the second prediction residual value, and the bitstream of the point cloud to be decoded further includes a second encoding result, the second encoding result being used to characterize whether the second prediction residual value is an intra-frame residual coefficient or an inter-frame residual coefficient; the acquisition module includes:
[0423] A decoding unit is configured to decode the second encoding result when the target distance is greater than the first preset distance and less than or equal to the second preset distance;
[0424] The determining unit is configured to, when determining that the second coding result characterizes the second prediction residual value as an intra-frame residual coefficient, determine the attribute information of the nodes in the target layer based on the intra-frame transform coefficients of the nodes in the target layer and the second prediction residual value; or
[0425] When the second encoding result is determined to represent the second prediction residual value as the inter-frame residual coefficient, the attribute information of the target layer node is determined based on the inter-frame transform coefficient of the target layer node and the second prediction residual value.
[0426] Optionally, when the data type of the reference frame data of the point cloud to be decoded is a first data type, and when it is determined that the second encoding result represents the second prediction residual value as the inter-frame residual coefficient, the determining unit includes:
[0427] The first determining subunit is used to determine the inter-frame prediction value of the attribute information of the nodes in the target layer, and to perform transformation processing on the inter-frame prediction value to obtain inter-frame transformation coefficients.
[0428] The second determining subunit is used to determine the attribute information of the nodes in the target layer based on the inter-frame transform coefficients and the second prediction residual value.
[0429] Optionally, the determining unit is further configured to:
[0430] The points in the reference frame corresponding to the point cloud to be decoded are reconstructed.
[0431] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0432] The first determining subunit is specifically used for:
[0433] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0434] Optionally, the reference frame data of the first data type is decoded and reconstructed point cloud frame data.
[0435] Optionally, when the data type of the reference frame data of the point cloud to be decoded is a second data type, and when it is determined that the second encoding result represents the second prediction residual value as the inter-frame residual coefficient, the determining unit is specifically used for:
[0436] If it is determined that there is a transformation coefficient of a reference node in the reference frame of the point cloud to be decoded that has the same position as the node of the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0437] The attribute information of the node is obtained based on the inter-frame transform coefficients of the second predicted residual value and the attribute information of the node.
[0438] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the decoded point cloud frame.
[0439] Optionally, the bitstream of the point cloud to be decoded further includes a third encoding result, and the decoding module is further used for:
[0440] The third encoding result is decoded to obtain at least one of the first preset distance and the second preset distance.
[0441] The point cloud decoding processing device in this application embodiment can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, a mobile terminal can include, but is not limited to, the types of terminals listed above, while a non-mobile terminal can be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the specific type of terminal.
[0442] The point cloud decoding processing device provided in this application embodiment can achieve... Figure 6 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0443] Optionally, such as Figure 11 As shown, this application embodiment also provides a communication device 500, including a processor 501 and a memory 502. The memory 502 stores programs or instructions that can run on the processor 501. For example, when the communication device 500 is an encoding device, the program or instructions executed by the processor 501 implement the various steps of the above-described point cloud encoding processing method embodiment and achieve the same technical effect. When the communication device 500 is a decoding device, the program or instructions executed by the processor 501 implement the various steps of the above-described point cloud decoding processing method embodiment and achieve the same technical effect. To avoid repetition, further details are omitted here.
[0444] This application embodiment also provides a terminal, including a processor and a communication interface. The processor is configured to: determine the target distance between the target layer and the root node of the transform tree corresponding to the point cloud to be encoded; determine a target prediction residual value based on the target distance; encode the target prediction residual value to obtain a first encoding result; wherein the bitstream of the point cloud to be encoded includes the first encoding result; when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes of the target layer; or when the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes of the target layer; or when the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes of the target layer. This terminal embodiment corresponds to the above-described point cloud encoding processing method embodiment. All implementation processes and methods of the above-described point cloud encoding processing method embodiment can be applied to this terminal embodiment and can achieve the same technical effect.
[0445] This application embodiment also provides a terminal, including a processor and a communication interface. The processor is configured to: determine the target distance between the target layer and the root node of the transform tree corresponding to the point cloud to be decoded; decode the first encoding result in the bitstream of the point cloud to be decoded to obtain a target prediction residual value; and obtain attribute information of the nodes of the target layer based on the target prediction residual value and the target distance. Wherein, if the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes of the target layer; or if the target distance is greater than the first preset distance and less than or equal to a second preset distance, the target prediction residual value includes a second prediction residual value obtained by prediction processing of the attribute information of the nodes of the target layer; or if the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes of the target layer. This terminal embodiment corresponds to the above-described point cloud decoding processing method embodiment. All implementation processes and methods of the above-described point cloud decoding processing method embodiment can be applied to this terminal embodiment and can achieve the same technical effect.
[0446] Specifically, Figure 12 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.
[0447] The terminal 600 includes, but is not limited to, at least some of the following components: radio frequency unit 601, network module 602, audio output unit 603, input unit 604, sensor 605, display unit 606, user input unit 607, interface unit 608, memory 609, and processor 610.
[0448] Those skilled in the art will understand that the terminal 600 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 610 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 12 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0449] It should be understood that, in this embodiment, the input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042. The GPU 6041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0450] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 601 can transmit it to the processor 610 for processing; in addition, the radio frequency unit 601 can send uplink data to the network-side device. Typically, the radio frequency unit 601 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0451] The memory 609 can be used to store software programs or instructions, as well as various data. The memory 609 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 609 may include volatile memory or non-volatile memory, or both. The non-volatile memory may 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. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory x09 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0452] Processor 610 may include one or more processing units; optionally, processor 610 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 610.
[0453] Where the terminal is an encoding terminal:
[0454] The processor 610 is used for:
[0455] Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded;
[0456] The target prediction residual value is determined based on the target distance;
[0457] The target prediction residual value is encoded to obtain a first encoding result;
[0458] The bitstream of the point cloud to be encoded includes the first encoding result;
[0459] When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0460] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0461] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0462] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0463] Optionally, the processor 610 is specifically used for:
[0464] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the inter-frame residual coefficients and intra-frame residual coefficients of the attribute information of the nodes in the target layer are determined.
[0465] The first-generation value corresponding to the inter-frame residual coefficient and the second-generation value corresponding to the intra-frame residual coefficient are determined based on the rate-distortion optimization algorithm.
[0466] The second prediction residual value is determined based on the first generation value and the second generation value;
[0467] The target prediction residual value includes the second prediction residual value.
[0468] Optionally, if the value of the first generation is less than the value of the second generation, the second prediction residual value is the inter-frame residual coefficient; or,
[0469] If the value of the second generation is less than the value of the first generation, the second prediction residual value is the intra-frame residual coefficient; or,
[0470] When the value of the first generation is equal to the value of the second generation, the second prediction residual value is the inter-frame residual coefficient or the intra-frame residual coefficient.
[0471] Optionally, the bitstream of the point cloud to be encoded further includes a second encoding result, which is used to characterize the second prediction residual as the intra-frame residual coefficient or the second prediction residual as the inter-frame residual coefficient.
[0472] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a first data type, the processor 610 is specifically used for:
[0473] Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients;
[0474] The inter-frame residual coefficients are obtained based on the inter-frame transform coefficients.
[0475] Optionally, the processor 610 is further configured to:
[0476] The points in the reference frame corresponding to the point cloud to be encoded are reconstructed.
[0477] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0478] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0479] Optionally, the reference frame data of the first data type is encoded and reconstructed point cloud frame data.
[0480] Optionally, when the data type of the reference frame data of the point cloud to be encoded is a second data type, the processor 610 is specifically used for:
[0481] If there is a transformation coefficient of a reference node in the reference frame of the point cloud to be encoded that has the same position as the node in the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0482] The inter-frame residual coefficients of the node's attribute information are determined based on the node's transformation coefficients and the inter-frame transformation coefficients of the node's attribute information.
[0483] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the encoded point cloud frame.
[0484] Optionally, the bitstream of the point cloud to be encoded further includes a third encoding result, which is the encoding result of at least one of the first preset distance and the second preset distance.
[0485] Where the terminal is a decoding end:
[0486] The processor 610 is used for:
[0487] Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded;
[0488] The first encoding result in the bitstream of the point cloud to be decoded is decoded to obtain the target prediction residual value;
[0489] Based on the target prediction residual value and the target distance, obtain the attribute information of the nodes in the target layer;
[0490] Wherein, when the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; or
[0491] When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer; or
[0492] When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
[0493] Optionally, if the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
[0494] Optionally, the target prediction residual value includes the second prediction residual value, and the bitstream of the point cloud to be decoded further includes a second encoding result, the second encoding result being used to characterize whether the second prediction residual value is an intra-frame residual coefficient or an inter-frame residual coefficient; the processor 610 is specifically used for:
[0495] If the target distance is greater than the first preset distance and less than or equal to the second preset distance, the second encoding result is decoded;
[0496] When the second encoding result represents the second prediction residual value as an intra-frame residual coefficient, the attribute information of the nodes in the target layer is determined based on the intra-frame transform coefficients of the nodes in the target layer and the second prediction residual value; or
[0497] When the second encoding result is determined to represent the second prediction residual value as the inter-frame residual coefficient, the attribute information of the target layer node is determined based on the inter-frame transform coefficient of the target layer node and the second prediction residual value.
[0498] Optionally, when the data type of the reference frame data of the point cloud to be decoded is a first data type, the processor 610 is specifically used for:
[0499] Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients;
[0500] The attribute information of the nodes in the target layer is determined based on the inter-frame transform coefficients and the second prediction residual value.
[0501] Optionally, the processor 610 is further configured to:
[0502] The points in the reference frame corresponding to the point cloud to be decoded are reconstructed.
[0503] A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree.
[0504] Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
[0505] Optionally, the reference frame data of the first data type is decoded and reconstructed point cloud frame data.
[0506] Optionally, when the data type of the reference frame data of the point cloud to be decoded is a second data type, the processor 610 is specifically used for:
[0507] If it is determined that there is a transformation coefficient of a reference node in the reference frame of the point cloud to be decoded that has the same position as the node of the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information.
[0508] The attribute information of the node is obtained based on the inter-frame transform coefficients of the second predicted residual value and the attribute information of the node.
[0509] Optionally, the reference frame data of the second data type is the reconstruction transform coefficient of the decoded point cloud frame.
[0510] Optionally, the bitstream of the point cloud to be decoded further includes a third encoding result, and the processor 610 is further configured to:
[0511] The third encoding result is decoded to obtain at least one of the first preset distance and the second preset distance.
[0512] The embodiments of this application can improve coding efficiency.
[0513] Specifically, the terminal in this embodiment further includes: instructions or programs stored in memory 609 and executable on processor 610, wherein processor 610 calls the instructions or programs in memory 609 to execute. Figure 9 or Figure 10 The methods executed by each module shown achieve the same technical effect, and to avoid repetition, they will not be described in detail here.
[0514] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described point cloud encoding processing method embodiments, or, when the program or instructions are executed by a processor, they implement the various processes of the above-described point cloud decoding processing method embodiments, and can achieve the same technical effect. To avoid repetition, further details are omitted here.
[0515] The processor mentioned above is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.
[0516] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described point cloud encoding processing method embodiment, or to implement the various processes of the above-described point cloud decoding processing method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0517] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0518] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described point cloud encoding processing method or point cloud decoding processing method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0519] This application also provides an encoding / decoding system, including an encoding end device and a decoding end device. The encoding end device can be used to perform the steps of the point cloud encoding processing method described above, and the decoding end device can be used to perform the steps of the point cloud decoding processing method described above.
[0520] It should be noted that, in this document, 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 limitations, 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. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0521] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of computer software products plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.) and includes several instructions to cause the terminal or network-side device to execute the methods described in the various embodiments of this application.
[0522] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other implementations under the guidance of this application without departing from the spirit and scope of the claims. All of these implementations are within the protection scope of this application.
Claims
1. A point cloud encoding processing method, executed by an encoding terminal, characterized in that, include: Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded; The target prediction residual value is determined based on the target distance; The target prediction residual value is encoded to obtain a first encoding result; The bitstream of the point cloud to be encoded includes the first encoding result; When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes the second prediction residual value obtained by predicting the attribute information of the nodes in the target layer. When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
2. The method according to claim 1, characterized in that, When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
3. The method according to claim 1 or 2, characterized in that, Determining the target prediction residual value based on the target distance includes: When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the inter-frame residual coefficients and intra-frame residual coefficients of the attribute information of the nodes in the target layer are determined. The first-generation value corresponding to the inter-frame residual coefficient and the second-generation value corresponding to the intra-frame residual coefficient are determined based on the rate-distortion optimization algorithm. The second prediction residual value is determined based on the first generation value and the second generation value; The target prediction residual value includes the second prediction residual value.
4. The method according to claim 3, characterized in that, When the value of the first generation is less than the value of the second generation, the second prediction residual value is the inter-frame residual coefficient; or, When the value of the second generation is less than the value of the first generation, the second prediction residual value is the intra-frame residual coefficient; or, When the value of the first generation is equal to the value of the second generation, the second prediction residual value is the inter-frame residual coefficient or the intra-frame residual coefficient.
5. The method according to claim 3, characterized in that, The bitstream of the point cloud to be encoded also includes a second encoding result, which is used to characterize the second prediction residual as the intra-frame residual coefficient or the second prediction residual as the inter-frame residual coefficient.
6. The method according to claim 3, characterized in that, When the data type of the reference frame data of the point cloud to be encoded is a first data type, the step of determining the inter-frame residual coefficients of the attribute information of the nodes in the target layer includes: Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients; The inter-frame residual coefficients are obtained based on the inter-frame transform coefficients.
7. The method according to claim 6, characterized in that, Before determining the inter-frame prediction values of the attribute information of the nodes in the target layer, the method further includes: The points in the reference frame corresponding to the point cloud to be encoded are reconstructed. A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree. The step of determining the inter-frame prediction values of the attribute information of the nodes in the target layer includes: Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
8. The method according to claim 6, characterized in that, The reference frame data of the first data type is encoded and reconstructed point cloud frame data.
9. The method according to claim 3, characterized in that, When the data type of the reference frame data of the point cloud to be encoded is the second data type, the step of determining the inter-frame residual coefficients of the attribute information of the nodes in the target layer includes: If there is a transformation coefficient of a reference node in the reference frame of the point cloud to be encoded that has the same position as the node in the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information. The inter-frame residual coefficients of the node's attribute information are determined based on the node's transformation coefficients and the inter-frame transformation coefficients of the node's attribute information.
10. The method according to claim 9, characterized in that, The reference frame data of the second data type is the reconstruction transform coefficient of the encoded point cloud frame.
11. The method according to claim 1, characterized in that, The bitstream of the point cloud to be encoded also includes a third encoding result, which is the encoding result of at least one of the first preset distance and the second preset distance.
12. A point cloud decoding processing method, executed by a decoding end, characterized in that, include: Determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded; The first encoding result in the bitstream of the point cloud to be decoded is decoded to obtain the target prediction residual value; Based on the target prediction residual value and the target distance, obtain the attribute information of the nodes in the target layer; Wherein, when the target distance is less than or equal to the first preset distance, the target prediction residual value includes the first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes the second prediction residual value obtained by predicting the attribute information of the nodes in the target layer. When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
13. The method according to claim 12, characterized in that, When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes a second prediction residual value obtained by predicting the attribute information of the nodes in the target layer based on a rate-distortion optimization algorithm.
14. The method according to claim 12 or 13, characterized in that, The target prediction residual value includes the second prediction residual value, and the bitstream of the point cloud to be decoded also includes the second encoding result. The second encoding result is used to characterize the second prediction residual value as an intra-frame residual coefficient or the second prediction residual value as an inter-frame residual coefficient. The step of obtaining the attribute information of the nodes in the target layer based on the target prediction residual value and the target distance includes: If the target distance is greater than the first preset distance and less than or equal to the second preset distance, the second encoding result is decoded; When the second encoding result represents the second prediction residual value as an intra-frame residual coefficient, the attribute information of the nodes in the target layer is determined based on the intra-frame transform coefficients of the nodes in the target layer and the second prediction residual value; or When the second encoding result is determined to represent the second prediction residual value as the inter-frame residual coefficient, the attribute information of the target layer node is determined based on the inter-frame transform coefficient of the target layer node and the second prediction residual value.
15. The method according to claim 14, characterized in that, When the data type of the reference frame data of the point cloud to be decoded is a first data type, determining the attribute information of the nodes in the target layer based on the inter-frame transform coefficients of the nodes in the target layer and the second prediction residual value includes: Determine the inter-frame prediction values of the attribute information of the nodes in the target layer, and perform transformation processing on the inter-frame prediction values to obtain inter-frame transformation coefficients; The attribute information of the nodes in the target layer is determined based on the inter-frame transform coefficients and the second prediction residual value.
16. The method according to claim 15, characterized in that, Before determining the inter-frame prediction values of the attribute information of the nodes in the target layer, the method further includes: The points in the reference frame corresponding to the point cloud to be decoded are reconstructed. A prediction tree is constructed based on the reconstructed reference frame, and the tree structure of the prediction tree is the same as that of the transformation tree. The step of determining the inter-frame prediction values of the attribute information of the nodes in the target layer includes: Inter-frame prediction values of the attribute information of the nodes in the target layer are determined based on the prediction tree and the transformation tree.
17. The method according to claim 15, characterized in that, The reference frame data of the first data type is the decoded and reconstructed point cloud frame data.
18. The method according to claim 14, characterized in that, When the data type of the reference frame data of the point cloud to be decoded is the second data type, determining the attribute information of the nodes in the target layer based on the inter-frame transform coefficients of the nodes in the target layer and the second prediction residual value includes: If it is determined that there is a transformation coefficient of a reference node in the reference frame of the point cloud to be decoded that has the same position as the node of the target layer, then the transformation coefficient of the reference node with the same position is determined as the inter-frame transformation coefficient of the node's attribute information. The attribute information of the node is obtained based on the inter-frame transform coefficients of the second predicted residual value and the attribute information of the node.
19. The method according to claim 18, characterized in that, The reference frame data of the second data type is the reconstruction transform coefficient of the decoded point cloud frame.
20. The method according to claim 12, characterized in that, The bitstream of the point cloud to be decoded also includes a third encoding result, and the method further includes: The third encoding result is decoded to obtain at least one of the first preset distance and the second preset distance.
21. A point cloud encoding processing device, characterized in that, include: The first determining module is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be encoded. The second determining module is used to determine the target prediction residual value based on the target distance; The encoding module is used to encode the target prediction residual value to obtain a first encoding result; The bitstream of the point cloud to be encoded includes the first encoding result; When the target distance is less than or equal to a first preset distance, the target prediction residual value includes a first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes the second prediction residual value obtained by predicting the attribute information of the nodes in the target layer. When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
22. A point cloud decoding processing device, characterized in that, include: The determination module is used to determine the target distance between the target layer and the root node of the transformation tree corresponding to the point cloud to be decoded; The decoding module is used to decode the first encoding result in the bitstream of the point cloud to be decoded, and obtain the target prediction residual value. The acquisition module is used to acquire attribute information of the nodes in the target layer based on the target prediction residual value and the target distance; Wherein, when the target distance is less than or equal to the first preset distance, the target prediction residual value includes the first prediction residual value obtained by inter-frame prediction of the attribute information of the nodes in the target layer; When the target distance is greater than the first preset distance and less than or equal to the second preset distance, the target prediction residual value includes the second prediction residual value obtained by predicting the attribute information of the nodes in the target layer. When the target distance is greater than the second preset distance, the target prediction residual value includes a third prediction residual value obtained by intra-frame prediction of the attribute information of the nodes in the target layer.
23. A terminal, characterized in that, The method includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the point cloud encoding processing method as described in any one of claims 1 to 11; or, the program or instructions, when executed by the processor, implement the steps of the point cloud decoding processing method as described in any one of claims 12 to 20.
24. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the point cloud encoding processing method as described in any one of claims 1 to 11, or, when executed by a processor, implement the steps of the point cloud decoding processing method as described in any one of claims 12 to 20.