WO2024234159A1 - Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium - Google Patents
Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium Download PDFInfo
- Publication number
- WO2024234159A1 WO2024234159A1 PCT/CN2023/093959 CN2023093959W WO2024234159A1 WO 2024234159 A1 WO2024234159 A1 WO 2024234159A1 CN 2023093959 W CN2023093959 W CN 2023093959W WO 2024234159 A1 WO2024234159 A1 WO 2024234159A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- prediction
- node
- current
- radius
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the embodiments of the present application relate to point cloud encoding and decoding technology, and relate to but are not limited to a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium.
- the value of the first pair of radius and azimuth in the prediction list needs to be determined based on the radius and azimuth of the previous encoded node of the current node to be encoded. Due to the encoding order of multiple laser beams in the point cloud, when encoding the second node on the current laser beam, its previous encoded node is the last node on the previous encoded laser beam. In other words, it is necessary to wait until the encoding of the node on the previous laser beam is completed before the second node and subsequent nodes on the current laser beam can be encoded. The same is true on the decoding side.
- the embodiments of the present application provide a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium, which can improve the encoding and decoding efficiency and thus improve the encoding and decoding performance.
- the present application provides a decoding method, including:
- an intra-frame prediction value corresponding to the current node is determined.
- the present application provides an encoding method, including:
- the present application provides a decoding method, including:
- an intra-frame prediction value corresponding to the current node is determined.
- the present application provides an encoding method, including:
- the present application provides a decoder, including:
- a first parsing part is configured to parse the bitstream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node;
- a first determining part is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
- the first prediction part is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the present application provides an encoder, including:
- a first construction part is configured to determine a prediction tree corresponding to the point cloud
- a second determining part is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
- a second prediction part is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
- the first encoding part is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
- the present application provides a decoder, including:
- the second parsing part is configured to parse the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
- a third determining part is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
- the third prediction part is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the present application provides an encoder, including:
- a second construction part is configured to determine a prediction tree corresponding to the point cloud
- a fourth determining part is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
- a fourth prediction part is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
- the second encoding part is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
- the present application provides a decoder, including:
- the first memory stores a computer program that can be run on the first processor, and when the first processor executes the program, the decoding method provided in the embodiment of the present application is implemented.
- the present application provides an encoder, including:
- the second memory stores a computer program that can be run on the second processor, and when the second processor executes the program, the encoding method provided in the embodiment of the present application is implemented.
- An embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes geometric information encoding corresponding to a current node in a point cloud; the geometric information encoding is determined based on at least one intra-frame prediction value; the at least one intra-frame prediction value is determined by predicting the current node based on the current prediction list; the current prediction list is determined based on the number of child nodes of the parent node of the current node in the prediction tree.
- An embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes geometric information encoding corresponding to a current node in a point cloud; the geometric information encoding is determined based on at least one intra-frame prediction value; the at least one intra-frame prediction value is determined by predicting the current node based on the current prediction list; the current prediction list is determined based on the position of the parent node of the current node in the prediction tree.
- An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon.
- the decoding method provided by the embodiment of the present application is implemented; or, when the computer program is executed by a second processor, the encoding method provided by the embodiment of the present application is implemented.
- the embodiment of the present application provides a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium.
- the current prediction list corresponding to the current node is determined according to the number of child nodes of the parent node of the current node in the prediction tree, and then the intra-frame prediction value corresponding to the current node is determined based on the prediction index of the current node parsed in the code stream and the current prediction list.
- each laser beam in the point cloud can be decoded independently, and the decoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
- FIG1 is a flow chart of G-PCC geometric coding
- FIG2 is a schematic diagram of an optional structure of a prediction tree provided in an embodiment of the present application.
- FIG3 is a flow chart of G-PCC geometric decoding
- FIG4 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application.
- FIG5 is a schematic diagram of an optional process of updating a prediction list provided in an embodiment of the present application.
- FIG6 is a schematic diagram of an optional process of updating a prediction list provided in an embodiment of the present application.
- FIG7 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application.
- FIG8 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application.
- FIG9 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application.
- FIG10 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application.
- FIG11 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application.
- FIG12 is a schematic diagram of an independent prediction list corresponding to each laser beam in a prediction tree provided in an embodiment of the present application.
- FIG13 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application.
- FIG14 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
- FIG15 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application.
- FIG16 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
- FIG17 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application.
- FIG. 18 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
- first ⁇ second ⁇ third involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that “first ⁇ second ⁇ third” can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
- 3D point cloud has become a new generation of immersive multimedia after audio, image and video, and is widely used in applications such as virtual reality, augmented reality, autonomous driving and environmental modeling.
- point cloud usually has a large amount of data, which is not conducive to its transmission and storage, so it is necessary to efficiently encode and decode the point cloud.
- Point cloud compression algorithms include two schemes developed by the International Moving Picture Experts Group (MPEG), namely Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC).
- MPEG Motion Picture Experts Group
- V-PCC Video-based Point Cloud Compression
- G-PCC Geometry-based Point Cloud Compression
- the geometry compression in G-PCC is mainly implemented through the octree model and/or the triangle surface model.
- V-PCC is mainly implemented through 3D to 2D projection and video compression.
- the first node of each remaining laser beam has the first node of its previous laser beam as the parent node.
- the encoder (decoder) first encodes (decodes) the head node of each laser beam according to the prediction tree formed by each laser beam in the point cloud, and then encodes and decodes the non-head nodes on each laser beam in a depth-first order.
- the encoder (decoder) encodes (decodes) the point on the i-th laser beam and encodes (decodes) the second node on the i-1th laser beam
- its previous encoded (decoded) node is the last node on the i-th laser beam.
- the values of the first pair of radius and azimuth in the prediction list are the radius and azimuth of the previous encoded (decoded) node of the current node to be encoded (decoded).
- the context for encoding interFlag needs to be determined based on the interFlag of the previous five encoded (decoded) points, and the inter-frame prediction point also needs to be found in the reference frame through the previous encoded (decoded) node of the point to be encoded (decoded).
- the context information for the symbol encoding (decoding) of the azimuth and radius prediction residuals also needs to be determined based on the previous encoded (decoded) node.
- the present invention provides a coding method, a decoder, an encoder and a computer-readable storage medium, which can improve the coding and decoding Efficiency, improve encoding and decoding performance.
- a flow chart of G-PCC geometric encoding and a flow chart of G-PCC geometric decoding are first provided. It should be noted that the flow chart of G-PCC geometric encoding and the flow chart of G-PCC geometric decoding described in the embodiment of the present application are only for more clearly illustrating the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application.
- the point cloud compressed in the embodiment of the present application can be a point cloud in a video, but is not limited to this.
- the point cloud of the input 3D image model is sliced and each slice is encoded independently.
- the flowchart of G-PCC geometric coding as shown in Figure 1 is applied to the encoder.
- the point cloud data is first divided into multiple slices by strip division.
- the geometric information and attribute information of the point cloud are encoded separately.
- the geometric information is transformed so that all the point clouds are contained in a bounding box, and then quantized.
- Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same. It can be decided whether to remove duplicate points based on parameters.
- the process of quantization and removal of duplicate points is also called voxelization.
- the geometric coding of G-PCC can be divided into: octree-based geometric coding and prediction tree-based geometric coding.
- the input geometric information is first sorted.
- Common sorting methods include random order, Morton order, azimuth order, and radial distance order.
- the default sorting method of the current G-PCC standard test conditions is based on azimuth, that is, the points are sorted according to azimuth, radial distance, and pitch angle tangent value.
- the cylindrical coordinates of the input point cloud are calculated based on the Cartesian coordinates (x, y, z)
- r is the radial distance of the point, which can also be called the radius
- ⁇ is the elevation angle of the laser beam to which the point belongs.
- Sort by r, tan ⁇ First compare If the size If they are the same, then r is compared. If r is the same, then tan ⁇ is compared, and finally the entire point cloud is reordered.
- the prediction tree geometry coding can be divided into an azimuth-based geometry prediction coding scheme and a KD-tree-based geometry prediction coding scheme.
- the encoder when building the prediction tree, the encoder first converts the input point cloud from Cartesian coordinates (x, y, z) to cylindrical coordinates Then each point in the input point cloud is divided into different laser beams according to its pitch angle.
- the laser beam can also be regarded as a line in the prediction tree. Since the azimuth-based sorting method is used by default when sorting the input geometric information, the geometric information of the entire point cloud is arranged in order from small to large azimuth. In other words, for the i-th laser beam (i-th line), the first point visited is the point with the smallest azimuth among all the points belonging to the laser beam.
- the parent node of the points subsequently visited by the i-th beam is the first point in the same laser beam with a smaller azimuth than itself.
- the parent node of the first point of the i-th laser beam is the first point of the i-1-th laser beam.
- i is not less than 1.
- each node is predicted by selecting different prediction values in the prediction list.
- the prediction point is found in the previous encoded frame to predict each node.
- the prediction value with the minimum bit rate is selected as the prediction value of each node through rate-distortion optimization.
- the prediction residual is obtained by subtracting the true value of the node geometry information from the predicted value, and the prediction residual is quantized using the quantization parameter.
- the quantization parameter, the selected prediction value index, the prediction residual and other information are encoded.
- the flowchart of G-PCC decoding shown in Figure 3 is applied to the decoder.
- the decoder obtains a binary code stream and decodes the geometric bit stream (i.e., geometric code stream) in the binary code stream.
- the prediction tree-based geometric decoding for each node (point to be decoded) in the prediction tree, first decode the quantization coefficient and prediction index corresponding to each node, and uniquely determine the corresponding prediction value according to the prediction index; then decode the prediction residual of the geometric information, and dequantize it according to the quantization coefficient; then restore the initial geometric reconstruction information of the point to be decoded according to the prediction value and the dequantized prediction residual; then perform an inverse coordinate transformation on the obtained initial reconstructed geometric information to obtain the reconstructed geometric information. Reconstruct the geometric information based on each node to restore the three-dimensional image model of the point cloud data.
- the encoding method of the embodiment of the present application is mainly applied to the predictive encoding and arithmetic encoding process in the geometric information encoding process of G-PCC as shown in Figure 1; the decoding method of the embodiment of the present application is mainly applied to the arithmetic decoding and predictive decoding process of the geometric information decoding process of G-PCC as shown in Figure 3.
- the embodiment of the present application can be applied to both the encoder and the decoder, and can even be applied to both the encoder and the decoder at the same time, but the embodiment of the present application does not specifically limit this.
- the encoding method and decoding method of the embodiments of the present application can also be used in other point cloud encoding and decoding processes besides G-PCC.
- the "current node” specifically refers to the node currently to be encoded in the prediction tree; when applied to a decoder, the “current node” specifically refers to the node currently to be decoded in the prediction tree.
- Figure 4 is an optional flowchart of a decoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 4.
- the decoder parses the bitstream, and obtains the prediction tree corresponding to the point cloud to be decoded and the prediction index corresponding to the current node in the prediction tree from the bitstream.
- the nodes in the prediction tree are the points in the point cloud, and the prediction tree contains the positional relationship between the nodes. Its structure can be shown in Figure 2, which will not be repeated here.
- S102 Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree.
- the parent node of the current node can be determined according to the position relationship of the nodes in the prediction tree.
- the decoder determines the current prediction list corresponding to the current node based on the number of child nodes of the parent node in the prediction tree.
- the decoder can use the method of initializing the prediction list to determine the preset prediction list as the current prediction list. In this way, the decoding of the current node does not need to wait until the previous laser beam decodes the last node before starting, which can effectively reduce the decoding delay.
- the preset child node number threshold may be set according to the number of child nodes corresponding to the head node in the prediction tree.
- the preset child node number threshold may be 2.
- the decoder may determine that the preset prediction list is the prediction list corresponding to the current node.
- the decoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node, that is, the reconstruction information of the parent node, and determines the current prediction list.
- the current node when the current node does not have a parent node, it indicates that the current node is the root node of the prediction tree.
- the decoder also determines that the preset prediction list is the current prediction list.
- S103 Determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the prediction index corresponds to a unique prediction value in at least one pair of prediction values in the current prediction list.
- the decoder can determine the intra-frame prediction value corresponding to the current node based on the prediction value corresponding to the prediction index in the current prediction list.
- the decoder determines the intra-frame prediction value corresponding to the current node based on the number of decoded head nodes in the point cloud, the prediction index and the current prediction list. In this case, the current prediction list is the preset prediction list.
- the decoder can determine the current beam prediction value according to the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the decoder can determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value based on the prediction value corresponding to the prediction index in the current prediction list.
- the current prediction list is a preset prediction list, which includes at least one pair of prediction values
- the predicted value of point P is in, are the radius prediction value and azimuth prediction value corresponding to the prediction index j in the current prediction list, that is, the current prediction radius prediction value and the current azimuth prediction value; i is the number of encoded head nodes, and the initial value is 0. i is used as the current beam prediction value.
- the case where the current node has node is similar to the above example and will not be repeated here.
- the decoder can determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node of the current node, the prediction index, and the current prediction list.
- the number of child nodes of a parent node when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, it indicates that the current node and the parent node belong to the same laser beam, and neither the current node nor the parent node is a head node.
- the reconstruction information, prediction index and current prediction list are used to determine the intra-frame prediction value corresponding to the current node.
- the decoder determines the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node.
- the reconstruction information of the parent node includes: the parent node radius reconstruction value, the parent node azimuth reconstruction value, and the parent node beam index reconstruction value.
- the decoder determines the parent node radius reconstruction value as the current radius prediction value; determines the parent node azimuth reconstruction value as the current azimuth prediction value; determines the parent node beam index reconstruction value as the current beam prediction value, thereby determining the intra-frame prediction value corresponding to the current node.
- the decoder determines the current radius prediction value according to the radius prediction value in the nth pair of prediction values; n is an integer greater than 1; the current azimuth prediction value is determined according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value, and the preset azimuth sampling interval; the current beam prediction value is determined according to the parent node beam index reconstruction value.
- the decoder determines the intra-frame prediction value corresponding to the current node according to the radius prediction value, azimuth prediction value, and laser beam prediction value corresponding to the current node.
- the intra-frame prediction value of point P can be where r 0 , and i 0 are respectively the current radius prediction value, the current azimuth prediction value and the current beam prediction value, r 0 , and i 0 are determined by the parent node radius reconstruction value, parent node azimuth reconstruction value and parent node beam index reconstruction value of the parent node of point P, respectively.
- the intra-frame prediction value of point P can be Among them, rj is the current radius prediction value, is the current azimuth prediction value, i 0 is the current beam prediction value . are respectively the radius prediction value and the azimuth prediction value in the jth pair of prediction values in the current prediction list, is the azimuth sampling interval.
- the example where the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0 is similar to the above example and will not be repeated here.
- the decoder when the decoder performs the code stream parsing process of S101, it can also parse the code stream to obtain the quantization coefficient and the prediction residual.
- the decoder uses the quantization coefficient to dequantize the prediction residual, and when the current node uses intra-frame prediction coding, the geometric reconstruction information of the current node is restored according to the intra-frame prediction value corresponding to the current node and the dequantized prediction residual, and then the final reconstructed geometric information of the current node is obtained by performing inverse coordinate transformation and other processing on the geometric reconstruction information.
- the decoder can determine the prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be decoded independently.
- the decoding of different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
- the prediction list includes at least one pair of prediction values, each pair of prediction values includes a radius prediction value and an azimuth prediction value. That is, the prediction list includes: at least one radius prediction value and at least one azimuth prediction value.
- the preset prediction list can be determined by S201 or S202:
- the minimum radius or maximum radius of the cylindrical coordinates of the midpoint of the point cloud to be decoded can be used to initialize at least one radius prediction value in the prediction list; and/or, at least one azimuth prediction value can be initialized using a preset minimum azimuth or azimuth median value, thereby obtaining a preset prediction list.
- the minimum radius may be r min , and the maximum radius may be r max ; the minimum azimuth angle may be preset can be -180 ° , and the preset azimuth median value can be 0.
- the preset prediction list can include: (r min ,0), (r max ,0), One or more of. The specific selection is made according to the actual situation, and the embodiment of the present application is not limited. It should be noted that after initialization, at least one pair of prediction values included in the preset prediction list can be the same or different.
- At least one radius prediction value in the preset prediction list is determined in an incremental manner for initialization.
- the decoder can set a phased initial prediction value for each radius prediction value in the prediction list based on the minimum radius value according to the geometric accuracy of the point cloud sequence to obtain a preset prediction list.
- the geometric accuracy of the Ford sequence in the G-PCC standard rotating lidar data set is 18 bits
- the prediction list is initialized by a preset minimum radius or a maximum radius; and/or the prediction list is initialized by a preset minimum azimuth or a preset median azimuth to obtain a preset prediction list, which is better than the current initialization.
- the radius prediction value and the azimuth prediction value in the preset list are initialized to 0, which can reduce the residual between the actual value of the node and the prediction value obtained according to the preset prediction list, thereby improving the encoding and decoding performance.
- the prediction list corresponding to the previous decoded node is updated based on the reconstruction information of the previous decoded node of the current node, and the process of determining the current prediction list can be implemented by the following process:
- the number of child nodes of the parent node of the current node P is less than the preset child node number threshold and greater than 0, illustratively, when the number of child nodes of the parent node of the current node P is equal to 1, if the absolute value of the radius residual of the previous decoded node is determined to be
- the decoder may also perform S401-S403 as shown in FIG. 7 as follows:
- S401 Determine a residual decoding context and/or an inter-frame flag decoding context corresponding to a current node based on the number of child nodes of a parent node.
- the decoder can determine the prediction residual coding and inter-frame prediction flag coding corresponding to the current node through the code stream parsing process in S101.
- the decoder determines the residual decoding context corresponding to the current node, so as to decode the prediction residual coding using the residual decoding context and determine the prediction residual corresponding to the current node.
- the decoder determines the inter-frame flag decoding context corresponding to the current node, so as to decode the inter-frame prediction flag coding using the inter-frame flag decoding context and determine the inter-frame prediction flag corresponding to the current node.
- the embodiment of the present application provides a method for determining the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node.
- the method provided by the embodiment of the present application can be used to determine the residual decoding context and inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node.
- the method provided by the embodiment of the present application can also be used to determine any one of the residual decoding context and inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node, and then determine the other of the residual decoding context and inter-frame flag decoding context in combination with the current decoding method.
- the specific selection is made according to the actual situation, and the embodiment of the present application is not limited.
- the prediction residual includes: an azimuth prediction residual; accordingly, the residual decoding context includes: an azimuth residual context.
- the prediction residual includes: a radius prediction residual; accordingly, the residual decoding context includes: a radius residual context.
- the decoder determines the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the decoder determines the azimuth context index as the preset fourth index value, and determines the azimuth residual context corresponding to the current node based on the azimuth context index.
- the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, which reduces the inter-line dependency and improves the decoding efficiency and decoding performance.
- the azimuth context index may be _resPhiOldSign
- the preset fourth index value may be 3. If the number of child nodes of the parent node of the current node P is 2, the decoder initializes _resPhiOldSign corresponding to point P to 3, and determines the azimuth residual context based on _resPhiOldSign.
- the G-PCC may include a 2x5 first preset context list
- the decoder determines the azimuth residual context used for decoding the azimuth residual in the first preset context list according to the azimuth context index _resPhiOldSign.
- ctx sign ctxTab[ctxL][interFlag? 4:_resPhiOldSign]
- ctxL interFlag? (refNodeIdx>1?1:0):I previous (2)
- ctxTab represents the first preset context list
- interFlag is the inter-frame prediction flag, which is a Boolean value, indicating whether the current node uses inter-frame prediction
- refNodeIdx indicates which inter-frame prediction point is used when the current node uses inter-frame prediction
- I previous is a Boolean value indicating whether the selected prediction value is a parent node.
- the decoder determines the azimuth context index as the preset fourth index value, and then determines the azimuth residual context corresponding to the current node based on the azimuth context index.
- the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, which reduces the inter-line dependency and improves the decoding efficiency and decoding performance.
- the decoder determines the azimuth residual context corresponding to the current node based on a previous decoded node of the current node.
- the previous decoded node of the current node is the parent node.
- the decoder determines the azimuth context index based on the previous decoded node of the current node; and determines the azimuth residual context corresponding to the current node based on the azimuth context index.
- determining the azimuth context index based on the previous decoded node of the current node includes the following process:
- the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to a preset sign threshold, determining the azimuth context index based on a preset second index value;
- the azimuth context index is determined based on a preset third index value; m is a positive integer not less than 1;
- the azimuth context index is determined based on a preset fourth index value.
- the decoder may also determine the azimuth context index based on the parent node of the current node; and determine the azimuth residual context based on the azimuth context index.
- the parent node of the current node is the previous decoded node of the current node
- the process of the decoder determining the azimuth context index based on the parent node of the current node is consistent with the above-mentioned process description of determining the azimuth context index based on the previous decoded node of the current node, and will not be repeated here.
- the decoder may also determine the azimuth residual context corresponding to the current node based on a preset fourth index value.
- the specific process is consistent with the above-mentioned same process description, and will not be repeated here.
- the decoder determines the azimuth residual decoding context based on the number of child nodes of the parent node, thereby determining the context of the residual decoding of the current node without relying on the decoding information of the previous decoded node, reducing inter-line dependence and improving decoding efficiency and decoding performance.
- the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold; and determines the radius residual context corresponding to the current node based on at least one of the first radius context index, the second radius context index, and the third radius context index.
- the first radius context index is used to indicate whether the previous decoded point adopts inter-frame prediction; the second radius context index is used to indicate whether the previous decoded point adopts inter-frame prediction;
- the radius context index is used to indicate whether the azimuth sampling interval of the previous decoded point is equal to zero; the third radius context index is used to indicate whether the sign of the azimuth residual of the previous point is less than 0.
- the first radius context index may be prevInterFlag
- the second radius context index may be I penulm
- the third radius context index may be S res,prec .
- prevInterFlag, I penulm and S res,prec are all Boolean values, and the initial value is false.
- the preset first flag value may be false, that is, 0.
- the decoder sets at least one of prevInterFlag, I penulm , and S res,prec corresponding to point P to false, and determines the radius residual context corresponding to the current node based on at least one of prevInterFlag, I penulm , and S res,prec .
- I last is a Boolean value used to indicate whether the azimuth sampling interval of the current node is equal to zero.
- the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index based on the previous decoded node of the current node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determines the radius residual context corresponding to the current node.
- the process of the decoder determining at least one of the first radius context index, the second radius context index, and the third radius context index according to a decoded node before the current node may include:
- the first radius context index is determined according to whether the previous decoded node adopts inter-frame prediction; the second radius context index is determined according to whether the azimuth sampling interval of the previous decoded node is zero; the third radius context index is determined according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
- prevInterFlag is updated according to whether the previous decoded point, that is, the parent node of point P, adopts inter-frame prediction.
- S res,prec is updated according to the sign of the radius residual of the previous decoded point.
- the decoder may also determine at least one of the first radius context index, the second radius context index, and the third radius context index based on the parent node of the current node; and determine the radius residual context corresponding to the current node based on at least one of the first radius context index, the second radius context index, and the third radius context index.
- the parent node of the current node is equivalent to the previous decoded node of the current node
- the process by which the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index based on the parent node of the current node is consistent with the process description of the decoder determining at least one of the first radius context index, the second radius context index, and the third radius context index based on the previous decoded node of the current node, and will not be repeated here.
- the decoder may also determine at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node.
- the specific process is consistent with the above-mentioned same process description and will not be repeated here.
- the decoder determines the radius residual decoding context based on the number of child nodes of the parent node, thereby determining the context of the residual decoding of the current node without relying on the decoding information of the previous decoded node, reducing inter-line dependencies and improving decoding efficiency and decoding performance.
- the decoder determines the preset initial value as the inter-frame flag decoding context corresponding to the current node.
- the inter-frame flag decoding context may be interFlagBuffer. If the number of child nodes of the parent node of the current node P is 2, the interFlagBuffer of point P is initially 0.
- the value of the inter-frame prediction flag of at least one decoded node before the current node is determined as the inter-frame flag decoding context corresponding to the current node.
- the decoder may set a buffer (interFlagBuffer) for storing the inter-frame prediction flags (interFlag) of the five decoded nodes before the current node. If the number of child nodes of the parent node of the current node P is 1, the interFlagBuffer of point P stores the interFlag values of the first five decoded points.
- interFlagBuffer inter-frame prediction flags
- the decoder may also determine the preset initial value as the inter-frame flag decoding context corresponding to the current node.
- decode the prediction residual encoding corresponding to the current node and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag encoding corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node.
- the decoder determines the residual decoding context based on the above process and uses the residual decoding context to decode the prediction residual code to determine the prediction residual corresponding to the current node.
- the decoder determines the inter-frame flag decoding context and uses the inter-frame flag decoding context to decode the inter-frame prediction flag code to determine the inter-frame prediction flag corresponding to the current node. If the inter-frame prediction flag indicates that the current node does not use inter-frame prediction coding, it means that the prediction residual is the prediction residual corresponding to the intra-frame prediction value.
- the decoder recovers and reconstructs the geometric information based on the prediction residual and the intra-frame prediction value, and then determines the geometric prediction information corresponding to the current node.
- the inter-frame flag decoding context is determined based on the number of child nodes of the parent node, so that the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, thereby reducing inter-line dependence and improving decoding efficiency and decoding performance.
- S501-S502 may be included as follows:
- inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding
- inter-frame prediction is performed on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node.
- S502 Determine geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
- the decoder can perform inter-frame prediction on the current node based on the parent node of the current node to determine the inter-frame prediction value corresponding to the current node.
- the decoder determines an initial reference point on the same laser beam as the parent node and having the same azimuth as the parent node in the reference point cloud of the point cloud; determines a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuth is greater than that of the initial reference point; and determines an inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
- the reference point cloud is a reference point cloud after global motion compensation.
- the current node P on the i-th line (i-th laser beam) in the prediction tree first determine the parent node (ParDecP0) of point P; in the i-th line in the prediction tree of the reference point cloud after global motion compensation, determine the point with the same quantized azimuth as ParDecP0 as the initial reference point (GMCrefFrameP0); in the i-th line in the prediction tree of the reference point cloud after global motion compensation, determine the first point (GMCinterPredPt) with an azimuth greater than that of GMCrefFrameP0 as the first reference point, and then determine the first point (AdditionalGMC interPredPt) with an azimuth greater than that of GMC interPredPt as the second reference point, combine the first reference point and the second reference point with the original two inter-frame prediction candidate points for inter-frame prediction, and determine the inter-frame prediction value corresponding to the current node.
- Parent node ParDecP0
- the decoder when searching for reference points in inter-frame prediction, the decoder searches according to the parent node of the current node, which improves the search efficiency and search accuracy, thereby improving the efficiency and performance of inter-frame prediction, and further improving the decoding performance.
- Figure 9 is an optional flow chart of the encoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 9.
- S602 Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree.
- the encoder determines that the preset prediction list is the current prediction list.
- the encoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list.
- the encoder determines that the preset prediction list is the current prediction list. Test list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value.
- the encoder uses the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or uses the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list, thereby determining the preset prediction list.
- the encoder before determining that a preset prediction list is the current prediction list, determines at least one radius prediction value in the preset prediction list in an incremental manner according to the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud, thereby determining the preset prediction list.
- S603 Predict the current node based on the current prediction list to determine at least one intra-frame prediction value corresponding to the current node.
- the encoder predicts the current node based on at least one pair of prediction values in the current prediction list, thereby determining at least one intra-frame prediction value corresponding to the current node.
- the encoder determines at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list.
- the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
- the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
- the encoder determines at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list.
- the encoder determines a current beam prediction value based on the number of decoded head nodes in the point cloud; determines at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
- each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the above-mentioned determining, based on the number of encoded head nodes in the point cloud and the current prediction list, at least one intra-frame prediction value corresponding to the current node includes:
- determining at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list includes:
- For the first intra-frame prediction value among at least one intra-frame prediction value determine the current radius prediction value, current azimuth prediction value and current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, parent node azimuth reconstruction value and parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value among at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value.
- the prediction list corresponding to point P is the preset prediction list At least one predicted value of point P
- i is the number of encoded head nodes, that is, the number of nodes whose number of encoded child nodes is 2, and the initial value of i is 0.
- the current prediction list of point P is a preset prediction list, which contains at least one pair of prediction values
- the encoder reconstructs the value r 0 based on the radius of the parent node and the azimuth of the parent node Reconstruct the value i 0 with the parent node beam index to determine the first intra-frame prediction value Based on the nth pair of prediction values in the current prediction list, determine the nth intra prediction value Thus, at least one intra-frame prediction value is determined.
- j n-1.
- the encoder reconstructs the values r 0 , Parent node azimuth reconstruction value Reconstruct the value i 0 with the parent node beam index to determine the first intra-frame prediction value Based on the nth pair of prediction values in the current prediction list, determine the nth intra prediction value Thus, at least one intra-frame prediction value is determined.
- j n-1.
- S604 Determine the geometric information encoding corresponding to the current node based on at least one intra-frame prediction value.
- the encoder can determine the target intra-frame prediction value from at least one intra-frame prediction value according to the rate-distortion cost; and perform inter-frame prediction on the current node to determine the inter-frame prediction value corresponding to the current node; and determine the prediction value corresponding to the current node from the target intra-frame prediction value and the inter-frame prediction value according to the rate-distortion cost.
- the encoder determines the residual according to the true value and the prediction value of the current node, performs encoding based on the residual and the prediction value, and determines the geometric information encoding corresponding to the current node.
- the encoder determines the prediction index according to the prediction value corresponding to the target intra-frame prediction value in the current prediction list, encodes the prediction index and residual information, generates geometric information code and transmits it to the decoding end.
- the prediction list corresponding to the current node is determined based on the number of child nodes of the parent node in the prediction tree, so that each laser beam in the point cloud can be encoded independently, and the encoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding delay, improving the encoding efficiency, and thus improving the encoding performance.
- determining the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value includes:
- the prediction residual corresponding to the current node is encoded, and/or based on the inter-frame flag coding context, the inter-frame prediction flag corresponding to the current node is encoded, the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node are determined, and the geometric information coding is determined based on the prediction residual coding and/or inter-frame prediction flag coding.
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
- the azimuth residual context is determined based on a preset fourth index value.
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
- the azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
- the prediction residual comprises: an azimuth prediction residual;
- the residual coding context comprises: an azimuth residual context;
- the method further comprises:
- the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
- the determining, based on a previously encoded node of the current node, an azimuth residual context corresponding to the current node comprises:
- the previous coded node is inter-frame prediction coded and the inter-frame prediction point used for coding belongs to the first m candidate inter-frame prediction points corresponding to the previous coded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
- the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node, determining the azimuth context index based on a preset fourth index value;
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
- the azimuth residual context is determined.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
- a radius residual context corresponding to the current node is determined.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual decoding context corresponding to the current node includes:
- a radius residual context corresponding to the current node is determined.
- the prediction residual comprises: a radius prediction residual;
- the residual decoding context comprises: a radius residual context; the method further comprises:
- a radius residual context corresponding to the current node is determined.
- the determining, according to a previous encoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
- the third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
- a radius residual context corresponding to the current node is determined.
- determining the prediction residual corresponding to the current node based on the at least one intra-frame prediction value includes:
- a prediction residual corresponding to the current node is determined.
- performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
- an inter-frame prediction value corresponding to the current node is determined.
- determining the inter-frame flag coding context corresponding to the current node based on the number of child nodes of the parent node includes:
- a preset initial value is determined as the inter-frame flag coding context corresponding to the current node.
- the inter-frame flag bit decoding corresponding to the current node is determined. The following, including:
- the value of the inter-frame prediction flag of at least one encoded node before the current node is determined as the inter-frame flag coding context corresponding to the current node.
- the method further comprises:
- a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
- the encoding method in the encoder embodiment corresponds to the decoding method in the above decoder embodiment, and has similar beneficial effects as the decoding method embodiment.
- the description of the corresponding process in the decoder embodiment for understanding can be made to the description of the corresponding process in the decoder embodiment for understanding.
- the decoder parses the bit stream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node; the prediction tree includes at least one node on a laser beam.
- S702 Determine the current prediction list corresponding to the current node according to the position of the parent node of the current node in the prediction tree.
- the decoder can determine the current prediction list for performing intra-frame prediction on the current node according to the position of the parent node of the current node in the prediction tree.
- the decoder determines the preset prediction list as the current prediction list.
- the decoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list.
- the decoder determines the preset prediction list as the current prediction list.
- the parent node is the head node in the prediction tree, which is equivalent to the number of child nodes of the parent node in the S102 process being greater than or equal to the preset child node number threshold; the parent node is not the head node, which is equivalent to the number of child nodes of the parent node in the S102 process being less than the preset child node number threshold and greater than 0.
- S703 Determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the prediction list corresponding to the current node can be determined according to the position of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be decoded independently, and the decoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the method further includes:
- the preset azimuth minimum value or the preset azimuth median value is used as the azimuth prediction value in the preset prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the method further includes:
- At least one radius prediction value in the preset prediction list is determined in an incremental manner.
- determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
- an intra-frame prediction value corresponding to the current node is determined according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list.
- determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
- an intra-frame prediction value corresponding to the current node is determined based on the reconstruction information of the parent node, the prediction index and the current prediction list.
- determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
- the prediction index and the current prediction list determine the node corresponding to the current node. Intra-frame prediction value.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; and determining the intra-frame prediction value corresponding to the current node according to the number of decoded head nodes in the point cloud, the prediction index, and the current prediction list includes:
- the current radius prediction value and the current azimuth prediction value are determined according to the prediction value corresponding to the prediction index in the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the determining the geometric information prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index, and the current prediction list includes:
- the prediction index corresponds to the first pair of prediction values in the current prediction list, determining the current beam prediction value, the current radius prediction value, and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value, and the parent node azimuth reconstruction value in the reconstruction information of the parent node;
- the current beam prediction value is determined according to the parent node beam index reconstruction value.
- the method further comprises:
- the prediction residual code corresponding to the current node is decoded, and/or, based on the inter-frame flag decoding context, the inter-frame prediction flag code corresponding to the current node is decoded to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by bitstream parsing;
- inter-frame prediction flag indicates that the current node is not encoded using inter-frame prediction
- geometric prediction information corresponding to the current node is determined based on the prediction residual and the intra-frame prediction value.
- the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
- the azimuth residual context is determined based on a preset fourth index value.
- the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual decoding context corresponding to the current node includes:
- an azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
- the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; the method further includes:
- the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
- determining the azimuth residual context corresponding to the current node based on a previous decoded node of the current node includes:
- the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to the preset sign threshold, determining the azimuth context index based on a preset second index value;
- the previous decoded node is inter-frame prediction decoding
- the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
- the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node, based on the preset fourth index value azimuth context index;
- the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; the method further includes:
- the azimuth residual context is determined.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
- the parent node is a head node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
- a radius residual context corresponding to the current node is determined.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
- a radius residual context corresponding to the current node is determined.
- the prediction residual comprises: a radius prediction residual;
- the residual decoding context comprises: a radius residual context; the method further comprises:
- a radius residual context corresponding to the current node is determined.
- the determining, according to a previous decoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
- the third radius context index is determined according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
- the prediction residual comprises: a radius prediction residual;
- the residual decoding context comprises: a radius residual context; the method further comprises:
- the parent node is a head node and the current node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node;
- a radius residual context corresponding to the current node is determined.
- the method further comprises:
- inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding
- inter-frame prediction is performed on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node
- geometric prediction information corresponding to the current node is determined.
- performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
- an inter-frame prediction value corresponding to the current node is determined.
- determining the inter-frame flag decoding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
- the preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
- bit decoding context including:
- the value of the inter-frame prediction flag of at least one decoded node before the current node is determined as the inter-frame flag decoding context corresponding to the current node.
- the method further comprises:
- a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
- the above embodiment uses the position of the parent node of the current node in the prediction tree as a judgment condition to determine the residual decoding context and/or the inter-frame flag decoding context.
- the parent node is the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being greater than or equal to the preset child node number threshold.
- the parent node is not the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being less than the preset child node number threshold and greater than 0.
- the parent node is the head node, and the current node is not the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
- S401 the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
- Figure 11 is an optional flow chart of the encoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 11.
- S802 Determine the current prediction list corresponding to the current node according to the position of the parent node of the current node in the prediction tree.
- the encoder determines the preset prediction list as the current prediction list.
- the encoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list.
- the encoder determines the preset prediction list as the current prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, the encoder uses the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, uses the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list, thereby determining the preset prediction list.
- the encoder determines at least one radius prediction value in a preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and the minimum radius corresponding to the point cloud, and then determines the preset prediction list based on the at least one radius prediction value.
- S803 Predict the current node based on the current prediction list to determine at least one intra-frame prediction value corresponding to the current node.
- At least one intra-frame prediction value corresponding to the current node is determined according to the number of encoded head nodes in the point cloud and the current prediction list.
- At least one intra-frame prediction value corresponding to the current node is determined based on reconstruction information of the parent node and a current prediction list.
- the encoder determines at least one intra-frame prediction value corresponding to the current node according to the number of encoded head nodes in the point cloud and the current prediction list.
- the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
- each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the above-mentioned determining, based on the number of encoded head nodes in the point cloud and the current prediction list, at least one intra-frame prediction value corresponding to the current node includes:
- determining at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list includes:
- n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current light beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value, thereby determining at least one intra-frame prediction value.
- the prediction list corresponding to the current node is determined according to the position of the parent node in the prediction tree, so that each laser beam in the point cloud can be encoded independently, and the encoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding delay, improving the encoding efficiency, and thus improving the encoding performance.
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- the azimuth residual context is determined based on a preset fourth index value.
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- an azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
- the prediction residual comprises: an azimuth prediction residual;
- the residual coding context comprises: an azimuth residual context;
- the method further comprises:
- the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
- the determining the azimuth residual context corresponding to the current node based on a previous encoded node of the current node comprises:
- the previous coded node is inter-frame prediction coded and the inter-frame prediction point used for coding belongs to the first m candidate inter-frame prediction points corresponding to the previous coded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
- the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node, determining the azimuth context index based on a preset fourth index value;
- the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- the azimuth residual context is determined.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- the parent node is a head node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
- a radius residual context corresponding to the current node is determined.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- a radius residual context corresponding to the current node is determined.
- the prediction residual comprises: a radius prediction residual; the residual coding context comprises: a radius residual context; the method further comprises:
- a radius residual context corresponding to the current node is determined.
- the determining, according to a previous encoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
- the third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
- the parent node is a head node and the current node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node;
- a radius residual context corresponding to the current node is determined.
- the determining, based on the at least one intra-frame prediction value, a prediction residual corresponding to the current node comprises:
- a prediction residual corresponding to the current node is determined.
- the performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
- an inter-frame prediction value corresponding to the current node is determined.
- determining the inter-frame flag coding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
- a preset initial value is determined as the inter-frame flag coding context corresponding to the current node.
- determining the inter-frame flag coding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
- the value of the inter-frame prediction flag of at least one coded node before the current node is determined as the inter-frame flag coding context corresponding to the current node.
- the method further comprises:
- a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
- the above embodiment uses the position of the parent node of the current node in the prediction tree as a judgment condition to determine the residual decoding context and/or the inter-frame flag decoding context.
- the parent node is a head node, which is equivalent to the number of child nodes of the parent node in the above encoder embodiment being greater than or equal to the preset child node number threshold.
- the parent node is not a head node, which is equivalent to the number of child nodes of the parent node in the above encoder embodiment being less than the preset child node number threshold and greater than 0.
- the parent node is a head node, and the current node is not a head node.
- Node which is equivalent to the number of child nodes of the parent node in the aforementioned encoder embodiment is greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
- FIG. 12 contains a prediction tree consisting of 4 laser beams.
- the encoder when encoding (decoding) the head node of each laser beam in the prediction tree, the encoder (decoder) will initialize a preset prediction list as the preset prediction list of the laser beam.
- each laser beam in the prediction tree has its own prediction list, which is independent of each other.
- the second node on each laser beam does not need to rely on the information of the previous encoded (decoded) node to determine the prediction list, but uses the preset prediction list or the information of its parent node to determine the prediction list. In this way, parallel encoding and decoding between each laser beam is achieved, which greatly improves the encoding and decoding efficiency and encoding and decoding performance.
- the point cloud coding method of the embodiment of the present application on the basis of greatly improving the coding efficiency, is also very close to the performance of geometric information prediction coding of the point cloud test sequence compared with the current coding method, with almost no loss, thus bringing better overall coding performance.
- the embodiment of the present application provides a decoder 1, as shown in FIG13, comprising:
- a first parsing part 10 is configured to parse the code stream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node;
- a first determining part 11 is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
- the first prediction part 12 is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the first determining part 11 is further configured to determine a preset prediction list as the current prediction list when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the first determination part 11 is also configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- a preset prediction list is determined to be the current prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the first determination part 11 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, to use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the first determination part 11 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
- the first prediction part 12 is further configured to: In the case of the preset child node number threshold, the intra-frame prediction value corresponding to the current node is determined according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list.
- the first prediction part 12 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list when the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
- the first prediction part 12 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the first prediction part 12 is further configured to determine the current beam prediction value according to the number of decoded head nodes in the point cloud; determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the first prediction part 12 is also configured to determine the current beam prediction value, the current radius prediction value and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value and the parent node azimuth reconstruction value in the reconstruction information of the parent node when the prediction index corresponds to the first pair of prediction values in the current prediction list; determine the current radius prediction value according to the radius prediction value in the nth pair of prediction values when the prediction index corresponds to the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and a preset azimuth sampling interval; determine the current beam prediction value according to the parent node beam index reconstruction value.
- the decoder 1 also includes a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node; based on the residual decoding context, decode the prediction residual code corresponding to the current node, and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag code corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by parsing the code stream; when the inter-frame prediction flag indicates that the current node does not adopt inter-frame prediction coding, determine the geometric prediction information corresponding to the current node based on the prediction residual and the intra-frame prediction value.
- a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
- the first arithmetic decoding part is further configured to determine the azimuth context index based on a preset first index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold;
- the azimuth context index is determined based on the preset second index value; when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on the preset third index value; m is a positive integer not less than 1; when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on the preset fourth index value; based on the azimuth context index, the azimuth residual context corresponding to the current node is determined.
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth context index based on the parent node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; determine the azimuth residual context based on the azimuth context index.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context Below; the first arithmetic decoding part is also configured to determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to determine at least one of a first radius context index, a second radius context index and a third radius context index according to a previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the first arithmetic decoding part is further configured to determine the first radius context index according to whether the previous decoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous decoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, determine at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node.
- the first prediction part 12 is further configured to, when the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; and determine the geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
- the first prediction part 12 is further configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud with azimuths greater than that of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
- the first arithmetic decoding part is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the first arithmetic decoding part is also configured to determine the value of the inter-frame prediction flag of at least one decoded node before the current node as the inter-frame flag decoding context corresponding to the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- the first arithmetic decoding part is further configured to determine a preset initial value as an inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
- the embodiment of the present application provides an encoder 2, as shown in FIG14 , including:
- a first construction part 20 is configured to determine a prediction tree corresponding to the point cloud
- a second determining part 21 is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
- a second prediction part 22 is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
- the first encoding part 23 is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
- the second determining part 21 is further configured to determine a preset prediction list as the current prediction list when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the second determination part 21 is further configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- the second determining part 21 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value; the second determination part 21 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the second determination part 21 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
- the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list when the number of child nodes of the current node is greater than or equal to the preset child node number threshold.
- the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list when the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
- the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
- each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the second prediction part 22 is also configured to determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
- each intra-frame prediction value of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the second prediction part 22 is also configured to determine, for the first intra-frame prediction value of the at least one intra-frame prediction value, the current radius prediction value, the current azimuth prediction value and the current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, the parent node azimuth reconstruction value and the parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value of the at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the
- the first encoding part 23 is further configured to determine the prediction residual corresponding to the current node based on the at least one intra-frame prediction value; determine the residual coding context and/or inter-frame flag coding context corresponding to the current node based on the number of child nodes of the parent node; encode the prediction residual corresponding to the current node based on the residual coding context, and/or, based on the inter-frame flag coding context, encode the inter-frame prediction flag corresponding to the current node, determine the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node, and determine the geometric information coding based on the prediction residual coding and/or inter-frame prediction flag coding.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
- the first encoding part 23 is further configured to determine the azimuth context index based on a preset first index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is less than or equal to the preset sign threshold; In the case where the previous encoded node is inter-frame prediction coded, and the inter-frame prediction point used for encoding belongs to the first m candidate inter-frame prediction points corresponding to the previous encoded node, the azimuth context index is determined based on a preset third index value; m is a positive integer not less than 1; in the case where the previous encoded node is inter-frame prediction coded, and the inter-frame prediction point used for encoding does not belong to the first m
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth context index based on the parent node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; determine the azimuth residual context based on the azimuth context index.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the first encoding part 23 is also configured to, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first encoding part 23 is also configured to, when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, determine at least one of a first radius context index, a second radius context index and a third radius context index according to the previous encoded node of the current node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first encoding part 23 is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the first encoding part 23 is further configured to determine at least one of the first radius context index, the second radius context index and the third radius context index according to a previous encoded node of the current node, including at least one of the following:
- the third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the first encoding part 23 is also configured to determine, based on the parent node, at least one of a first radius context index, a second radius context index, and a third radius context index when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the upper and lower radius residuals corresponding to the current node.
- the second prediction part 22 is further configured to perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; determine the geometric prediction information of the current node based on the rate-distortion cost of the at least one intra-frame prediction value and the inter-frame prediction value; and determine the prediction residual corresponding to the current node based on the geometric prediction information.
- the second prediction part 22 is further configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine, on the same laser beam of the reference point cloud, a first reference point and a second reference point with azimuths greater than that of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
- the first encoding part 23 is further configured to determine a preset initial value as the inter-frame flag coding context corresponding to the current node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
- the first encoding part 23 is also configured to determine the value of the inter-frame prediction flag of at least one encoded node before the current node as the inter-frame flag encoding context corresponding to the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
- the first encoding part 23 is further configured to, when the current node does not have a parent node, The preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
- the embodiment of the present application provides a decoder 3, as shown in FIG15 , including:
- the second parsing part 30 is configured to parse the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
- a third determining part 31 is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
- the third prediction part 32 is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
- the third determining part 31 is further configured to determine a preset prediction list as the current prediction list when the parent node is a head node.
- the third determination part 31 is also configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list when the parent node is not the head node in the prediction tree.
- the third determining part 31 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the third determination part 31 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, to use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the third determination part 31 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
- the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list when the current node is a head node.
- the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list when the current node is not a head node.
- the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the third prediction part 32 is also configured to determine the current beam prediction value according to the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
- the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the third prediction part 32 is also configured to determine the current beam prediction value, the current radius prediction value and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value and the parent node azimuth reconstruction value in the reconstruction information of the parent node when the prediction index corresponds to the first pair of prediction values in the current prediction list; determine the current radius prediction value according to the radius prediction value in the nth pair of prediction values when the prediction index corresponds to the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and a preset azimuth sampling interval; determine the current beam prediction value according to the parent node beam index reconstruction value.
- the decoder 3 also includes a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the position of the parent node in the prediction tree; based on the residual decoding context, decode the prediction residual code corresponding to the current node, and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag code corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by parsing the code stream; when the inter-frame prediction flag indicates that the current node does not adopt inter-frame prediction coding, determine the geometric prediction information corresponding to the current node based on the prediction residual and the intra-frame prediction value.
- a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context based on a preset fourth index value when the parent node is a head node.
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the parent node is not a head node.
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
- the second arithmetic decoding part is further configured to determine the azimuth context index based on a preset first index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to the preset symbol threshold; determine the azimuth context index based on a preset third index value when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node; m is a positive integer not less than 1; determine the azimuth context index based on a preset fourth index value when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction
- the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth context index based on the parent node when the parent node is a head node and the current node is not a head node; and determine the azimuth residual context based on the azimuth context index.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the parent node is a head node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to determine, when the parent node is not a head node, at least one of a first radius context index, a second radius context index, and a third radius context index based on a previous decoded node of the current node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the second arithmetic decoding part is further configured to determine the first radius context index according to whether the previous decoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous decoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the parent node is a head node and the current node is not a head node, determine at least one of a first radius context index, a second radius context index and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the third prediction part 32 is also configured to, when the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; and determine the geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
- the third prediction part 32 is also configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuths are greater than the azimuth of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
- the second arithmetic decoding part is further configured to, when the parent node is a head node, Assume that the initial value is determined to be the inter-frame flag decoding context corresponding to the current node.
- the second arithmetic decoding part is further configured to determine the value of the inter-frame prediction flag of at least one decoded node before the current node as the inter-frame flag decoding context corresponding to the current node when the parent node is not a head node.
- the second arithmetic decoding part is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
- the embodiment of the present application provides an encoder 4, as shown in FIG16 , including:
- a second construction part 40 is configured to determine a prediction tree corresponding to the point cloud
- a fourth determining part 41 is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
- a fourth prediction part 42 is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
- the second encoding part 43 is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
- the fourth determining part 41 is further configured to determine a preset prediction list as the current prediction list when the parent node is a head node in the prediction tree.
- the fourth determination part 41 is further configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list when the parent node is not a head node.
- the fourth determining part 41 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the fourth determination part 41 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
- the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the fourth determination part 41 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
- the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node according to the number of encoded head nodes in the point cloud and the current prediction list when the current node is a head node.
- the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list when the current node is not a head node.
- the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
- each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the fourth prediction part 42 is also configured to determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
- each intra-frame prediction value of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the fourth prediction part 42 is also configured to determine, for the first intra-frame prediction value of the at least one intra-frame prediction value, the current radius prediction value, the current azimuth prediction value and the current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, the parent node azimuth reconstruction value and the parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value of the at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the
- the second encoding part 43 is further configured to determine the prediction residual corresponding to the current node based on the at least one intra-frame prediction value; determine the residual corresponding to the current node based on the position of the parent node in the prediction tree Coding context and/or inter-frame flag coding context; based on the residual coding context, encoding the prediction residual corresponding to the current node, and/or, based on the inter-frame flag coding context, encoding the inter-frame prediction flag corresponding to the current node, determining the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node, and determining the geometric information coding based on the prediction residual coding and/or inter-frame prediction flag coding.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context based on a preset fourth index value when the parent node is a head node.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the parent node is not a head node.
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
- the second encoding part 43 is further configured to determine the azimuth context index based on a preset first index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is less than or equal to the preset sign threshold; determine the azimuth context index based on a preset third index value when the previous encoded node is inter-frame prediction encoding and the inter-frame prediction point used for encoding belongs to the first m candidate inter-frame prediction points corresponding to the previous encoded node; m is a positive integer not less than 1; determine the azimuth context index based on a preset fourth index value when the previous encoded node is inter-frame prediction encoding and the inter-frame prediction point used for en
- the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth context index based on the parent node when the parent node is a head node and the current node is not a head node; and determine the azimuth residual context based on the azimuth context index.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the parent node is a head node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to determine, when the parent node is not a head node, at least one of a first radius context index, a second radius context index and a third radius context index according to a previous encoded node of the current node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the second encoding part 43 is also configured to determine the first radius context index according to whether the previous encoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous encoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
- the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the parent node is a head node and the current node is not a head node, determine at least one of a first radius context index, a second radius context index and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
- the fourth prediction part 42 is further configured to perform inter-frame prediction on the current node according to the parent node. Predict, determine the inter-frame prediction value corresponding to the current node; determine the geometric prediction information of the current node based on the rate-distortion cost of the at least one intra-frame prediction value and the inter-frame prediction value; determine the prediction residual corresponding to the current node based on the geometric prediction information.
- the fourth prediction part 42 is also configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuths are greater than the azimuth of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
- the second encoding part 43 is further configured to determine a preset initial value as the inter-frame flag coding context corresponding to the current node when the parent node is the head node in the prediction tree.
- the second encoding part 43 is also configured to determine the value of the inter-frame prediction flag of at least one encoded node before the current node as the inter-frame flag encoding context corresponding to the current node when the parent node is not the head node in the prediction tree.
- the second encoding part 43 is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
- the embodiment of the present application further provides a decoder
- FIG17 is an optional structural diagram of the decoder 5 provided in the embodiment of the present application.
- the decoder 5 includes: a first memory 52 and a first processor 53.
- the first memory 52 and the first processor 53 are connected through a first communication bus 54;
- the first memory 52 is used to store executable instructions;
- the first processor 53 is used to execute the executable instructions stored in the first memory 52, and implement the decoding method provided in the embodiment of the present application.
- the embodiment of the present application further provides an encoder
- FIG18 is an optional structural diagram of the encoder 6 provided in the embodiment of the present application.
- the encoder 6 includes: a second memory 62 and a second processor 63.
- the second memory 62 and the second processor 63 are connected via a second communication bus 64;
- the second memory 62 is used to store executable instructions;
- the second processor 63 is used to execute the executable instructions stored in the second memory 62, and implement the encoding method provided in the embodiment of the present application.
- An embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein executable instructions are stored.
- the first processor When the executable instructions are executed by a first processor, the first processor will be caused to execute any one of the decoding methods provided in the embodiments of the present application; or, when the executable instructions are executed by a second processor, the second processor will be caused to execute any one of the encoding methods provided in the embodiments of the present application.
- the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.
- executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
- executable instructions may, but do not necessarily, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
- HTML HyperText Markup Language
- executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
- the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
- a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
- the encoder/decoder can determine the prediction list corresponding to the current node according to the number of child nodes of the parent node of the current node, or according to the position of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be encoded/decoded independently.
- the encoding/decoding of different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding and decoding delay, improving the encoding and decoding efficiency, and thus improving the encoding and decoding performance.
- the residual decoding context and/or inter-frame flag decoding context of the current node is determined, thereby further reducing inter-line dependency and improving encoding and decoding efficiency and encoding and decoding performance.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本申请实施例涉及点云编解码技术,涉及但不限于一种点云编解码方法、解码器、编码器及计算机可读存储介质。The embodiments of the present application relate to point cloud encoding and decoding technology, and relate to but are not limited to a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium.
在点云编码的基于方位角的几何预测编码方案中,预测列表中的第一对半径和方位角的值需要根据当前待编码节点的前一已编码节点的半径和方位角来确定。由于按照点云对于多条激光束的编码顺序,编码当前激光束上的第二个节点时,其前一已编码节点是前一个已编码激光束上的最后一个节点。也就是说,需要等前一个激光束上的节点编码完成后才能对当前激光束上的第二个节点以及之后的节点进行编码。在解码侧也是同样。这就意味着对于最后编解码的那束激光上的点,其和第一束编解码的激光上的点存在着接近一帧点云的时间延迟,不利于实时编解码,从而增加了编解码时间,降低了编解码性能。In the azimuth-based geometric prediction coding scheme of point cloud coding, the value of the first pair of radius and azimuth in the prediction list needs to be determined based on the radius and azimuth of the previous encoded node of the current node to be encoded. Due to the encoding order of multiple laser beams in the point cloud, when encoding the second node on the current laser beam, its previous encoded node is the last node on the previous encoded laser beam. In other words, it is necessary to wait until the encoding of the node on the previous laser beam is completed before the second node and subsequent nodes on the current laser beam can be encoded. The same is true on the decoding side. This means that for the point on the last encoded and decoded laser beam, there is a time delay of nearly one frame of point cloud between it and the point on the first encoded and decoded laser beam, which is not conducive to real-time encoding and decoding, thereby increasing the encoding and decoding time and reducing the encoding and decoding performance.
发明内容Summary of the invention
本申请实施例提供一种点云编解码方法、解码器、编码器及计算机可读存储介质,能够提高编解码效率,从而提高编解码性能。The embodiments of the present application provide a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium, which can improve the encoding and decoding efficiency and thus improve the encoding and decoding performance.
本申请的技术方案是这样实现的:The technical solution of this application is implemented as follows:
本申请实施例提供一种解码方法,包括:The present application provides a decoding method, including:
解析码流,确定点云对应的预测树以及当前节点对应的预测索引;Parse the bitstream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
基于所述当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。Based on the prediction index and the current prediction list, an intra-frame prediction value corresponding to the current node is determined.
本申请实施例提供一种编码方法,包括:The present application provides an encoding method, including:
确定点云对应的预测树;Determine the prediction tree corresponding to the point cloud;
基于当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;Predicting the current node based on the current prediction list, and determining at least one intra-frame prediction value corresponding to the current node;
基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。Based on the at least one intra-frame prediction value, determine the geometric information encoding corresponding to the current node.
本申请实施例提供一种解码方法,包括:The present application provides a decoding method, including:
解析码流,确定点云对应的预测树以及当前节点对应的预测索引;Parse the bitstream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
根据所述当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;Determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。Based on the prediction index and the current prediction list, an intra-frame prediction value corresponding to the current node is determined.
本申请实施例提供一种编码方法,包括:The present application provides an encoding method, including:
确定点云对应的预测树;Determine the prediction tree corresponding to the point cloud;
根据当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;Determine a current prediction list corresponding to the current node according to the position of the parent node of the current node in the prediction tree;
基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;Predicting the current node based on the current prediction list, and determining at least one intra-frame prediction value corresponding to the current node;
基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。Based on the at least one intra-frame prediction value, determine the geometric information encoding corresponding to the current node.
本申请实施例提供一种解码器,包括:The present application provides a decoder, including:
第一解析部分,被配置为解析码流,确定点云对应的预测树以及当前节点对应的预测索引;A first parsing part is configured to parse the bitstream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node;
第一确定部分,被配置为基于所述当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;A first determining part is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
第一预测部分,被配置为基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。 The first prediction part is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
本申请实施例提供一种编码器,包括:The present application provides an encoder, including:
第一构建部分,被配置为确定点云对应的预测树;A first construction part is configured to determine a prediction tree corresponding to the point cloud;
第二确定部分,被配置为基于当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;A second determining part is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
第二预测部分,被配置为基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;A second prediction part is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
第一编码部分,被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。The first encoding part is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
本申请实施例提供一种解码器,包括:The present application provides a decoder, including:
第二解析部分,被配置为解析码流,确定点云对应的预测树以及当前节点对应的预测索引;The second parsing part is configured to parse the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
第三确定部分,被配置为根据所述当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;A third determining part is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
第三预测部分,被配置为基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。The third prediction part is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
本申请实施例提供一种编码器,包括:The present application provides an encoder, including:
第二构建部分,被配置为确定点云对应的预测树;A second construction part is configured to determine a prediction tree corresponding to the point cloud;
第四确定部分,被配置为根据当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;A fourth determining part is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
第四预测部分,被配置为基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;A fourth prediction part is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
第二编码部分,被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。The second encoding part is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
本申请实施例提供一种解码器,包括:The present application provides a decoder, including:
第一存储器和第一处理器;a first memory and a first processor;
所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现本申请实施例提供的解码方法。The first memory stores a computer program that can be run on the first processor, and when the first processor executes the program, the decoding method provided in the embodiment of the present application is implemented.
本申请实施例提供一种编码器,包括:The present application provides an encoder, including:
第二存储器和第二处理器;a second memory and a second processor;
所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现本申请实施例提供的编码方法。The second memory stores a computer program that can be run on the second processor, and when the second processor executes the program, the encoding method provided in the embodiment of the present application is implemented.
本申请实施例提供一种码流,所述码流是根据待编码信息进行比特编码生成的;其中,待编码信息包括点云中的当前节点对应的几何信息编码;所述几何信息编码基于至少一个帧内预测值确定;所述至少一个帧内预测值是基于所述当前预测列表对所述当前节点进行预测确定的;所述当前预测列表是根据所述当前节点的父节点在所述预测树中的子节点数量确定的。An embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes geometric information encoding corresponding to a current node in a point cloud; the geometric information encoding is determined based on at least one intra-frame prediction value; the at least one intra-frame prediction value is determined by predicting the current node based on the current prediction list; the current prediction list is determined based on the number of child nodes of the parent node of the current node in the prediction tree.
本申请实施例提供一种码流,所述码流是根据待编码信息进行比特编码生成的;其中,待编码信息包括点云中的当前节点对应的几何信息编码;所述几何信息编码基于至少一个帧内预测值确定;所述至少一个帧内预测值是基于所述当前预测列表对所述当前节点进行预测确定的;所述当前预测列表是根据所述当前节点的父节点在所述预测树中的位置确定的。An embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes geometric information encoding corresponding to a current node in a point cloud; the geometric information encoding is determined based on at least one intra-frame prediction value; the at least one intra-frame prediction value is determined by predicting the current node based on the current prediction list; the current prediction list is determined based on the position of the parent node of the current node in the prediction tree.
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被第一处理器执行时,实现本申请实施例提供的解码方法;或者,该计算机程序被第二处理器执行时,实现本申请实施例提供的编码方法。An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a first processor, the decoding method provided by the embodiment of the present application is implemented; or, when the computer program is executed by a second processor, the encoding method provided by the embodiment of the present application is implemented.
本申请实施例提供了一种点云编解码方法、解码器、编码器及计算机可读存储介质,在对当前节点进行解码时,根据当前节点的父节点在预测树中的子节点数量,确定当前节点对应的当前预测列表,进而基于码流中解析出的当前节点的预测索引与当前预测列表确定所述当前节点对应的帧内预测值。从而可以独立地对点云中的各个激光束进行解码,不同激光束之间解码互不影响,可以并行地执行,从而降低了解码时延,提高了解码效率,进而提高了解码性能。The embodiment of the present application provides a point cloud encoding and decoding method, a decoder, an encoder, and a computer-readable storage medium. When decoding the current node, the current prediction list corresponding to the current node is determined according to the number of child nodes of the parent node of the current node in the prediction tree, and then the intra-frame prediction value corresponding to the current node is determined based on the prediction index of the current node parsed in the code stream and the current prediction list. Thus, each laser beam in the point cloud can be decoded independently, and the decoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
图1为G-PCC几何编码的流程框图; FIG1 is a flow chart of G-PCC geometric coding;
图2为本申请实施例提供的预测树的一种可选的结构示意图;FIG2 is a schematic diagram of an optional structure of a prediction tree provided in an embodiment of the present application;
图3为G-PCC几何解码的流程框图;FIG3 is a flow chart of G-PCC geometric decoding;
图4为本申请实施例提供的解码方法的一种可选的流程示意图;FIG4 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;
图5为本申请实施例提供的预测列表更新的一种可选的过程示意图;FIG5 is a schematic diagram of an optional process of updating a prediction list provided in an embodiment of the present application;
图6为本申请实施例提供的预测列表更新的一种可选的过程示意图;FIG6 is a schematic diagram of an optional process of updating a prediction list provided in an embodiment of the present application;
图7为本申请实施例提供的解码方法的一种可选的流程示意图;FIG7 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;
图8为本申请实施例提供的解码方法的一种可选的流程示意图;FIG8 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;
图9为本申请实施例提供的编码方法的一种可选的流程示意图;FIG9 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application;
图10为本申请实施例提供的解码方法的一种可选的流程示意图;FIG10 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;
图11为本申请实施例提供的编码方法的一种可选的流程示意图;FIG11 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application;
图12为本申请实施例提供的预测树中每个激光束对应各自独立的预测列表的示意图;FIG12 is a schematic diagram of an independent prediction list corresponding to each laser beam in a prediction tree provided in an embodiment of the present application;
图13为本申请实施例提供的解码器的一种可选的结构示意图;FIG13 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;
图14为本申请实施例提供的编码器的一种可选的结构示意图;FIG14 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application;
图15为本申请实施例提供的解码器的一种可选的结构示意图;FIG15 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;
图16为本申请实施例提供的编码器的一种可选的结构示意图;FIG16 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application;
图17为本申请实施例提供的解码器的一种可选的结构示意图;FIG17 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;
图18为本申请实施例提供的编码器的一种可选的结构示意图。FIG. 18 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
随着硬件处理能力的提升和计算机视觉的飞速发展,三维点云成为继音频、图像和视频之后的新一代沉浸式多媒体,被广泛的应用于虚拟现实、增强现实、自动驾驶和环境建模等应用中。然而点云通常具有较大的数据量,十分不利于其传输及存储,因此需要对点云进行高效的编解码。With the improvement of hardware processing power and the rapid development of computer vision, 3D point cloud has become a new generation of immersive multimedia after audio, image and video, and is widely used in applications such as virtual reality, augmented reality, autonomous driving and environmental modeling. However, point cloud usually has a large amount of data, which is not conducive to its transmission and storage, so it is necessary to efficiently encode and decode the point cloud.
点云压缩算法包括国际动态图像专家组(Moving Picture Experts Group,MPEG)所开发的两种方案,分别是基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)和基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)。其中,G-PCC中的几何压缩主要通过八叉树模型和/或三角形表面模型实现。V-PCC主要通过三维到二维的投影和视频压缩实现。Point cloud compression algorithms include two schemes developed by the International Moving Picture Experts Group (MPEG), namely Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC). Among them, the geometry compression in G-PCC is mainly implemented through the octree model and/or the triangle surface model. V-PCC is mainly implemented through 3D to 2D projection and video compression.
在目前的基于方位角的几何预测编(解)码方案中,除了第0束激光以外,其余每束激光的第一个节点都以其前一束激光的第一个节点为父节点。编(解)码器根据点云中各个激光束构成的预测树,首先对各个激光束的头节点进行编(解)码,然后以深度优先的顺序对每条激光束上的非头节点进行编解码。这里,编(解)码器在编(解)码完第i束激光上的点,编(解)码第i-1束激光上的第二个节点时,其前一已编(解)码节点是第i束激光上的最后一个节点。而预测列表中的第一对半径和方位角的值是当前待编(解)码节点的前一已编(解)码节点的半径和方位角。并且,当启用帧间预测时,编码interFlag时的上下文需要根据前面五个已编(解)码的点的interFlag确定,并且帧间预测点也需要通过待编(解)码点的前一已编(解)码节点在参考帧中寻找。除此之外,方位角和半径预测残差的符号编(解)码的上下文信息也需要根据前一已编(解)码节点确定。因此对于第i-1束激光上的点,需要等第i束激光上的点编(解)码完成后才能进行编(解)码。这就意味着对于最后编(解)码的那束激光上的点,其和第一束编(解)码的激光上的点存在着接近一帧点云的时间延迟,不利于实时编(解)码,从而降低了编解码效率,进而降低了编解码性能。In the current azimuth-based geometric prediction encoding (decoding) scheme, except for the 0th laser beam, the first node of each remaining laser beam has the first node of its previous laser beam as the parent node. The encoder (decoder) first encodes (decodes) the head node of each laser beam according to the prediction tree formed by each laser beam in the point cloud, and then encodes and decodes the non-head nodes on each laser beam in a depth-first order. Here, when the encoder (decoder) encodes (decodes) the point on the i-th laser beam and encodes (decodes) the second node on the i-1th laser beam, its previous encoded (decoded) node is the last node on the i-th laser beam. The values of the first pair of radius and azimuth in the prediction list are the radius and azimuth of the previous encoded (decoded) node of the current node to be encoded (decoded). Furthermore, when inter-frame prediction is enabled, the context for encoding interFlag needs to be determined based on the interFlag of the previous five encoded (decoded) points, and the inter-frame prediction point also needs to be found in the reference frame through the previous encoded (decoded) node of the point to be encoded (decoded). In addition, the context information for the symbol encoding (decoding) of the azimuth and radius prediction residuals also needs to be determined based on the previous encoded (decoded) node. Therefore, for the point on the i-1th laser beam, it is necessary to wait until the encoding (decoding) of the point on the i-th laser beam is completed before encoding (decoding) can be performed. This means that for the point on the last encoded (decoded) laser beam, there is a time delay of nearly one frame of point cloud between it and the point on the first encoded (decoded) laser beam, which is not conducive to real-time encoding (decoding), thereby reducing the encoding and decoding efficiency, and further reducing the encoding and decoding performance.
本申请实施例提供一种编解码方法、解码器、编码器及计算机可读存储介质,能够提高编解码 效率,提高编解码性能。为了便于对本申请实施例所提供的技术方案的理解,首先提供一种G-PCC几何编码的流程框图和G-PCC几何解码的流程框图。需要说明的是,本申请实施例描述的G-PCC几何编码的流程框图和G-PCC几何解码的流程框图仅是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域技术人员可知,随着点云压缩技术的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似G-PCC的点云编解码架构同样适用,本申请实施例压缩的点云可以是视频中的点云,但不局限于此。The present invention provides a coding method, a decoder, an encoder and a computer-readable storage medium, which can improve the coding and decoding Efficiency, improve encoding and decoding performance. In order to facilitate the understanding of the technical solution provided in the embodiment of the present application, a flow chart of G-PCC geometric encoding and a flow chart of G-PCC geometric decoding are first provided. It should be noted that the flow chart of G-PCC geometric encoding and the flow chart of G-PCC geometric decoding described in the embodiment of the present application are only for more clearly illustrating the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application. Those skilled in the art will know that with the evolution of point cloud compression technology and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to point cloud encoding and decoding architectures similar to G-PCC. The point cloud compressed in the embodiment of the present application can be a point cloud in a video, but is not limited to this.
在点云G-PCC编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。In the point cloud G-PCC encoder framework, the point cloud of the input 3D image model is sliced and each slice is encoded independently.
如图1所示的G-PCC几何编码的流程框图,应用于编码器中,针对待编码的点云数据,先通过条带(slice)划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中,然后再进行量化,量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,可以基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。目前G-PCC的几何编码可分为:基于八叉树的几何编码和基于预测树的几何编码。在基于预测树的几何编码中,首先对输入的几何信息进行排序。常见的排序方法有无序、莫顿序、方位角序和径向距离序,目前G-PCC的标准测试条件默认的排序方式是基于方位角进行排序,也即依次根据方位角、径向距离和俯仰角正切值对各点进行排序。首先根据输入点云的笛卡尔坐标(x,y,z)计算其柱面坐标其中r是点的径向距离,也可称之为半径;是点的方位角;θ是点所属的激光束的俯仰角。然后按照r、tanθ的顺序进行排序。首先比较的大小,如果相同,则比较r,如果r相同,则比较tanθ,最终完成整个点云的重新排序。根据是否开启角度模式,预测树几何编码可以分为基于方位角的几何预测编码方案和基于KD-tree的几何预测编码方案。The flowchart of G-PCC geometric coding as shown in Figure 1 is applied to the encoder. For the point cloud data to be encoded, the point cloud data is first divided into multiple slices by strip division. In each slice, the geometric information and attribute information of the point cloud are encoded separately. In the geometric coding process, the geometric information is transformed so that all the point clouds are contained in a bounding box, and then quantized. Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same. It can be decided whether to remove duplicate points based on parameters. The process of quantization and removal of duplicate points is also called voxelization. At present, the geometric coding of G-PCC can be divided into: octree-based geometric coding and prediction tree-based geometric coding. In the prediction tree-based geometric coding, the input geometric information is first sorted. Common sorting methods include random order, Morton order, azimuth order, and radial distance order. The default sorting method of the current G-PCC standard test conditions is based on azimuth, that is, the points are sorted according to azimuth, radial distance, and pitch angle tangent value. First, the cylindrical coordinates of the input point cloud are calculated based on the Cartesian coordinates (x, y, z) Where r is the radial distance of the point, which can also be called the radius; is the azimuth angle of the point; θ is the elevation angle of the laser beam to which the point belongs. Then according to Sort by r, tanθ. First compare If the size If they are the same, then r is compared. If r is the same, then tanθ is compared, and finally the entire point cloud is reordered. Depending on whether the angle mode is turned on, the prediction tree geometry coding can be divided into an azimuth-based geometry prediction coding scheme and a KD-tree-based geometry prediction coding scheme.
在基于方位角的几何预测编码方案中,在构建预测树时,编码器会先将输入点云从笛卡尔坐标(x,y,z)转换到柱面坐标然后将输入点云中的每个点依照其俯仰角划分到不同的激光束上。这里,激光束也可以视为预测树中的线。由于在对输入的几何信息进行排序时,默认采用基于方位角的排序方式,因此整个点云的几何信息是按照方位角从小到大的顺序排列的。也就是说,对于第i束激光(第i线),其被访问到的第一个点是属于该束激光的所有点中方位角最小的点。且第i束后续被访问到的点的父节点均是同一束激光中比自身方位角小的第一个点。第i束激光的第一个点的父节点为第i-1束激光的第一个点。其中,i不小于1。对于第0束激光的第一个点,由于其没有父节点,因此作为整棵树的根节点。如图2所示。In the azimuth-based geometric prediction coding scheme, when building the prediction tree, the encoder first converts the input point cloud from Cartesian coordinates (x, y, z) to cylindrical coordinates Then each point in the input point cloud is divided into different laser beams according to its pitch angle. Here, the laser beam can also be regarded as a line in the prediction tree. Since the azimuth-based sorting method is used by default when sorting the input geometric information, the geometric information of the entire point cloud is arranged in order from small to large azimuth. In other words, for the i-th laser beam (i-th line), the first point visited is the point with the smallest azimuth among all the points belonging to the laser beam. And the parent node of the points subsequently visited by the i-th beam is the first point in the same laser beam with a smaller azimuth than itself. The parent node of the first point of the i-th laser beam is the first point of the i-1-th laser beam. Among them, i is not less than 1. For the first point of the 0th laser beam, since it has no parent node, it serves as the root node of the entire tree. As shown in Figure 2.
接下来按照深度优先的顺序对预测树中的每个节点进行预测编码。首先从根节点开始遍历预测树中的每个节点(待编码点),根据帧内预测算法或帧间预测算法确定每个节点几何信息的预测值。在帧内预测中,通过在预测列表中选取不同的预测值对每个节点进行预测。而对于帧间预测,则在前一已编码帧中寻找预测点对每个节点进行预测。然后通过率失真优化选取码率最小的预测值作为每个节点的预测值。接着利用节点几何信息的真实值与预测值做差得到预测残差,并利用量化参数对预测残差进行量化。最后对量化参数、选取的预测值索引、预测残差等信息进行编码。通过上述过程得到预测树中每个节点对应的编码,并生成二进制码流,也即几何码流。Next, predictive coding is performed on each node in the prediction tree in a depth-first order. First, traverse each node (to be encoded) in the prediction tree starting from the root node, and determine the predicted value of the geometric information of each node according to the intra-frame prediction algorithm or the inter-frame prediction algorithm. In intra-frame prediction, each node is predicted by selecting different prediction values in the prediction list. For inter-frame prediction, the prediction point is found in the previous encoded frame to predict each node. Then, the prediction value with the minimum bit rate is selected as the prediction value of each node through rate-distortion optimization. Then, the prediction residual is obtained by subtracting the true value of the node geometry information from the predicted value, and the prediction residual is quantized using the quantization parameter. Finally, the quantization parameter, the selected prediction value index, the prediction residual and other information are encoded. Through the above process, the code corresponding to each node in the prediction tree is obtained, and a binary code stream, that is, a geometric code stream, is generated.
如图3所示的G-PCC解码的流程框图,应用于解码器中。解码器获取二进制码流,针对二进制码流中的几何比特流(即几何码流)进行解码。在基于预测树的几何解码中,对于预测树中的每个节点(待解码点),首先解码得到每个节点对应的量化系数以及预测索引,根据预测索引唯一确定对应的预测值;然后解码几何信息的预测残差,并根据量化系数对其进行反量化;接着根据预测值和反量化后的预测残差恢复得到待解码点的初始几何重构信息;然后对得到的初始重建几何信息进行坐标反变换,得到重建几何信息。基于每个节点重建几何信息,还原点云数据的三维图像模型。The flowchart of G-PCC decoding shown in Figure 3 is applied to the decoder. The decoder obtains a binary code stream and decodes the geometric bit stream (i.e., geometric code stream) in the binary code stream. In the prediction tree-based geometric decoding, for each node (point to be decoded) in the prediction tree, first decode the quantization coefficient and prediction index corresponding to each node, and uniquely determine the corresponding prediction value according to the prediction index; then decode the prediction residual of the geometric information, and dequantize it according to the quantization coefficient; then restore the initial geometric reconstruction information of the point to be decoded according to the prediction value and the dequantized prediction residual; then perform an inverse coordinate transformation on the obtained initial reconstructed geometric information to obtain the reconstructed geometric information. Reconstruct the geometric information based on each node to restore the three-dimensional image model of the point cloud data.
需要说明的是,本申请实施例的编码方法主要应用于如图1所示的G-PCC的几何信息编码流程中的预测编码和算术编码过程;本申请实施例的解码方法主要应用于如图3所示的G-PCC的几何信息解码流程的算术解码和预测解码过程。也就是说,本申请实施例既可以应用于编码器,也可以应用于解码器,甚至还可以同时应用于编码器和解码器,但是本申请实施例对此不作具体限定。It should be noted that the encoding method of the embodiment of the present application is mainly applied to the predictive encoding and arithmetic encoding process in the geometric information encoding process of G-PCC as shown in Figure 1; the decoding method of the embodiment of the present application is mainly applied to the arithmetic decoding and predictive decoding process of the geometric information decoding process of G-PCC as shown in Figure 3. In other words, the embodiment of the present application can be applied to both the encoder and the decoder, and can even be applied to both the encoder and the decoder at the same time, but the embodiment of the present application does not specifically limit this.
需要说明的是,本申请实施例的编码方法与解码方法也可以用于G-PCC之外的其他点云编码和解码流程中。It should be noted that the encoding method and decoding method of the embodiments of the present application can also be used in other point cloud encoding and decoding processes besides G-PCC.
还需要说明的是,当应用于编码器时,“当前节点”具体是指预测树中当前待进行编码的节点;当应用于解码器时,“当前节点”具体是指预测树中当前待进行解码的节点。 It should also be noted that when applied to an encoder, the "current node" specifically refers to the node currently to be encoded in the prediction tree; when applied to a decoder, the "current node" specifically refers to the node currently to be decoded in the prediction tree.
下面,说明本申请实施例提供的一种可选的应用于解码器的解码方法。An optional decoding method applied to a decoder provided in an embodiment of the present application is described below.
参见图4,图4是本申请实施例提供的解码方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。Refer to Figure 4, which is an optional flowchart of a decoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 4.
S101、解析码流,确定点云对应的预测树以及当前节点对应的预测索引。S101, parsing the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node.
本申请实施例中,解码器解析码流,从码流中解析得到待解码的点云对应的预测树,以及预测树中当前节点对应的预测索引。预测树中的节点即为点云中的各个点,预测树包含了各个节点之间的位置关系,其结构可以如图2所示,此处不再赘述。In the embodiment of the present application, the decoder parses the bitstream, and obtains the prediction tree corresponding to the point cloud to be decoded and the prediction index corresponding to the current node in the prediction tree from the bitstream. The nodes in the prediction tree are the points in the point cloud, and the prediction tree contains the positional relationship between the nodes. Its structure can be shown in Figure 2, which will not be repeated here.
S102、基于当前节点的父节点在预测树中的子节点数量,确定当前节点对应的当前预测列表。S102: Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree.
本申请实施例中,对于待解码的当前节点,可以根据预测树中节点的位置关系,确定当前节点的父节点。解码器基于父节点在预测树中的子节点数量,确定当前节点对应的当前预测列表。In the embodiment of the present application, for the current node to be decoded, the parent node of the current node can be determined according to the position relationship of the nodes in the prediction tree. The decoder determines the current prediction list corresponding to the current node based on the number of child nodes of the parent node in the prediction tree.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,说明当前节点的父节点是预测树中某个激光束的头节点,则当前节点可能是另一个激光束的头节点,当前节点也可能是与父节点同一激光束中的第二个节点。解码器可采用初始化预测列表的方式,确定预设预测列表为当前预测列表。这样,对当前节点的解码不需要等到前一个激光束解码完最后一个节点才开始进行,可以有效减少解码延迟。In some embodiments, when the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, it means that the parent node of the current node is the head node of a laser beam in the prediction tree, and the current node may be the head node of another laser beam, and the current node may also be the second node in the same laser beam as the parent node. The decoder can use the method of initializing the prediction list to determine the preset prediction list as the current prediction list. In this way, the decoding of the current node does not need to wait until the previous laser beam decodes the last node before starting, which can effectively reduce the decoding delay.
在一些实施例中,预设子节点数量阈值可以根据预测树中头节点对应的子节点数量来设置。示例性地,预设子节点数量阈值可以是2。在当前节点的子节点数量等于2的情况下,解码器可以确定预设预测列表为当前节点对应的预测列表。In some embodiments, the preset child node number threshold may be set according to the number of child nodes corresponding to the head node in the prediction tree. Exemplarily, the preset child node number threshold may be 2. When the number of child nodes of the current node is equal to 2, the decoder may determine that the preset prediction list is the prediction list corresponding to the current node.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,说明父节点和当前节点属于同一激光束,当前节点与父节点均不是头节点,当前节点的前一个已解码节点即为父节点。解码器基于当前节点的前一个已解码节点的重建信息,也即父节点的重建信息,对前一个已解码节点对应的预测列表进行更新,确定当前预测列表。In some embodiments, when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, it indicates that the parent node and the current node belong to the same laser beam, the current node and the parent node are not head nodes, and the previous decoded node of the current node is the parent node. The decoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node, that is, the reconstruction information of the parent node, and determines the current prediction list.
在一些实施例中,在当前节点不存在父节点的情况下,说明当前节点是预测树的根节点。解码器同样确定预设预测列表为当前预测列表。In some embodiments, when the current node does not have a parent node, it indicates that the current node is the root node of the prediction tree. The decoder also determines that the preset prediction list is the current prediction list.
S103、基于预测索引与当前预测列表,确定当前节点对应的帧内预测值。S103: Determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
本申请实施例中,预测索引在当前预测列表的至少一对预测值中对应了唯一的预测值。解码器可以基于预测索引在当前预测列表中对应的预测值,来确定当前节点对应的帧内预测值。In the embodiment of the present application, the prediction index corresponds to a unique prediction value in at least one pair of prediction values in the current prediction list. The decoder can determine the intra-frame prediction value corresponding to the current node based on the prediction value corresponding to the prediction index in the current prediction list.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量大于或等于预设子节点数量阈值的情况下,说明当前节点与父节点属于不同的激光束,父节点为某一激光束的头节点,当前节点为另一激光束的头节点。解码器根据点云中已解码的头节点的数量、预测索引与当前预测列表,确定当前节点对应的帧内预测值。这种情况下,当前预测列表为预设预测列表。In some embodiments, when the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is greater than or equal to the preset child node number threshold, it means that the current node and the parent node belong to different laser beams, the parent node is the head node of a laser beam, and the current node is the head node of another laser beam. The decoder determines the intra-frame prediction value corresponding to the current node based on the number of decoded head nodes in the point cloud, the prediction index and the current prediction list. In this case, the current prediction list is the preset prediction list.
在一些实施例中,在当前节点不存在父节点的情况下,说明当前节点为根节点,此时当前节点的子节点数量大于或等于预设子节点数量阈值。解码器可以根据点云中已解码的头节点的数量,确定当前光束预测值;根据预测索引在当前预测列表中对应的预测值,确定当前半径预测值与当前方位角预测值。In some embodiments, when the current node does not have a parent node, it indicates that the current node is a root node, and the number of child nodes of the current node is greater than or equal to a preset child node number threshold. The decoder can determine the current beam prediction value according to the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
本申请实施例中,当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;解码器可以根据点云中已解码的头节点的数量,确定当前光束预测值;根据预测索引在当前预测列表中对应的预测值,确定当前半径预测值与当前方位角预测值。In an embodiment of the present application, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the decoder can determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value based on the prediction value corresponding to the prediction index in the current prediction list.
示例性地,在当前节点P的父节点的子节点数量大于或等于预设子节点数量阈值的情况下,当前预测列表为预设预测列表,包含至少一对预测值在点P的子节点数量也大于或等于预设子节点数量阈值的情况下,点P的预测值其中,分别为预测索引j在当前预测列表中对应的半径预测值与方位角预测值,也即当前预测半径预测值与当前方位角预测值;i是已编码的头节点的数量,初始值为0。i作为当前光束预测值。当前节点不存在父节点的情况与上述示例类似,此处不再赘述。Exemplarily, when the number of child nodes of the parent node of the current node P is greater than or equal to the preset child node number threshold, the current prediction list is a preset prediction list, which includes at least one pair of prediction values When the number of child nodes of point P is greater than or equal to the preset child node number threshold, the predicted value of point P is in, are the radius prediction value and azimuth prediction value corresponding to the prediction index j in the current prediction list, that is, the current prediction radius prediction value and the current azimuth prediction value; i is the number of encoded head nodes, and the initial value is 0. i is used as the current beam prediction value. The case where the current node has no parent node is similar to the above example and will not be repeated here.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0的情况下,说明当前节点与父节点属于同一激光束,父节点为该激光束的头节点,当前节点为该激光束的第二个节点。解码器可以基于当前节点的父节点的重建信息、预测索引以及当前预测列表,确定当前节点对应的帧内预测值。In some embodiments, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, it indicates that the current node and the parent node belong to the same laser beam, the parent node is the head node of the laser beam, and the current node is the second node of the laser beam. The decoder can determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node of the current node, the prediction index, and the current prediction list.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,说明当前节点与父节点属于同一激光束,当前节点与父节点均不是头节点。解码器基于当前节点的父节点 的重建信息、预测索引以及当前预测列表,确定当前节点对应的帧内预测值。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, it indicates that the current node and the parent node belong to the same laser beam, and neither the current node nor the parent node is a head node. The reconstruction information, prediction index and current prediction list are used to determine the intra-frame prediction value corresponding to the current node.
本申请实施例中,在预测索引对应当前预测列表中的第一对预测值的情况下,解码器根据父节点的重建信息,确定当前节点对应的帧内预测值。其中,父节点的重建信息包括:父节点半径重建值、父节点方位角重建值以及父节点光束索引重建值。解码器将父节点半径重建值确定为当前半径预测值;将父节点方位角重建值确定为当前方位角预测值;将父节点光束索引重建值确定为当前光束预测值,从而确定当前节点对应的帧内预测值。In the embodiment of the present application, when the prediction index corresponds to the first pair of prediction values in the current prediction list, the decoder determines the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node. The reconstruction information of the parent node includes: the parent node radius reconstruction value, the parent node azimuth reconstruction value, and the parent node beam index reconstruction value. The decoder determines the parent node radius reconstruction value as the current radius prediction value; determines the parent node azimuth reconstruction value as the current azimuth prediction value; determines the parent node beam index reconstruction value as the current beam prediction value, thereby determining the intra-frame prediction value corresponding to the current node.
本申请实施例中,在预测索引对应当前预测列表中的第n对预测值的情况下,解码器根据第n对预测值中的半径预测值,确定当前半径预测值;n为大于1的整数;根据第n对预测值中的方位角预测值、父节点方位角重建值以及预设的方位角采样间隔,确定当前方位角预测值;根据父节点光束索引重建值,确定当前光束预测值。解码器根据当前节点对应的半径预测值、方位角预测值和激光束预测值,确定当前节点对应的帧内预测值。In the embodiment of the present application, when the prediction index corresponds to the nth pair of prediction values in the current prediction list, the decoder determines the current radius prediction value according to the radius prediction value in the nth pair of prediction values; n is an integer greater than 1; the current azimuth prediction value is determined according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value, and the preset azimuth sampling interval; the current beam prediction value is determined according to the parent node beam index reconstruction value. The decoder determines the intra-frame prediction value corresponding to the current node according to the radius prediction value, azimuth prediction value, and laser beam prediction value corresponding to the current node.
示例性地,在当前节点P的父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,在预测索引对应当前预测列表的第1对预测值时,点P的帧内预测值可以是其中r0、和i0分别为当前半径预测值,当前方位角预测值与当前光束预测值,r0、和i0分别由点P的父节点的父节点半径重建值、父节点方位角重建值与父节点光束索引重建值确定。在预测索引对应当前预测列表的第j对预测值(j=n-1)时,点P的帧内预测值可以是其中,rj为当前半径预测值,为当前方位角预测值,i0为当前光束预测值。rj、分别是当前预测列表中的第j对预测值中的半径预测值和方位角预测值,是方位角采样间隔。当时,k=0;否则其中代表对的值向下取整。父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0的情况的示例与上述示例类似,此处不再赘述。For example, when the number of child nodes of the parent node of the current node P is less than the preset child node number threshold and greater than 0, when the prediction index corresponds to the first pair of prediction values in the current prediction list, the intra-frame prediction value of point P can be where r 0 , and i 0 are respectively the current radius prediction value, the current azimuth prediction value and the current beam prediction value, r 0 , and i 0 are determined by the parent node radius reconstruction value, parent node azimuth reconstruction value and parent node beam index reconstruction value of the parent node of point P, respectively. When the prediction index corresponds to the jth pair of prediction values (j=n-1) in the current prediction list, the intra-frame prediction value of point P can be Among them, rj is the current radius prediction value, is the current azimuth prediction value, i 0 is the current beam prediction value . are respectively the radius prediction value and the azimuth prediction value in the jth pair of prediction values in the current prediction list, is the azimuth sampling interval. When k=0, otherwise in Representatives The example where the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0 is similar to the above example and will not be repeated here.
本申请实施例中,解码器在执行S101的码流解析过程时,还可以从码流中解析得到量化系数和预测残差。解码器利用量化系数对预测残差进行反量化,在当前节点使用帧内预测编码的情况下,根据当前节点对应的帧内预测值,以及反量化后的预测残差来恢复当前节点的几何重构信息,进而通过对几何重构信息进行坐标反变换等处理得到当前节点最终的重建几何信息。In the embodiment of the present application, when the decoder performs the code stream parsing process of S101, it can also parse the code stream to obtain the quantization coefficient and the prediction residual. The decoder uses the quantization coefficient to dequantize the prediction residual, and when the current node uses intra-frame prediction coding, the geometric reconstruction information of the current node is restored according to the intra-frame prediction value corresponding to the current node and the dequantized prediction residual, and then the final reconstructed geometric information of the current node is obtained by performing inverse coordinate transformation and other processing on the geometric reconstruction information.
可以理解的是,本申请实施例中,解码器可以根据当前节点的父节点在预测树中的子节点数量,确定当前节点对应的预测列表,从而可以独立地对点云中的各个激光束进行解码,不同激光束之间解码互不影响,可以并行地执行,从而降低了解码时延,提高了解码效率,进而提高了解码性能。It can be understood that in the embodiment of the present application, the decoder can determine the prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be decoded independently. The decoding of different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
在一些实施例中,预测列表包含至少一对预测值,每对预测值包括一个半径预测值和一个方位角预测值。也就是说,预测列表包括:至少一个半径预测值与至少一个方位角预测值。解码器确定预设预测列表为当前预测列表之前,可以通过S201或S202的方式确定预设预测列表:In some embodiments, the prediction list includes at least one pair of prediction values, each pair of prediction values includes a radius prediction value and an azimuth prediction value. That is, the prediction list includes: at least one radius prediction value and at least one azimuth prediction value. Before the decoder determines that the preset prediction list is the current prediction list, the preset prediction list can be determined by S201 or S202:
S201、将点云对应的半径最小值或半径最大值作为预设预测列表中的半径预测值;和/或,将预设方位角最小值或预设方位角中位值作为预设预测列表中的方位角预测值。S201. Use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
本申请实施例中,在对预测列表进行初始化时,可以利用待解码点云中点的柱面坐标的半径最小值或半径最大值,对预测列表中的至少一个半径预测值进行初始化;以及/或者,利用预设的最小方位角或方位角中位值,对至少一个方位角预测值进行初始化,从而得到预设预测列表。In an embodiment of the present application, when initializing the prediction list, the minimum radius or maximum radius of the cylindrical coordinates of the midpoint of the point cloud to be decoded can be used to initialize at least one radius prediction value in the prediction list; and/or, at least one azimuth prediction value can be initialized using a preset minimum azimuth or azimuth median value, thereby obtaining a preset prediction list.
示例性地,输入解码器的待解码点云中,半径最小值可以是rmin,半径最大值可以是rmax;预设方位角最小值可以是-180°,预设方位角中位值可以是0。则预设预测列表可以包括:(rmin,0),(rmax,0),中的一个或多个。具体的根据实际情况进行选择,本申请实施例不作限定。需要说明的是,初始化后,预设预测列表中包含的至少一对预测值可以相同或不同。For example, in the point cloud to be decoded input to the decoder, the minimum radius may be r min , and the maximum radius may be r max ; the minimum azimuth angle may be preset can be -180 ° , and the preset azimuth median value can be 0. Then the preset prediction list can include: (r min ,0), (r max ,0), One or more of. The specific selection is made according to the actual situation, and the embodiment of the present application is not limited. It should be noted that after initialization, at least one pair of prediction values included in the preset prediction list can be the same or different.
S201、根据点云的几何精度,基于点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值进行初始化。S201. According to the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud, at least one radius prediction value in the preset prediction list is determined in an incremental manner for initialization.
示例性地,解码器可以根据点云序列的几何精度,在半径最小值的基础上,为预测列表中的每个半径预测值设置一个分阶段的初始预测值,来得到预设预测列表。示例性地,G-PCC标准旋转激光雷达数据集中的Ford序列的几何精度为18bit,预设预测列表中的4对预测值,如PRL0至PRL3可以被初始化为PRL0=(rmin,0);PRL1=(rmin+210,0);PRL2=(rmin+212,0);PRL3=(rmin+214,0)。Exemplarily, the decoder can set a phased initial prediction value for each radius prediction value in the prediction list based on the minimum radius value according to the geometric accuracy of the point cloud sequence to obtain a preset prediction list. Exemplarily, the geometric accuracy of the Ford sequence in the G-PCC standard rotating lidar data set is 18 bits, and the 4 pairs of prediction values in the preset prediction list, such as PRL 0 to PRL 3, can be initialized to PRL 0 = (r min , 0); PRL 1 = (r min +2 10 , 0); PRL 2 = (r min +2 12 , 0); PRL 3 = (r min +2 14 , 0).
可以理解的是,通过预设的半径最小值或半径最大值对预测列表进行初始化;和/或,通过预设方位角最小值或预设方位角中位值对预测列表进行初始化,得到预设预测列表,相较于目前在初始 化预测列表时,将预设列表中的半径预测值和方位角预测值都初始化为0的方式,可以减小节点的真实值与根据预设预测列表得到的预测值之间的残差,提高编解码性能。It can be understood that the prediction list is initialized by a preset minimum radius or a maximum radius; and/or the prediction list is initialized by a preset minimum azimuth or a preset median azimuth to obtain a preset prediction list, which is better than the current initialization. When optimizing the prediction list, the radius prediction value and the azimuth prediction value in the preset list are initialized to 0, which can reduce the residual between the actual value of the node and the prediction value obtained according to the preset prediction list, thereby improving the encoding and decoding performance.
在一些实施例中,上述S102中在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于当前节点的前一个已解码节点的重建信息,对前一个已解码节点对应的预测列表进行更新,确定当前预测列表的过程可以通过如下过程来实现:In some embodiments, in the above S102, when the number of child nodes of the parent node is less than the preset child node number threshold and greater than 0, the prediction list corresponding to the previous decoded node is updated based on the reconstruction information of the previous decoded node of the current node, and the process of determining the current prediction list can be implemented by the following process:
在当前节点P的父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,示例性地,当前节点P的父节点的子节点数量等于1的情况下,如果根据当前节点P的前一个已解码节点的重建信息,确定前一个已解码节点的半径残差的绝对值|rres|>th,意味着该束激光扫描到了一个新物体。如图5所示,解码器可以丢弃前一个已解码节点对应的预测列表中最后一对半径预测值和方位角预测值(也即j=3的一对半径预测值和方位角预测值),并把前一个已解码节点的重建信息中的插入到该预测列表的头部,也即将预测列表中原来j=0到j=2位置上的值依次后移一个位置,变为j=1到j=3的位置,然后在j=0的位置上设置作为第一对半径预测值和方位角预测值,得到当前节点对应的预测列表。When the number of child nodes of the parent node of the current node P is less than the preset child node number threshold and greater than 0, illustratively, when the number of child nodes of the parent node of the current node P is equal to 1, if the absolute value of the radius residual of the previous decoded node is determined to be |r res |>th based on the reconstruction information of the previous decoded node of the current node P, it means that the laser beam has scanned a new object. As shown in FIG5 , the decoder can discard the last pair of radius prediction value and azimuth prediction value (i.e., a pair of radius prediction value and azimuth prediction value with j=3) in the prediction list corresponding to the previous decoded node, and replace the last pair of radius prediction value and azimuth prediction value in the reconstruction information of the previous decoded node with j=3. Insert it to the head of the prediction list, that is, move the values at positions j=0 to j=2 in the prediction list back one position in turn to positions j=1 to j=3, and then set the value at position j=0 As the first pair of radius prediction value and azimuth prediction value, a prediction list corresponding to the current node is obtained.
如果前一个已解码节点的半径残差的绝对值|rres|≤th,意味着该束激光扫描到了一个已经在预测列表中存在的物体。解码器把前一个已解码节点的预测值对应的预测索引(predIdx)在前一个已解码节点的预测列表中对应的第predIdx对预测值移到该预测列表的头部,并用前一个已解码节点的重建信息中的对其进行更新。如图6所示,以predIdx=2为例,将前一个已解码节点的预测列表从j=0到j=predIdx-1依次后移一个位置,然后设置该预测列表的第一对预测值得到当前节点对应的当前预测列表。If the absolute value of the radius residual of the previous decoded node |r res |≤th, it means that the laser beam has scanned an object that already exists in the prediction list. The decoder adds the prediction index (predIdx) corresponding to the prediction value of the previous decoded node to the prediction value corresponding to the predIdxth in the prediction list of the previous decoded node. Move to the head of the prediction list and use the reconstruction information of the previous decoded node As shown in Figure 6, taking predIdx=2 as an example, the prediction list of the previous decoded node is moved back one position from j=0 to j=predIdx-1, and then the first pair of prediction values of the prediction list is set. Get the current prediction list corresponding to the current node.
在一些实施例中,解码器还可以如图7所示,执行S401-S403,如下:In some embodiments, the decoder may also perform S401-S403 as shown in FIG. 7 as follows:
S401、基于父节点的子节点数量,确定当前节点对应的残差解码上下文和/或帧间标志位解码上下文。S401: Determine a residual decoding context and/or an inter-frame flag decoding context corresponding to a current node based on the number of child nodes of a parent node.
本申请实施例中,解码器可以通过S101中的码流解析过程,确定当前节点对应的预测残差编码与帧间预测标志位编码。解码器确定当前节点对应的残差解码上下文,以利用残差解码上下文对预测残差编码进行解码,确定当前节点对应的预测残差。解码器确定当前节点对应的帧间标志位解码上下文,以利用帧间标志位解码上下文对帧间预测标志位编码进行解码,确定当前节点对应的帧间预测标志位。In the embodiment of the present application, the decoder can determine the prediction residual coding and inter-frame prediction flag coding corresponding to the current node through the code stream parsing process in S101. The decoder determines the residual decoding context corresponding to the current node, so as to decode the prediction residual coding using the residual decoding context and determine the prediction residual corresponding to the current node. The decoder determines the inter-frame flag decoding context corresponding to the current node, so as to decode the inter-frame prediction flag coding using the inter-frame flag decoding context and determine the inter-frame prediction flag corresponding to the current node.
本申请实施例提供了基于父节点的子节点数量,确定当前节点对应的残差解码上下文和/或帧间标志位解码上下文的方法。实际应用时可以利用本申请实施例提供的方法,基于父节点的子节点数量,确定当前节点对应的残差解码上下文与帧间标志位解码上下文。也可以利用本申请实施例提供的方法,基于父节点的子节点数量,确定当前节点对应的残差解码上下文与帧间标志位解码上下文中的任一个,再结合目前的解码方法确定残差解码上下文与帧间标志位解码上下文中的另一个。具体的根据实际情况进行选择,本申请实施例不作限定。The embodiment of the present application provides a method for determining the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node. In actual application, the method provided by the embodiment of the present application can be used to determine the residual decoding context and inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node. The method provided by the embodiment of the present application can also be used to determine any one of the residual decoding context and inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node, and then determine the other of the residual decoding context and inter-frame flag decoding context in combination with the current decoding method. The specific selection is made according to the actual situation, and the embodiment of the present application is not limited.
在一些实施例中,预测残差包括:方位角预测残差;相应地,残差解码上下文包括:方位角残差上下文。在一些实施例中,预测残差包括:半径预测残差;相应地,残差解码上下文包括:半径残差上下文。下面,分别对本申请实施例基于父节点的子节点数量,确定当前节点对应的方位角残差上下文、半径残差上下文与帧间标志位解码上下文的过程进行说明。In some embodiments, the prediction residual includes: an azimuth prediction residual; accordingly, the residual decoding context includes: an azimuth residual context. In some embodiments, the prediction residual includes: a radius prediction residual; accordingly, the residual decoding context includes: a radius residual context. Below, the process of determining the azimuth residual context, radius residual context, and inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node in the embodiment of the present application is described respectively.
对于基于父节点的子节点数量,确定当前节点对应的方位角残差上下文的过程,在一些实施例中,解码器在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,基于预设第四索引值确定确定方位角残差上下文。Regarding the process of determining the azimuth residual context corresponding to the current node based on the number of child nodes of the parent node, in some embodiments, the decoder determines the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
本申请实施例中,如前述,在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,说明父节点为头节点,为减少解码过程的线间依赖,解码器将方位角上下文索引确定为预设第四索引值,基于方位角上下文索引来确定当前节点对应的方位角残差上下文。从而不依赖于前一已解码节点的解码信息来确定当前节点残差解码的上下文,减小了线间依赖,提高了解码效率和解码性能。In the embodiment of the present application, as mentioned above, when the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, it indicates that the parent node is a head node. In order to reduce the inter-line dependency of the decoding process, the decoder determines the azimuth context index as the preset fourth index value, and determines the azimuth residual context corresponding to the current node based on the azimuth context index. Thus, the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, which reduces the inter-line dependency and improves the decoding efficiency and decoding performance.
示例性地,方位角上下文索引可以是_resPhiOldSign,预设第四索引值可以是3。如果当前节点P的父节点的子节点数量为2,解码器将点P对应的_resPhiOldSign初始化为3,基于_resPhiOldSign确定方位角残差上下文。Exemplarily, the azimuth context index may be _resPhiOldSign, and the preset fourth index value may be 3. If the number of child nodes of the parent node of the current node P is 2, the decoder initializes _resPhiOldSign corresponding to point P to 3, and determines the azimuth residual context based on _resPhiOldSign.
在一些实施例中,G-PCC中可以包括2x5的第一预设上下文列表,解码器根据方位角上下文索引_resPhiOldSign,在第一预设上下文列表中确定用于对方位角残差进行解码的方位角残差上下文。
如公式(1)和(2)所示,如下:
ctxsign=ctxTab[ctxL][interFlag?4:_resPhiOldSign] (1)
ctxL=interFlag?(refNodeIdx>1?1:0):Iprevious (2)In some embodiments, the G-PCC may include a 2x5 first preset context list, and the decoder determines the azimuth residual context used for decoding the azimuth residual in the first preset context list according to the azimuth context index _resPhiOldSign. As shown in formulas (1) and (2), it is as follows:
ctx sign =ctxTab[ctxL][interFlag? 4:_resPhiOldSign] (1)
ctxL=interFlag? (refNodeIdx>1?1:0):I previous (2)
公式(1)中,ctxTab代表第一预设上下文列表;interFlag为帧间预测标志位,为布尔值,表示当前节点是否采用了帧间预测;refNodeIdx表示当前节点采用帧间预测时,采用的是哪个帧间预测点;Iprevious为布尔值,指示所选预测值是否为父节点。这样,基于_resPhiOldSign,可以在第一预设上下文列表中确定出方位角残差上下文。In formula (1), ctxTab represents the first preset context list; interFlag is the inter-frame prediction flag, which is a Boolean value, indicating whether the current node uses inter-frame prediction; refNodeIdx indicates which inter-frame prediction point is used when the current node uses inter-frame prediction; I previous is a Boolean value indicating whether the selected prediction value is a parent node. In this way, based on _resPhiOldSign, the azimuth residual context can be determined in the first preset context list.
可理解,本申请实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,解码器将方位角上下文索引确定为预设第四索引值,进而基于方位角上下文索引确定当前节点对应的方位角残差上下文。从而不依赖于前一已解码节点的解码信息来确定当前节点残差解码的上下文,减小了线间依赖,提高了解码效率和解码性能。It can be understood that in the embodiment of the present application, when the number of child nodes of the parent node is greater than or equal to the preset child node number threshold, the decoder determines the azimuth context index as the preset fourth index value, and then determines the azimuth residual context corresponding to the current node based on the azimuth context index. Thus, the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, which reduces the inter-line dependency and improves the decoding efficiency and decoding performance.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,解码器基于当前节点的前一个已解码节点,确定当前节点对应的方位角残差上下文。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, the decoder determines the azimuth residual context corresponding to the current node based on a previous decoded node of the current node.
本申请实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,当前节点的前一个已解码节点即为父节点。解码器基于当前节点的前一个已解码节点,确定方位角上下文索引;基于方位角上下文索引,确定当前节点对应的方位角残差上下文。其中,基于当前节点的前一个已解码节点,确定方位角上下文索引,包括如下过程:In the embodiment of the present application, when the number of child nodes of the parent node is less than the preset child node number threshold and greater than 0, the previous decoded node of the current node is the parent node. The decoder determines the azimuth context index based on the previous decoded node of the current node; and determines the azimuth residual context corresponding to the current node based on the azimuth context index. Among them, determining the azimuth context index based on the previous decoded node of the current node includes the following process:
在前一个已解码节点为帧内预测解码,且前一个已解码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;When the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold, determining the azimuth context index based on a preset first index value;
在前一个已解码节点为帧内预测解码,且前一个已解码节点的方位角残差的符号小于或等于预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;When the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to a preset sign threshold, determining the azimuth context index based on a preset second index value;
在前一个已解码节点为帧间预测解码,且用于解码的帧间预测点属于前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;When the previous decoded node is inter-frame prediction decoding, and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on a preset third index value; m is a positive integer not less than 1;
在前一个已解码节点为帧间预测解码,且用于解码的帧间预测点不属于前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引。When the previous decoded node is decoded by inter-frame prediction and the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on a preset fourth index value.
示例性地,若点P的父节点的子节点数量等于1,则点P的_resPhiOldSign根据前一已解码点的信息进行更新。如果前一已解码点采用的是帧内预测,并且其方位角残差的符号大于0,则_resPhiOldSign=0,其中0为预设第一索引值;否则_resPhiOldSign=1,其中1为预设第二索引值。如果前一已解码点采用了帧间预测,并且采用的帧间预测点是前两个帧间预测点中的一个,则_resPhiOldSign=2,其中2为预设第三索引值;否则_resPhiOldSign=3,其中3为预设第四索引值。Exemplarily, if the number of child nodes of the parent node of point P is equal to 1, the _resPhiOldSign of point P is updated according to the information of the previous decoded point. If the previous decoded point adopts intra-frame prediction and the sign of its azimuth residual is greater than 0, then _resPhiOldSign = 0, where 0 is the preset first index value; otherwise _resPhiOldSign = 1, where 1 is the preset second index value. If the previous decoded point adopts inter-frame prediction, and the inter-frame prediction point adopted is one of the first two inter-frame prediction points, then _resPhiOldSign = 2, where 2 is the preset third index value; otherwise _resPhiOldSign = 3, where 3 is the preset fourth index value.
在一些实施例中,当前节点的父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0的情况下,解码器也可以基于当前节点的父节点,确定方位角上下文索引;基于方位角上下文索引,确定方位角残差上下文。这种情况下,当前节点的父节点即为当前节点的前一个已解码节点,解码器基于当前节点的父节点,确定方位角上下文索引的过程与上述基于当前节点的前一个已解码节点,确定方位角上下文索引的过程描述一致,此处不再赘述。In some embodiments, when the number of child nodes of the parent node of the current node is greater than or equal to a preset child node number threshold, and when the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, the decoder may also determine the azimuth context index based on the parent node of the current node; and determine the azimuth residual context based on the azimuth context index. In this case, the parent node of the current node is the previous decoded node of the current node, and the process of the decoder determining the azimuth context index based on the parent node of the current node is consistent with the above-mentioned process description of determining the azimuth context index based on the previous decoded node of the current node, and will not be repeated here.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,解码器也可以基于预设第四索引值确定所述当前节点对应的方位角残差上下文。具体过程与上述相同过程描述一致,此处不再赘述。It should be noted that, in some embodiments, when the current node does not have a parent node, the decoder may also determine the azimuth residual context corresponding to the current node based on a preset fourth index value. The specific process is consistent with the above-mentioned same process description, and will not be repeated here.
可以理解的是,解码器基于父节点的子节点数量,确定方位角残差解码上下文,从而不依赖于前一已解码节点的解码信息来确定当前节点残差解码的上下文,减小了线间依赖,提高了解码效率和解码性能。It can be understood that the decoder determines the azimuth residual decoding context based on the number of child nodes of the parent node, thereby determining the context of the residual decoding of the current node without relying on the decoding information of the previous decoded node, reducing inter-line dependence and improving decoding efficiency and decoding performance.
对于基于父节点的子节点数量,确定当前节点对应的半径残差上下文的过程,在一些实施例中,解码器在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个,确定当前节点对应的半径残差上下文。Regarding the process of determining the radius residual context corresponding to the current node based on the number of child nodes of the parent node, in some embodiments, the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold; and determines the radius residual context corresponding to the current node based on at least one of the first radius context index, the second radius context index, and the third radius context index.
本申请实施例中,第一半径上下文索引用于表征前一个已解码点是否采用了帧间预测;第二半 径上下文索引用于表征前一个已解码点的方位角采样间隔是否等于零;第三半径上下文索引用于表征前一个点方位角残差的符号是否小于0。In the embodiment of the present application, the first radius context index is used to indicate whether the previous decoded point adopts inter-frame prediction; the second radius context index is used to indicate whether the previous decoded point adopts inter-frame prediction; The radius context index is used to indicate whether the azimuth sampling interval of the previous decoded point is equal to zero; the third radius context index is used to indicate whether the sign of the azimuth residual of the previous point is less than 0.
示例性地,第一半径上下文索引可以是prevInterFlag,第二半径上下文索引可以是Ipenulm,第三半径上下文索引可以是Sres,prec。其中,prevInterFlag、Ipenulm与Sres,prec均为布尔值,初始值为false。预设第一标志位值可以是false,也即0。在当前点P的父节点的子节点数量为2的情况下,解码器将点P对应的prevInterFlag、Ipenulm、与Sres,prec中的至少一个设置为false,基于prevInterFlag、Ipenulm、与Sres,prec中的至少一个确定当前节点对应的半径残差上下文。Exemplarily, the first radius context index may be prevInterFlag, the second radius context index may be I penulm , and the third radius context index may be S res,prec . Among them, prevInterFlag, I penulm and S res,prec are all Boolean values, and the initial value is false. The preset first flag value may be false, that is, 0. When the number of child nodes of the parent node of the current point P is 2, the decoder sets at least one of prevInterFlag, I penulm , and S res,prec corresponding to point P to false, and determines the radius residual context corresponding to the current node based on at least one of prevInterFlag, I penulm , and S res,prec .
在一些实施例中,G-PCC中可以包括3x2x8的第二预设上下文列表,解码器可以根据公式(2)-公式(4),基于第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个,在第二预设上下文列表中确定当前节点对应的半径残差上下文,如下:
ctxsign=ctxTab[interFlag?2:prevInterFlag][ctxL][ctxR] (3)
ctxR=(Ipenulm?4:0)+(Ilast?2:0)+Sres,prec (4)In some embodiments, the G-PCC may include a second preset context list of 3x2x8, and the decoder may determine the radius residual context corresponding to the current node in the second preset context list based on at least one of the first radius context index, the second radius context index, and the third radius context index according to formula (2) to formula (4), as follows:
ctx sign =ctxTab[interFlag? 2:prevInterFlag][ctxL][ctxR] (3)
ctxR=(I penulm ?4:0)+(I last ?2:0)+S res,prec (4)
公式(4)中,Ilast是一个布尔值,用于指示当前节点的方位角采样间隔是否等于零。In formula (4), I last is a Boolean value used to indicate whether the azimuth sampling interval of the current node is equal to zero.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,解码器根据当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个,确定当前节点对应的半径残差上下文。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index based on the previous decoded node of the current node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determines the radius residual context corresponding to the current node.
在一些实施例中,解码器根据当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个的过程可以包括:In some embodiments, the process of the decoder determining at least one of the first radius context index, the second radius context index, and the third radius context index according to a decoded node before the current node may include:
根据前一个已解码节点是否采用帧间预测,确定第一半径上下文索引;根据前一个已解码节点的方位角采样间隔是否为零,确定第二半径上下文索引;根据前一个已解码节点的半径残差的符号是否小于预设符号阈值,确定第三半径上下文索引。The first radius context index is determined according to whether the previous decoded node adopts inter-frame prediction; the second radius context index is determined according to whether the azimuth sampling interval of the previous decoded node is zero; the third radius context index is determined according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
示例性地,若当前节点P的父节点的子节点数量等于1,则prevInterFlag根据前一已解码点,也即点P的父节点是否采用帧间预测进行更新。Ipenulm根据前一个已解码点的方位角采样间隔进行更新。如果前一个已解码点的方位角采样间隔不等于0,则Ipenulm=false。如果前一个已解码点的方位角采样间隔等于0,则Ipenulm=true。Sres,prec根据前一个已解码点的半径残差的符号进行更新。如果前一个已解码点的半径残差的符号大于0(0为预设符号阈值),则Sres,prec=false;如果前一个已解码点的半径残差的符号小于0,则Sres,prec=true。Exemplarily, if the number of child nodes of the parent node of the current node P is equal to 1, prevInterFlag is updated according to whether the previous decoded point, that is, the parent node of point P, adopts inter-frame prediction. I penulm is updated according to the azimuth sampling interval of the previous decoded point. If the azimuth sampling interval of the previous decoded point is not equal to 0, I penulm = false. If the azimuth sampling interval of the previous decoded point is equal to 0, I penulm = true. S res,prec is updated according to the sign of the radius residual of the previous decoded point. If the sign of the radius residual of the previous decoded point is greater than 0 (0 is the preset sign threshold), S res,prec = false; if the sign of the radius residual of the previous decoded point is less than 0, S res,prec = true.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0的情况下,解码器还可以基于当前节点的父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个,确定当前节点对应的半径残差上下文。这种情况下,当前节点的父节点相当于当前节点的前一个已解码节点,解码器基于当前节点的父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个的过程与上述解码器根据当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个的过程描述一致,此处不再赘述。In some embodiments, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, the decoder may also determine at least one of the first radius context index, the second radius context index, and the third radius context index based on the parent node of the current node; and determine the radius residual context corresponding to the current node based on at least one of the first radius context index, the second radius context index, and the third radius context index. In this case, the parent node of the current node is equivalent to the previous decoded node of the current node, and the process by which the decoder determines at least one of the first radius context index, the second radius context index, and the third radius context index based on the parent node of the current node is consistent with the process description of the decoder determining at least one of the first radius context index, the second radius context index, and the third radius context index based on the previous decoded node of the current node, and will not be repeated here.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,解码器也可以将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个,确定当前节点对应的半径残差上下文。具体过程与上述相同过程描述一致,此处不再赘述。It should be noted that, in some embodiments, when the current node does not have a parent node, the decoder may also determine at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node. The specific process is consistent with the above-mentioned same process description and will not be repeated here.
可以理解的是,解码器基于父节点的子节点数量,确定半径残差解码上下文,从而不依赖于前一已解码节点的解码信息来确定当前节点残差解码的上下文,减小了线间依赖,提高了解码效率和解码性能。It can be understood that the decoder determines the radius residual decoding context based on the number of child nodes of the parent node, thereby determining the context of the residual decoding of the current node without relying on the decoding information of the previous decoded node, reducing inter-line dependencies and improving decoding efficiency and decoding performance.
对于基于父节点的子节点数量,确定当前节点对应的帧间标志位解码上下文的过程,在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,解码器将预设初始值确定为当前节点对应的帧间标志位解码上下文。Regarding the process of determining the inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node, in some embodiments, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, the decoder determines the preset initial value as the inter-frame flag decoding context corresponding to the current node.
示例性地,帧间标志位解码上下文可以是interFlagBuffer。若当前节点P的父节点的子节点数量为2,则点P的interFlagBuffer初始为0。 Exemplarily, the inter-frame flag decoding context may be interFlagBuffer. If the number of child nodes of the parent node of the current node P is 2, the interFlagBuffer of point P is initially 0.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,将当前节点之前至少一个已解码节点的帧间预测标志位的值,确定为当前节点对应的帧间标志位解码上下文。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, the value of the inter-frame prediction flag of at least one decoded node before the current node is determined as the inter-frame flag decoding context corresponding to the current node.
示例性地,解码器可以设置一个用于存储当前节点之前5个已解码节点的帧间预测标志位(interFlag)的缓存器(interFlagBuffer)。若当前节点P的父节点的子节点数量为1,则点P的interFlagBuffer存储前5个已解码点的interFlag的值。Exemplarily, the decoder may set a buffer (interFlagBuffer) for storing the inter-frame prediction flags (interFlag) of the five decoded nodes before the current node. If the number of child nodes of the parent node of the current node P is 1, the interFlagBuffer of point P stores the interFlag values of the first five decoded points.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,解码器也可以将预设初始值确定为当前节点对应的帧间标志位解码上下文。It should be noted that, in some embodiments, when the current node does not have a parent node, the decoder may also determine the preset initial value as the inter-frame flag decoding context corresponding to the current node.
S402、基于残差解码上下文,对当前节点对应的预测残差编码进行解码,以及/或者,基于帧间标志位解码上下文,对当前节点对应的帧间预测标志位编码进行解码,确定当前节点对应的预测残差和/或帧间预测标志位。S402. Based on the residual decoding context, decode the prediction residual encoding corresponding to the current node, and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag encoding corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node.
S403、在帧间预测标志位表征当前节点未采用帧间预测编码的情况下,基于预测残差与帧内预测值,确定当前节点对应的几何预测信息。S403: When the inter-frame prediction flag indicates that the current node does not adopt inter-frame prediction coding, determine the geometric prediction information corresponding to the current node based on the prediction residual and the intra-frame prediction value.
本申请实施例中,解码器基于上述过程,确定残差解码上下文并利用残差解码上下文对预测残差编码进行解码,确定当前节点对应的预测残差。解码器确定帧间标志位解码上下文并利用帧间标志位解码上下文对帧间预测标志位编码进行解码,确定当前节点对应的帧间预测标志位。如果帧间预测标志位表征当前节点未采用帧间预测编码,说明预测残差为帧内预测值对应的预测残差,解码器基于预测残差与帧内预测值进行几何信息的恢复和重构,进而确定当前节点对应的几何预测信息。In an embodiment of the present application, the decoder determines the residual decoding context based on the above process and uses the residual decoding context to decode the prediction residual code to determine the prediction residual corresponding to the current node. The decoder determines the inter-frame flag decoding context and uses the inter-frame flag decoding context to decode the inter-frame prediction flag code to determine the inter-frame prediction flag corresponding to the current node. If the inter-frame prediction flag indicates that the current node does not use inter-frame prediction coding, it means that the prediction residual is the prediction residual corresponding to the intra-frame prediction value. The decoder recovers and reconstructs the geometric information based on the prediction residual and the intra-frame prediction value, and then determines the geometric prediction information corresponding to the current node.
可以理解的是,本申请实施例中基于父节点的子节点数量确定帧间标志位解码上下文,从而不依赖于前一已解码节点的解码信息来确定当前节点残差解码的上下文,减小了线间依赖,提高了解码效率和解码性能。It can be understood that in the embodiment of the present application, the inter-frame flag decoding context is determined based on the number of child nodes of the parent node, so that the context of residual decoding of the current node is determined without relying on the decoding information of the previous decoded node, thereby reducing inter-line dependence and improving decoding efficiency and decoding performance.
在一些实施例中,上述S402之后,还可以如图8所示,包括S501-S502,如下:In some embodiments, after the above S402, as shown in FIG8, S501-S502 may be included as follows:
S501、在帧间预测标志位表征当前节点采用帧间预测编码的情况下,根据父节点对当前节点进行帧间预测,确定当前节点对应的帧间预测值。S501 . When the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, inter-frame prediction is performed on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node.
S502、基于预测残差与帧间预测值,确定当前节点对应的几何预测信息。S502: Determine geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
本申请实施例中,在帧间预测标志位表征当前节点采用帧间预测编码的情况下,需要根据帧间预测值结合预测残差进行解码。这里,解码器可以根据当前节点的父节点对当前节点进行帧间预测,确定当前节点对应的帧间预测值。In the embodiment of the present application, when the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, decoding needs to be performed based on the inter-frame prediction value combined with the prediction residual. Here, the decoder can perform inter-frame prediction on the current node based on the parent node of the current node to determine the inter-frame prediction value corresponding to the current node.
在一些实施例中,解码器在点云的参考点云中,确定与父节点在同一激光束上,且与父节点具有相同方位角的初始参考点;在参考点云的同一激光束上,确定方位角大于初始参考点的方位角的第一参考点与第二参考点;基于第一参考点与第二参考点,确定当前节点对应的帧间预测值。其中,参考点云为全局运动补偿后的参考点云。In some embodiments, the decoder determines an initial reference point on the same laser beam as the parent node and having the same azimuth as the parent node in the reference point cloud of the point cloud; determines a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuth is greater than that of the initial reference point; and determines an inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point. The reference point cloud is a reference point cloud after global motion compensation.
示例性地,对于预测树中第i线(第i束激光)上的当前节点P,先确定点P的父节点(ParDecP0);在全局运动补偿后的参考点云的预测树中的第i线中,确定与ParDecP0具有相同量化方位角的点,作为初始参考点(GMCrefFrameP0);在全局运动补偿后的参考点云的预测树中的第i线中,确定方位角大于GMCrefFrameP0的方位角的第一个点(GMCinterPredPt)作为第一参考点,再确定方位角大于GMC interPredPt的方位角的第一个点(AdditionalGMC interPredPt)作为第二参考点,将第一参考点和第二参考点结合原有的两个帧间预测候选点进行帧间预测,确定当前节点对应的帧间预测值。Exemplarily, for the current node P on the i-th line (i-th laser beam) in the prediction tree, first determine the parent node (ParDecP0) of point P; in the i-th line in the prediction tree of the reference point cloud after global motion compensation, determine the point with the same quantized azimuth as ParDecP0 as the initial reference point (GMCrefFrameP0); in the i-th line in the prediction tree of the reference point cloud after global motion compensation, determine the first point (GMCinterPredPt) with an azimuth greater than that of GMCrefFrameP0 as the first reference point, and then determine the first point (AdditionalGMC interPredPt) with an azimuth greater than that of GMC interPredPt as the second reference point, combine the first reference point and the second reference point with the original two inter-frame prediction candidate points for inter-frame prediction, and determine the inter-frame prediction value corresponding to the current node.
可以理解的是,解码器在帧间预测搜索参考点时,根据当前节点的父节点进行搜索,提高了搜索效率和搜索精度,从而提高了帧间预测的效率和性能,进而提高了解码性能。It can be understood that when searching for reference points in inter-frame prediction, the decoder searches according to the parent node of the current node, which improves the search efficiency and search accuracy, thereby improving the efficiency and performance of inter-frame prediction, and further improving the decoding performance.
下面,说明本申请实施例提供的一种可选的应用于编码器的编码方法。An optional encoding method applied to an encoder provided in an embodiment of the present application is described below.
参见图9,图9是本申请实施例提供的编码方法的一个可选的流程示意图,将结合图9示出的步骤进行说明。Refer to Figure 9, which is an optional flow chart of the encoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 9.
S601、确定点云对应的预测树。S601, determining a prediction tree corresponding to the point cloud.
S602、基于当前节点的父节点在预测树中的子节点数量,确定当前节点对应的当前预测列表。S602: Determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值的情况下,编码器确定预设预测列表为当前预测列表。In some embodiments, when the number of child nodes of a parent node is greater than or equal to a preset child node number threshold, the encoder determines that the preset prediction list is the current prediction list.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,编码器基于前一个已编码节点的重建信息,对前一个已解码节点对应的预测列表进行更新,确定当前预测列表。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, the encoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list.
在一些实施例中,在当前节点不存在父节点的情况下,编码器确定预设预测列表为所述当前预 测列表。In some embodiments, when the current node does not have a parent node, the encoder determines that the preset prediction list is the current prediction list. Test list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值。编码器在确定预设预测列表为当前预测列表之前,将点云对应的半径最小值或半径最大值作为预设预测列表中的半径预测值;和/或,根据预设方位角最小值或预设方位角中位值作为预设预测列表中的方位角预测值,从而确定预设预测列表。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value. Before determining the preset prediction list as the current prediction list, the encoder uses the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or uses the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list, thereby determining the preset prediction list.
在一些实施例中,编码器在确定预设预测列表为当前预测列表之前,根据点云的几何精度,基于点云对应的半径最小值,以递增的方式确定预设预测列表中的至少一个半径预测值,从而确定预设预测列表。In some embodiments, before determining that a preset prediction list is the current prediction list, the encoder determines at least one radius prediction value in the preset prediction list in an incremental manner according to the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud, thereby determining the preset prediction list.
本申请实施例中,S601-S602的过程与S101-S102中的相同过程描述一致,此处不再赘述。In the embodiment of the present application, the process of S601-S602 is consistent with the same process description in S101-S102, and will not be repeated here.
S603、基于当前预测列表对当前节点进行预测,确定当前节点对应的至少一个帧内预测值。S603: Predict the current node based on the current prediction list to determine at least one intra-frame prediction value corresponding to the current node.
本申请实施例中,编码器基于当前预测列表中的至少一对预测值,对当前节点进行预测,从而确定当前节点对应的至少一个帧内预测值。In an embodiment of the present application, the encoder predicts the current node based on at least one pair of prediction values in the current prediction list, thereby determining at least one intra-frame prediction value corresponding to the current node.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值,且当前节点的子节点数量大于或等于预设子节点数量阈值的情况下,编码器根据点云中已编码的头节点的数量与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is greater than or equal to a preset child node number threshold, the encoder determines at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list.
在一些实施例中,在父节点的子节点数量大于或等于预设子节点数量阈值,当前节点的子节点数量小于预设子节点数量阈值且大于0的情况下,编码器基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the number of child nodes of a parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
在一些实施例中,在父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,编码器基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the number of child nodes of a parent node is less than a preset child node number threshold and greater than 0, the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,说明当前节点的子节点数量大于或等于预设子节点数量阈值。编码器根据点云中已编码的头节点的数量与当前预测列表,确定当前节点对应的至少一个帧内预测值。It should be noted that, in some embodiments, when the current node does not have a parent node, it indicates that the number of child nodes of the current node is greater than or equal to a preset child node number threshold. The encoder determines at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list.
在一些实施例中,编码器根据点云中已解码的头节点的数量,确定当前光束预测值;根据当前预测列表中至少一对预测值中的至少一个半径预测值与至少一个方位角预测值,结合当前光束预测值,确定当前节点对应的至少一个帧内预测值。In some embodiments, the encoder determines a current beam prediction value based on the number of decoded head nodes in the point cloud; determines at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
在一些实施例中,至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;上述根据点云中已编码的头节点的数量与当前预测列表,确定当前节点对应的至少一个帧内预测值,包括:In some embodiments, each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the above-mentioned determining, based on the number of encoded head nodes in the point cloud and the current prediction list, at least one intra-frame prediction value corresponding to the current node includes:
根据点云中已解码的头节点的数量,确定当前光束预测值;根据当前预测列表中至少一对预测值中的至少一个半径预测值与至少一个方位角预测值,结合当前光束预测值,确定当前节点对应的至少一个帧内预测值。Determine the current beam prediction value according to the number of decoded head nodes in the point cloud; determine at least one intra-frame prediction value corresponding to the current node according to at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
在一些实施例中,上述基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值,包括:In some embodiments, determining at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list includes:
对于至少一个帧内预测值中的第一个帧内预测值,根据父节点的重建信息中的父节点半径重建值、父节点方位角重建值与父节点光束索引重建值,确定第一个帧内预测值中的当前半径预测值、当前方位角预测值与当前光束预测值;对于至少一个帧内预测值中的第n个帧内预测值,根据当前预测列表中第n对预测值中的半径预测值,确定第n个帧内预测值中的当前半径预测值;n为大于1的整数;根据第n对预测值中的方位角预测值、父节点方位角重建值以及预设的方位角采样间隔,确定第n个帧内预测值中的当前方位角预测值;根据父节点光束索引重建值,确定第n个帧内预测值中的当前光束预测值。For the first intra-frame prediction value among at least one intra-frame prediction value, determine the current radius prediction value, current azimuth prediction value and current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, parent node azimuth reconstruction value and parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value among at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value.
示例性地,在当前节点P的父节点的子节点数量为2,且点P的子节点数量为2的情况下,点P对应的预测列表为预设预测列表点P的至少一个预测值其中i是已编码的头节点的数量,也即已编码的子节点数量为2的节点数量,i的初始值为0。For example, when the number of child nodes of the parent node of the current node P is 2, and the number of child nodes of point P is 2, the prediction list corresponding to point P is the preset prediction list At least one predicted value of point P Where i is the number of encoded head nodes, that is, the number of nodes whose number of encoded child nodes is 2, and the initial value of i is 0.
示例性地,如果当前节点P的父节点的子节点数量为2,且点P的子节点数量为1,点P的当前预测列表为预设预测列表,包含至少一对预测值编码器基于父节点半径重建值r0、父节点方位角重建值与父节点光束索引重建值i0,确定第一个帧内预测值基于当前预测列表中第n对预测值,确定第n个帧内预测值从而确定至少一个帧内预测值。其中,j=n-1。For example, if the number of child nodes of the parent node of the current node P is 2, and the number of child nodes of point P is 1, the current prediction list of point P is a preset prediction list, which contains at least one pair of prediction values The encoder reconstructs the value r 0 based on the radius of the parent node and the azimuth of the parent node Reconstruct the value i 0 with the parent node beam index to determine the first intra-frame prediction value Based on the nth pair of prediction values in the current prediction list, determine the nth intra prediction value Thus, at least one intra-frame prediction value is determined. Wherein, j=n-1.
示例性地,在当前节点P的父节点子节点数量等于1的情况下,编码器基于父节点半径重建值r0、 父节点方位角重建值与父节点光束索引重建值i0,确定第一个帧内预测值基于当前预测列表中第n对预测值,确定第n个帧内预测值从而确定至少一个帧内预测值。其中,j=n-1。For example, when the number of child nodes of the parent node of the current node P is equal to 1, the encoder reconstructs the values r 0 , Parent node azimuth reconstruction value Reconstruct the value i 0 with the parent node beam index to determine the first intra-frame prediction value Based on the nth pair of prediction values in the current prediction list, determine the nth intra prediction value Thus, at least one intra-frame prediction value is determined. Wherein, j=n-1.
S604、基于至少一个帧内预测值,确定当前节点对应的几何信息编码。S604: Determine the geometric information encoding corresponding to the current node based on at least one intra-frame prediction value.
本申请实施例中,编码器可以根据率失真代价,从至少一个帧内预测值中确定出目标帧内预测值;并对当前节点进行帧间预测,确定当前节点对应的帧间预测值;在从目标帧内预测值与帧间预测值中,根据率失真代价确定出当前节点对应的预测值。编码器根据当前节点的真实值与预测值确定残差,基于残差和预测值进行编码,确定当前节点对应的几何信息编码。In the embodiment of the present application, the encoder can determine the target intra-frame prediction value from at least one intra-frame prediction value according to the rate-distortion cost; and perform inter-frame prediction on the current node to determine the inter-frame prediction value corresponding to the current node; and determine the prediction value corresponding to the current node from the target intra-frame prediction value and the inter-frame prediction value according to the rate-distortion cost. The encoder determines the residual according to the true value and the prediction value of the current node, performs encoding based on the residual and the prediction value, and determines the geometric information encoding corresponding to the current node.
这里,需要说明的是,在当前节点对应的预测值为目标帧内预测值的情况下,编码器根据目标帧内预测值在当前预测列表中对应的预测值,确定预测索引。将预测索引与残差等信息进行编码,生成几何信息编码并传输至解码端。Here, it should be noted that, when the prediction value corresponding to the current node is the target intra-frame prediction value, the encoder determines the prediction index according to the prediction value corresponding to the target intra-frame prediction value in the current prediction list, encodes the prediction index and residual information, generates geometric information code and transmits it to the decoding end.
可以理解的是,本申请实施例中,根据父节点在预测树中的子节点数量,确定当前节点对应的预测列表,从而可以独立地对点云中的各个激光束进行编码,不同激光束之间编码互不影响,可以并行地执行,从而降低了编码时延,提高了编码效率,进而提高了编码性能。It can be understood that in the embodiment of the present application, the prediction list corresponding to the current node is determined based on the number of child nodes of the parent node in the prediction tree, so that each laser beam in the point cloud can be encoded independently, and the encoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding delay, improving the encoding efficiency, and thus improving the encoding performance.
在一些实施例中,所述基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码,包括:In some embodiments, determining the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value includes:
基于所述至少一个帧内预测值,确定所述当前节点对应的预测残差;Determining a prediction residual corresponding to the current node based on the at least one intra-frame prediction value;
基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文和/或帧间标志位编码上下文;Determine, based on the number of child nodes of the parent node, a residual coding context and/or an inter-frame flag coding context corresponding to the current node;
基于所述残差编码上下文,对所述当前节点对应的预测残差进行编码,以及/或者,基于所述帧间标志位编码上下文,对所述当前节点对应的帧间预测标志位进行编码,确定所述当前节点对应的预测残差编码和/或帧间预测标志位编码,并基于所述预测残差编码和/或帧间预测标志位编码确定所述几何信息编码。Based on the residual coding context, the prediction residual corresponding to the current node is encoded, and/or based on the inter-frame flag coding context, the inter-frame prediction flag corresponding to the current node is encoded, the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node are determined, and the geometric information coding is determined based on the prediction residual coding and/or inter-frame prediction flag coding.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,基于预设第四索引值确定所述方位角残差上下文。When the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, the azimuth residual context is determined based on a preset fourth index value.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。When the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, the azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: an azimuth prediction residual; the residual coding context comprises: an azimuth residual context; the method further comprises:
在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。When the current node does not have a parent node, the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
在一些实施例中,所述基于所述当前节点的前一个已编码节点,确定所述当前节点对应的方位角残差上下文,包括:In some embodiments, the determining, based on a previously encoded node of the current node, an azimuth residual context corresponding to the current node comprises:
在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;When the previous coded node is intra-frame prediction coded and the sign of the azimuth residual of the previous coded node is greater than a preset sign threshold, determining the azimuth context index based on a preset first index value;
在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;When the previous coded node is intra-prediction coded and the sign of the azimuth residual of the previous coded node is less than or equal to the preset sign threshold, determining the azimuth context index based on a preset second index value;
在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;In a case where the previous coded node is inter-frame prediction coded and the inter-frame prediction point used for coding belongs to the first m candidate inter-frame prediction points corresponding to the previous coded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点不属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引;When the previous encoded node is inter-frame prediction encoded, and the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node, determining the azimuth context index based on a preset fourth index value;
基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。Based on the azimuth context index, determine the azimuth residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点,确定方位角上下文索引; When the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, determine the azimuth context index based on the parent node;
基于所述方位角上下文索引,确定所述方位角残差上下文。Based on the azimuth context index, the azimuth residual context is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差解码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual decoding context corresponding to the current node includes:
在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,根据所述当前节点的前一个已编码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;When the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, determine at least one of a first radius context index, a second radius context index and a third radius context index according to a previous encoded node of the current node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: a radius prediction residual; the residual decoding context comprises: a radius residual context; the method further comprises:
在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the current node does not have a parent node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述根据所述当前节点的前一个已编码节点,确定所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,包括以下至少之一:In some embodiments, the determining, according to a previous encoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
根据所述前一个已编码节点是否采用帧间预测,确定所述第一半径上下文索引;Determining the first radius context index according to whether the previous encoded node adopts inter-frame prediction;
根据所述前一个已编码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;Determining the second radius context index according to whether the azimuth sampling interval of the previous encoded node is zero;
根据所述前一个已编码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。The third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the number of child nodes of the parent node, determining the residual coding context corresponding to the current node includes:
在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;When the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, determine at least one of the first radius context index, the second radius context index, and the third radius context index based on the parent node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述基于所述至少一个帧内预测值,确定所述当前节点对应的预测残差,包括:In some embodiments, determining the prediction residual corresponding to the current node based on the at least one intra-frame prediction value includes:
根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;Performing inter-frame prediction on the current node according to the parent node to determine an inter-frame prediction value corresponding to the current node;
基于所述至少一个帧内预测值与所述帧间预测值各自的率失真代价,确定所述当前节点的几何预测信息;Determining geometric prediction information of the current node based on rate-distortion costs of the at least one intra-frame prediction value and the inter-frame prediction value;
基于所述几何预测信息,确定所述当前节点对应的预测残差。Based on the geometric prediction information, a prediction residual corresponding to the current node is determined.
在一些实施例中,所述根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值,包括:In some embodiments, performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;In the reference point cloud of the point cloud, determining an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node;
在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;Determine, on the same laser beam of the reference point cloud, a first reference point and a second reference point whose azimuth angles are greater than the azimuth angle of the initial reference point;
基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。Based on the first reference point and the second reference point, an inter-frame prediction value corresponding to the current node is determined.
在一些实施例中,基于所述父节点的子节点数量,确定所述当前节点对应的帧间标志位编码上下文,包括:In some embodiments, determining the inter-frame flag coding context corresponding to the current node based on the number of child nodes of the parent node includes:
在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将预设初始值确定为所述当前节点对应的帧间标志位编码上下文。In a case where the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, a preset initial value is determined as the inter-frame flag coding context corresponding to the current node.
在一些实施例中,基于所述父节点的子节点数量,确定所述当前节点对应的帧间标志位解码上 下文,包括:In some embodiments, based on the number of child nodes of the parent node, the inter-frame flag bit decoding corresponding to the current node is determined. The following, including:
在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,将所述当前节点之前至少一个已编码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位编码上下文。When the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, the value of the inter-frame prediction flag of at least one encoded node before the current node is determined as the inter-frame flag coding context corresponding to the current node.
在一些实施例中,所述方法还包括:In some embodiments, the method further comprises:
在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In the case that the current node does not have a parent node, a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
这里,编码器实施例中的编码方法与上述解码器实施例中的解码方法是对应的,具有同解码方法实施例相似的有益效果。对于上述编码方法中未披露的技术细节,可参考解码器实施例中相应过程的描述来理解。Here, the encoding method in the encoder embodiment corresponds to the decoding method in the above decoder embodiment, and has similar beneficial effects as the decoding method embodiment. For technical details not disclosed in the above encoding method, reference can be made to the description of the corresponding process in the decoder embodiment for understanding.
下面,说明本申请实施例提供的另一种可选的应用于解码器的解码方法。Next, another optional decoding method applied to a decoder provided in an embodiment of the present application is described.
参见图10,图10是本申请实施例提供的解码方法的一个可选的流程示意图,将结合图10示出的步骤进行说明。Refer to Figure 10, which is an optional flowchart of the decoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 10.
S701、解析码流,确定点云对应的预测树以及当前节点对应的预测索引。S701, parsing the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node.
本申请实施例中,解码器解析码流,确定点云对应的预测树以及当前节点对应的预测索引;预测树包括至少一个激光束上的节点。In an embodiment of the present application, the decoder parses the bit stream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node; the prediction tree includes at least one node on a laser beam.
S702、根据当前节点的父节点在预测树中的位置,确定当前节点对应的当前预测列表。S702: Determine the current prediction list corresponding to the current node according to the position of the parent node of the current node in the prediction tree.
本申请实施例中,解码器可以根据当前节点的父节点在预测树中的位置,确定对当前节点进行帧内预测的当前预测列表。In the embodiment of the present application, the decoder can determine the current prediction list for performing intra-frame prediction on the current node according to the position of the parent node of the current node in the prediction tree.
在一些实施例中,在当前节点的父节点为预测树中的头节点的情况下,解码器确定预设预测列表为所述当前预测列表。In some embodiments, when the parent node of the current node is the head node in the prediction tree, the decoder determines the preset prediction list as the current prediction list.
在一些实施例中,在当前节点的父节点不为预测树中的头节点情况下,解码器基于当前节点的前一个已解码节点的重建信息,对前一个已解码节点对应的预测列表进行更新,确定当前预测列表。In some embodiments, when the parent node of the current node is not the head node in the prediction tree, the decoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,解码器确定预设预测列表为当前预测列表。It should be noted that, in some embodiments, when the current node does not have a parent node, the decoder determines the preset prediction list as the current prediction list.
本申请实施例中,父节点为预测树中的头节点相当于S102过程中的父节点的子节点数量大于或等于预设子节点数量阈值;父节点不为头节点相当于S102过程中的父节点的子节点数量小于预设子节点数量阈值且大于0。上述过程与S102中对应的过程描述一致,此处不再赘述。In the embodiment of the present application, the parent node is the head node in the prediction tree, which is equivalent to the number of child nodes of the parent node in the S102 process being greater than or equal to the preset child node number threshold; the parent node is not the head node, which is equivalent to the number of child nodes of the parent node in the S102 process being less than the preset child node number threshold and greater than 0. The above process is consistent with the corresponding process description in S102, and will not be repeated here.
S703、基于预测索引与当前预测列表,确定当前节点对应的帧内预测值。S703: Determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
这里S703的过程前述解码器实施例中的S103过程描述一致,此处不再赘述。The process of S703 here is consistent with the description of the process of S103 in the aforementioned decoder embodiment, and will not be repeated here.
可以理解的是,本申请实施例中,可以根据当前节点的父节点在预测树中的位置,确定当前节点对应的预测列表,从而可以独立地对点云中的各个激光束进行解码,不同激光束之间解码互不影响,可以并行地执行,从而降低了解码时延,提高了解码效率,进而提高了解码性能。It can be understood that in the embodiment of the present application, the prediction list corresponding to the current node can be determined according to the position of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be decoded independently, and the decoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the decoding delay, improving the decoding efficiency, and thus improving the decoding performance.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述方法还包括:In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the method further includes:
将所述点云对应的半径最小值或半径最大值作为所述预设预测列表中的半径预测值;和/或,Using the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or,
将预设方位角最小值或预设方位角中位值作为所述预设预测列表中的方位角预测值。The preset azimuth minimum value or the preset azimuth median value is used as the azimuth prediction value in the preset prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述方法还包括:In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the method further includes:
根据所述点云的几何精度,基于所述点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值。According to the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud, at least one radius prediction value in the preset prediction list is determined in an incremental manner.
在一些实施例中,所述基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值,包括:In some embodiments, determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
在所述当前节点为头节点的情况下,根据所述点云中已解码的头节点的数量、所述预测索引与所述当前预测列表,确定当前节点对应的帧内预测值。In the case where the current node is a head node, an intra-frame prediction value corresponding to the current node is determined according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list.
在一些实施例中,所述基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值,包括:In some embodiments, determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
在所述当前节点不为头节点的情况下,基于所述父节点的重建信息、所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。When the current node is not a head node, an intra-frame prediction value corresponding to the current node is determined based on the reconstruction information of the parent node, the prediction index and the current prediction list.
在一些实施例中,所述基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值,包括:In some embodiments, determining the intra prediction value corresponding to the current node based on the prediction index and the current prediction list includes:
基于所述父节点的重建信息、所述预测索引以及所述当前预测列表,确定所述当前节点对应的 帧内预测值。Based on the reconstruction information of the parent node, the prediction index and the current prediction list, determine the node corresponding to the current node. Intra-frame prediction value.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述根据所述点云中已解码的头节点的数量、所述预测索引与所述当前预测列表,确定当前节点对应的帧内预测值,包括:In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; and determining the intra-frame prediction value corresponding to the current node according to the number of decoded head nodes in the point cloud, the prediction index, and the current prediction list includes:
根据所述点云中已解码的头节点的数量,确定所述当前光束预测值;Determining the current beam prediction value according to the number of decoded head nodes in the point cloud;
根据所述预测索引在所述当前预测列表中对应的预测值,确定所述当前半径预测值与所述当前方位角预测值。The current radius prediction value and the current azimuth prediction value are determined according to the prediction value corresponding to the prediction index in the current prediction list.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述基于所述父节点的重建信息、所述预测索引与所述当前预测列表,确定所述当前节点对应的几何信息预测值,包括:In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the determining the geometric information prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index, and the current prediction list includes:
在所述预测索引对应所述当前预测列表中的第一对预测值的情况下,根据所述父节点的重建信息中的父节点光束索引重建值、父节点半径重建值与父节点方位角重建值,确定所述当前光束预测值、所述当前半径预测值与当前方位角预测值;In a case where the prediction index corresponds to the first pair of prediction values in the current prediction list, determining the current beam prediction value, the current radius prediction value, and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value, and the parent node azimuth reconstruction value in the reconstruction information of the parent node;
在所述预测索引对应所述当前预测列表中的第n对预测值的情况下,根据所述第n对预测值中的半径预测值,确定所述当前半径预测值;n为大于1的整数;In a case where the prediction index corresponds to an nth pair of prediction values in the current prediction list, determining the current radius prediction value according to the radius prediction value in the nth pair of prediction values; n is an integer greater than 1;
根据所述第n对预测值中的方位角预测值、所述父节点方位角重建值以及预设的方位角采样间隔,确定所述当前方位角预测值;Determine the current azimuth prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value, and a preset azimuth sampling interval;
根据所述父节点光束索引重建值,确定所述当前光束预测值。The current beam prediction value is determined according to the parent node beam index reconstruction value.
在一些实施例中,所述方法还包括:In some embodiments, the method further comprises:
基于所述当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的残差解码上下文和/或帧间标志位解码上下文;Determine, based on a position of a parent node of the current node in the prediction tree, a residual decoding context and/or an inter-frame flag decoding context corresponding to the current node;
基于所述残差解码上下文,对所述当前节点对应的预测残差编码进行解码,以及/或者,基于所述帧间标志位解码上下文,对所述当前节点对应的帧间预测标志位编码进行解码,确定所述当前节点对应的预测残差和/或帧间预测标志位;所述预测残差编码与所述帧间预测标志位编码通过码流解析得到;Based on the residual decoding context, the prediction residual code corresponding to the current node is decoded, and/or, based on the inter-frame flag decoding context, the inter-frame prediction flag code corresponding to the current node is decoded to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by bitstream parsing;
在所述帧间预测标志位表征所述当前节点未采用帧间预测编码的情况下,基于所述预测残差与所述帧内预测值,确定所述当前节点对应的几何预测信息。When the inter-frame prediction flag indicates that the current node is not encoded using inter-frame prediction, geometric prediction information corresponding to the current node is determined based on the prediction residual and the intra-frame prediction value.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差解码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
在所述父节点为头节点的情况下,基于预设第四索引值确定所述方位角残差上下文。When the parent node is a head node, the azimuth residual context is determined based on a preset fourth index value.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;基于所述父节点的子节点数量,确定所述当前节点对应的残差解码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; and based on the number of child nodes of the parent node, determining the residual decoding context corresponding to the current node includes:
在所述父节点不为头节点的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。When the parent node is not a head node, an azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述方法还包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; the method further includes:
在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。When the current node does not have a parent node, the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
在一些实施例中,所述基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文,包括:In some embodiments, determining the azimuth residual context corresponding to the current node based on a previous decoded node of the current node includes:
在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;When the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold, determining the azimuth context index based on a preset first index value;
在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;When the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to the preset sign threshold, determining the azimuth context index based on a preset second index value;
在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;In a case where the previous decoded node is inter-frame prediction decoding, and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点不属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值方位角上下文索引;In the case where the previous decoded node is inter-frame prediction decoding, and the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node, based on the preset fourth index value azimuth context index;
基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。 Based on the azimuth context index, determine the azimuth residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述方法还包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual decoding context includes: an azimuth residual context; the method further includes:
在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定方位角上下文索引;When the parent node is a head node and the current node is not a head node, determining an azimuth context index based on the parent node;
基于所述方位角上下文索引,确定所述方位角残差上下文。Based on the azimuth context index, the azimuth residual context is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差解码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
在所述父节点为头节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the parent node is a head node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差解码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual decoding context corresponding to the current node includes:
在所述父节点不为头节点的情况下,根据所述当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;In a case where the parent node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index according to a previous decoded node of the current node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: a radius prediction residual; the residual decoding context comprises: a radius residual context; the method further comprises:
在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the current node does not have a parent node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述根据所述当前节点的前一个已解码节点,确定所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,包括以下至少之一:In some embodiments, the determining, according to a previous decoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
根据所述前一个已解码节点是否采用帧间预测,确定所述第一半径上下文索引;Determining the first radius context index according to whether the previous decoded node adopts inter-frame prediction;
根据所述前一个已解码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;Determining the second radius context index according to whether the azimuth sampling interval of the previous decoded node is zero;
根据所述前一个已解码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。The third radius context index is determined according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: a radius prediction residual; the residual decoding context comprises: a radius residual context; the method further comprises:
在所述父节点为头节点,且所述当前节点不为头节点的情况下的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;In a case where the parent node is a head node and the current node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,所述方法还包括:In some embodiments, the method further comprises:
在所述帧间预测标志位表征所述当前节点采用帧间预测编码的情况下,根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;When the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, inter-frame prediction is performed on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node;
基于所述预测残差与所述帧间预测值,确定所述当前节点对应的几何预测信息。Based on the prediction residual and the inter-frame prediction value, geometric prediction information corresponding to the current node is determined.
在一些实施例中,所述根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值,包括:In some embodiments, performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;In the reference point cloud of the point cloud, determining an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node;
在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;Determine, on the same laser beam of the reference point cloud, a first reference point and a second reference point whose azimuth angles are greater than the azimuth angle of the initial reference point;
基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。Based on the first reference point and the second reference point, an inter-frame prediction value corresponding to the current node is determined.
在一些实施例中,基于所述父节点在所述预测树中的位置,确定所述当前节点对应的帧间标志位解码上下文,包括:In some embodiments, determining the inter-frame flag decoding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
在所述父节点为头节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In the case where the parent node is a head node, the preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
在一些实施例中,基于所述父节点在所述预测树中的位置,确定所述当前节点对应的帧间标志 位解码上下文,包括:In some embodiments, based on the position of the parent node in the prediction tree, the inter-frame flag corresponding to the current node is determined. Bit decoding context, including:
在所述父节点不为头节点的情况下,将所述当前节点之前至少一个已解码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位解码上下文。When the parent node is not a head node, the value of the inter-frame prediction flag of at least one decoded node before the current node is determined as the inter-frame flag decoding context corresponding to the current node.
在一些实施例中,所述方法还包括:In some embodiments, the method further comprises:
在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In the case that the current node does not have a parent node, a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
需要说明的是,上述实施例是以当前节点的父节点在预测树中的位置为判断条件来确定残差解码上下文和/或帧间标志位解码上下文的。其中,父节点为头节点,相当于前述解码器实施例S401中的父节点的子节点数量大于或等于预设子节点数量阈值。父节点不为头节点,相当于前述解码器实施例S401中的父节点的子节点数量小于预设子节点数量阈值且大于0。父节点为头节点,且当前节点不为头节点,相当于前述解码器实施例S401中的父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0。上述过程与S401相关实施例中的过程描述一致,具有同S401相关实施例相似的有益效果。对于上述过程中未披露的技术细节,请参照S401相关实施例的描述而理解。It should be noted that the above embodiment uses the position of the parent node of the current node in the prediction tree as a judgment condition to determine the residual decoding context and/or the inter-frame flag decoding context. Among them, the parent node is the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being greater than or equal to the preset child node number threshold. The parent node is not the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being less than the preset child node number threshold and greater than 0. The parent node is the head node, and the current node is not the head node, which is equivalent to the number of child nodes of the parent node in the aforementioned decoder embodiment S401 being greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0. The above process is consistent with the process description in the S401 related embodiment, and has similar beneficial effects as the S401 related embodiment. For technical details not disclosed in the above process, please refer to the description of the S401 related embodiment for understanding.
下面,说明本申请实施例提供的另一种可选的应用于编码器的编码方法。Next, another optional encoding method applied to an encoder provided in an embodiment of the present application is described.
参见图11,图11是本申请实施例提供的编码方法的一个可选的流程示意图,将结合图11示出的步骤进行说明。Refer to Figure 11, which is an optional flow chart of the encoding method provided in an embodiment of the present application, which will be explained in conjunction with the steps shown in Figure 11.
S801、确定点云对应的预测树。S801, determining a prediction tree corresponding to the point cloud.
S802、根据当前节点的父节点在预测树中的位置,确定当前节点对应的当前预测列表。S802: Determine the current prediction list corresponding to the current node according to the position of the parent node of the current node in the prediction tree.
在一些实施例中,在父节点为预测树中的头节点的情况下,编码器确定预设预测列表为当前预测列表。In some embodiments, when the parent node is a head node in the prediction tree, the encoder determines the preset prediction list as the current prediction list.
在一些实施例中,在父节点不为头节点的情况下,,编码器基于前一个已编码节点的重建信息,对前一个已解码节点对应的预测列表进行更新,确定当前预测列表。In some embodiments, when the parent node is not the head node, the encoder updates the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,,编码器确定预设预测列表为当前预测列表。It should be noted that, in some embodiments, when the current node does not have a parent node, the encoder determines the preset prediction list as the current prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,编码器将点云对应的半径最小值或半径最大值作为预设预测列表中的半径预测值;和/或,根据预设方位角最小值或预设方位角中位值作为预设预测列表中的方位角预测值,从而确定预设预测列表。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, the encoder uses the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, uses the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list, thereby determining the preset prediction list.
在一些实施例中,编码器根据点云的几何精度,基于点云对应的半径最小值,以递增的方式确定预设预测列表中的至少一个半径预测值,进而基于至少一个半径预测值确定预设预测列表。In some embodiments, the encoder determines at least one radius prediction value in a preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and the minimum radius corresponding to the point cloud, and then determines the preset prediction list based on the at least one radius prediction value.
S803、基于当前预测列表对当前节点进行预测,确定当前节点对应的至少一个帧内预测值。S803: Predict the current node based on the current prediction list to determine at least one intra-frame prediction value corresponding to the current node.
在一些实施例中,在父节点为预测树中的头节点,且当前节点为头节点的情况下,根据点云中已编码的头节点的数量与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the parent node is the head node in the prediction tree and the current node is the head node, at least one intra-frame prediction value corresponding to the current node is determined according to the number of encoded head nodes in the point cloud and the current prediction list.
在一些实施例中,在父节点为头节点,且当前节点不为头节点的情况下,基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the parent node is a head node and the current node is not a head node, at least one intra-frame prediction value corresponding to the current node is determined based on reconstruction information of the parent node and a current prediction list.
需要说明的是,在一些实施例中,在当前节点不存在父节点的情况下,说明当前节点为预测树中的根节点。编码器根据点云中已编码的头节点的数量与所述当前预测列表,确定当前节点对应的至少一个帧内预测值。It should be noted that, in some embodiments, when the current node does not have a parent node, it is indicated that the current node is a root node in the prediction tree. The encoder determines at least one intra-frame prediction value corresponding to the current node according to the number of encoded head nodes in the point cloud and the current prediction list.
在一些实施例中,在父节点不为头节点的情况下,编码器基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值。In some embodiments, when the parent node is not a head node, the encoder determines at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
在一些实施例中,至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;上述根据点云中已编码的头节点的数量与当前预测列表,确定当前节点对应的至少一个帧内预测值,包括:In some embodiments, each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value, and a current azimuth prediction value; the above-mentioned determining, based on the number of encoded head nodes in the point cloud and the current prediction list, at least one intra-frame prediction value corresponding to the current node includes:
根据点云中已解码的头节点的数量,确定当前光束预测值;根据当前预测列表中至少一对预测值中的至少一个半径预测值与至少一个方位角预测值,结合当前光束预测值,确定当前节点对应的至少一个帧内预测值。Determine the current beam prediction value based on the number of decoded head nodes in the point cloud; determine at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
在一些实施例中,上述基于父节点的重建信息与当前预测列表,确定当前节点对应的至少一个帧内预测值,包括:In some embodiments, determining at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list includes:
对于至少一个帧内预测值中的第一个帧内预测值,根据父节点的重建信息中的父节点半径重建值、父节点方位角重建值与父节点光束索引重建值,确定第一个帧内预测值中的当前半径预测值、 当前方位角预测值与当前光束预测值;对于至少一个帧内预测值中的第n个帧内预测值,根据当前预测列表中第n对预测值中的半径预测值,确定第n个帧内预测值中的当前半径预测值;n为大于1的整数;根据第n对预测值中的方位角预测值、父节点方位角重建值以及预设的方位角采样间隔,确定第n个帧内预测值中的当前方位角预测值;根据父节点光束索引重建值,确定第n个帧内预测值中的当前光束预测值,从而确定至少一个帧内预测值。For a first intra-frame prediction value in at least one intra-frame prediction value, according to the parent node radius reconstruction value, the parent node azimuth reconstruction value and the parent node beam index reconstruction value in the reconstruction information of the parent node, determine the current radius prediction value in the first intra-frame prediction value, The current azimuth prediction value and the current light beam prediction value; for the nth intra-frame prediction value in at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current light beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value, thereby determining at least one intra-frame prediction value.
S804、基于至少一个帧内预测值,确定当前节点对应的几何信息编码。S804. Determine the geometric information encoding corresponding to the current node based on at least one intra-frame prediction value.
这里,S804与上述实施例中的S604描述一致,此处不再赘述。Here, S804 is consistent with the description of S604 in the above embodiment and will not be repeated here.
可以理解的是,本申请实施例中,根据父节点在预测树中的位置,确定当前节点对应的预测列表,从而可以独立地对点云中的各个激光束进行编码,不同激光束之间编码互不影响,可以并行地执行,从而降低了编码时延,提高了编码效率,进而提高了编码性能。It can be understood that in the embodiment of the present application, the prediction list corresponding to the current node is determined according to the position of the parent node in the prediction tree, so that each laser beam in the point cloud can be encoded independently, and the encoding between different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding delay, improving the encoding efficiency, and thus improving the encoding performance.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点为头节点的情况下,基于预设第四索引值确定所述方位角残差上下文。When the parent node is a head node, the azimuth residual context is determined based on a preset fourth index value.
在一些实施例中,其中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点不为头节点的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。When the parent node is not a head node, an azimuth residual context corresponding to the current node is determined based on a previous decoded node of the current node.
在一些实施例中,其中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: an azimuth prediction residual; the residual coding context comprises: an azimuth residual context; the method further comprises:
在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。When the current node does not have a parent node, the azimuth residual context corresponding to the current node is determined based on a preset fourth index value.
在一些实施例中,其中,所述基于所述当前节点的前一个已编码节点,确定所述当前节点对应的方位角残差上下文,包括:In some embodiments, the determining the azimuth residual context corresponding to the current node based on a previous encoded node of the current node comprises:
在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;When the previous coded node is intra-frame prediction coded and the sign of the azimuth residual of the previous coded node is greater than a preset sign threshold, determining the azimuth context index based on a preset first index value;
在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;When the previous coded node is intra-prediction coded and the sign of the azimuth residual of the previous coded node is less than or equal to the preset sign threshold, determining the azimuth context index based on a preset second index value;
在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;In a case where the previous coded node is inter-frame prediction coded and the inter-frame prediction point used for coding belongs to the first m candidate inter-frame prediction points corresponding to the previous coded node, determining the azimuth context index based on a preset third index value; m is a positive integer not less than 1;
在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点不属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引;When the previous encoded node is inter-frame prediction encoded, and the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node, determining the azimuth context index based on a preset fourth index value;
基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。Based on the azimuth context index, determine the azimuth residual context corresponding to the current node.
在一些实施例中,其中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: an azimuth prediction residual; the residual coding context includes: an azimuth residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定方位角上下文索引;When the parent node is a head node and the current node is not a head node, determining an azimuth context index based on the parent node;
基于所述方位角上下文索引,确定所述方位角残差上下文。Based on the azimuth context index, the azimuth residual context is determined.
在一些实施例中,其中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点为头节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the parent node is a head node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,其中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括: In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; and based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点不为头节点的情况下,根据所述当前节点的前一个已编码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;In a case where the parent node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index according to a previous encoded node of the current node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,其中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述方法还包括:In some embodiments, the prediction residual comprises: a radius prediction residual; the residual coding context comprises: a radius residual context; the method further comprises:
在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;In a case where the current node does not have a parent node, determining at least one of the first radius context index, the second radius context index, and the third radius context index as a preset first flag value;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,其中,所述根据所述当前节点的前一个已编码节点,确定所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,包括以下至少之一:In some embodiments, the determining, according to a previous encoded node of the current node, at least one of the first radius context index, the second radius context index, and the third radius context index comprises at least one of the following:
根据所述前一个已编码节点是否采用帧间预测,确定所述第一半径上下文索引;Determining the first radius context index according to whether the previous encoded node adopts inter-frame prediction;
根据所述前一个已编码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;Determining the second radius context index according to whether the azimuth sampling interval of the previous encoded node is zero;
根据所述前一个已编码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。The third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
在一些实施例中,其中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差编码上下文,包括:In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; based on the position of the parent node in the prediction tree, determining the residual coding context corresponding to the current node includes:
在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;When the parent node is a head node and the current node is not a head node, determining at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node;
基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。Based on at least one of the first radius context index, the second radius context index, and the third radius context index, a radius residual context corresponding to the current node is determined.
在一些实施例中,其中,所述基于所述至少一个帧内预测值,确定所述当前节点对应的预测残差,包括:In some embodiments, the determining, based on the at least one intra-frame prediction value, a prediction residual corresponding to the current node comprises:
根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;Performing inter-frame prediction on the current node according to the parent node to determine an inter-frame prediction value corresponding to the current node;
基于所述至少一个帧内预测值与所述帧间预测值各自的率失真代价,确定所述当前节点的几何预测信息;Determining geometric prediction information of the current node based on rate-distortion costs of the at least one intra-frame prediction value and the inter-frame prediction value;
基于所述几何预测信息,确定所述当前节点对应的预测残差。Based on the geometric prediction information, a prediction residual corresponding to the current node is determined.
在一些实施例中,其中,所述根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值,包括:In some embodiments, the performing inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node includes:
在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;In the reference point cloud of the point cloud, determining an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node;
在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;Determine, on the same laser beam of the reference point cloud, a first reference point and a second reference point whose azimuth angles are greater than the azimuth angle of the initial reference point;
基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。Based on the first reference point and the second reference point, an inter-frame prediction value corresponding to the current node is determined.
在一些实施例中,其中,基于所述父节点在所述预测树中的位置,确定所述当前节点对应的帧间标志位编码上下文,包括:In some embodiments, determining the inter-frame flag coding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
在所述父节点为所述预测树中的头节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位编码上下文。In the case where the parent node is the head node in the prediction tree, a preset initial value is determined as the inter-frame flag coding context corresponding to the current node.
在一些实施例中,其中,基于所述父节点在所述预测树中的位置,确定所述当前节点对应的帧间标志位编码上下文,包括:In some embodiments, determining the inter-frame flag coding context corresponding to the current node based on the position of the parent node in the prediction tree includes:
在所述父节点不为所述预测树中的头节点的情况下,将所述当前节点之前至少一个已编码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位编码上下文。When the parent node is not the head node in the prediction tree, the value of the inter-frame prediction flag of at least one coded node before the current node is determined as the inter-frame flag coding context corresponding to the current node.
在一些实施例中,其中,所述方法还包括:In some embodiments, the method further comprises:
在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In the case that the current node does not have a parent node, a preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
需要说明的是,上述实施例是以当前节点的父节点在预测树中的位置为判断条件来确定残差解码上下文和/或帧间标志位解码上下文的。其中,父节点为头节点,相当于前述编码器实施例中的父节点的子节点数量大于或等于预设子节点数量阈值。父节点不为头节点,相当于前述编码器实施例中的父节点的子节点数量小于预设子节点数量阈值且大于0。父节点为头节点,且当前节点不为头 节点,相当于前述编码器实施例中的父节点的子节点数量大于或等于预设子节点数量阈值,并且,当前节点的子节点数量小于预设子节点数量阈值且大于0。上述过程与前述编码器实施例中的过程描述一致,具有同前述编码器实施例相似的有益效果。对于上述过程中未披露的技术细节,请参照前述编码器实施例的描述而理解。It should be noted that the above embodiment uses the position of the parent node of the current node in the prediction tree as a judgment condition to determine the residual decoding context and/or the inter-frame flag decoding context. Wherein, the parent node is a head node, which is equivalent to the number of child nodes of the parent node in the above encoder embodiment being greater than or equal to the preset child node number threshold. The parent node is not a head node, which is equivalent to the number of child nodes of the parent node in the above encoder embodiment being less than the preset child node number threshold and greater than 0. The parent node is a head node, and the current node is not a head node. Node, which is equivalent to the number of child nodes of the parent node in the aforementioned encoder embodiment is greater than or equal to the preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0. The above process is consistent with the process description in the aforementioned encoder embodiment, and has similar beneficial effects as the aforementioned encoder embodiment. For technical details not disclosed in the above process, please refer to the description of the aforementioned encoder embodiment for understanding.
在一些实施例中,基于本申请实施例提供的上述编解码方法,如图12所示,第0个激光束,也即0laser上的节点的光束索引值为Laser index=0,以此类推,可以看到图12中包含了由4个激光束构成的预测树。在解码器在启用并行解码时,或者,编码器在启用并行编码时,由于本申请实施例在当前节点的父节点的子节点数量大于或等于预设子节点阈值,或者当前节点的父节点为预测树中的头节点的情况下,使用预设预测列表作为当前节点的预测列表,可以看出,在编(解)码到预测树中每个激光束的头节点时,编(解)码器会初始化一个预设预测列表作为该激光束的预设预测列表。也就是说,预测树中的每个激光束拥有各自的预测列表,互相独立。每个激光束上的第二个节点也不需要依赖于其前一个已编(解)码节点的信息来确定预测列表,而是利用预设预测列表或利用其父节点的信息来确定预测列表。这样,实现了各个激光束之间并行的编解码,极大提高了编解码效率和编解码性能。In some embodiments, based on the above encoding and decoding method provided by the embodiment of the present application, as shown in FIG. 12, the beam index value of the 0th laser beam, that is, the node on 0laser is Laser index = 0, and so on. It can be seen that FIG. 12 contains a prediction tree consisting of 4 laser beams. When the decoder enables parallel decoding, or when the encoder enables parallel encoding, since the number of child nodes of the parent node of the current node is greater than or equal to the preset child node threshold, or the parent node of the current node is the head node in the prediction tree, the preset prediction list is used as the prediction list of the current node in the embodiment of the present application. It can be seen that when encoding (decoding) the head node of each laser beam in the prediction tree, the encoder (decoder) will initialize a preset prediction list as the preset prediction list of the laser beam. In other words, each laser beam in the prediction tree has its own prediction list, which is independent of each other. The second node on each laser beam does not need to rely on the information of the previous encoded (decoded) node to determine the prediction list, but uses the preset prediction list or the information of its parent node to determine the prediction list. In this way, parallel encoding and decoding between each laser beam is achieved, which greatly improves the encoding and decoding efficiency and encoding and decoding performance.
申请人使用表1中的点云测试序列,将本申请实施例的编码方法与目前的G-PCC的通用测试软件TMC13 V21进行了对比,其结果如表1所示,如下:
The applicant used the point cloud test sequence in Table 1 to compare the encoding method of the embodiment of the present application with the current G-PCC general test software TMC13 V21. The results are shown in Table 1, as follows:
可以看出,本申请实施例的点云编码方法在大大提高编码效率的基础上,与目前的编码方法相比在点云测试序列的几何信息预测编码的性能上也十分接近,几乎没有损失,从而可以带来更好的整体编码性能。It can be seen that the point cloud coding method of the embodiment of the present application, on the basis of greatly improving the coding efficiency, is also very close to the performance of geometric information prediction coding of the point cloud test sequence compared with the current coding method, with almost no loss, thus bringing better overall coding performance.
本申请实施例提供一种解码器1,如图13所示,包括:The embodiment of the present application provides a decoder 1, as shown in FIG13, comprising:
第一解析部分10,被配置为解析码流,确定点云对应的预测树以及当前节点对应的预测索引;A first parsing part 10 is configured to parse the code stream to determine a prediction tree corresponding to the point cloud and a prediction index corresponding to the current node;
第一确定部分11,被配置为基于所述当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;A first determining part 11 is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
第一预测部分12,被配置为基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。The first prediction part 12 is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
在一些实施例中,所述第一确定部分11,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the first determining part 11 is further configured to determine a preset prediction list as the current prediction list when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述第一确定部分11,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于所述当前节点的前一个已解码节点的重建信息,对所述前一个已解码节点对应的预测列表进行更新,确定所述当前预测列表。In some embodiments, the first determination part 11 is also configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,在所述当前节点不存在父节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, when the current node does not have a parent node, a preset prediction list is determined to be the current prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第一确定部分11,还被配置为将所述点云对应的半径最小值或半径最大值作为所述预设预测列表中的半径预测值;和/或,将预设方位角最小值或预设方位角中位值作为所述预设预测列表中的方位角预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the first determination part 11 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, to use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第一确定部分11,还被配置为根据所述点云的几何精度,基于所述点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the first determination part 11 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
在一些实施例中,所述第一预测部分12,还被配置为在所述当前节点的子节点数量大于或等于 所述预设子节点数量阈值的情况下,根据所述点云中已解码的头节点的数量、所述预测索引与所述当前预测列表,确定当前节点对应的帧内预测值。In some embodiments, the first prediction part 12 is further configured to: In the case of the preset child node number threshold, the intra-frame prediction value corresponding to the current node is determined according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list.
在一些实施例中,所述第一预测部分12,还被配置为在所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点的重建信息、所述预测索引以及所述当前预测列表,确定所述当前节点对应的帧内预测值。In some embodiments, the first prediction part 12 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list when the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
在一些实施例中,所述第一预测部分12,还被配置为基于所述父节点的重建信息、所述预测索引以及所述当前预测列表,确定所述当前节点对应的帧内预测值。In some embodiments, the first prediction part 12 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第一预测部分12,还被配置为根据所述点云中已解码的头节点的数量,确定所述当前光束预测值;根据所述预测索引在所述当前预测列表中对应的预测值,确定所述当前半径预测值与所述当前方位角预测值In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the first prediction part 12 is further configured to determine the current beam prediction value according to the number of decoded head nodes in the point cloud; determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第一预测部分12,还被配置为在所述预测索引对应所述当前预测列表中的第一对预测值的情况下,根据所述父节点的重建信息中的父节点光束索引重建值、父节点半径重建值与父节点方位角重建值,确定所述当前光束预测值、所述当前半径预测值与当前方位角预测值;在所述预测索引对应所述当前预测列表中的第n对预测值的情况下,根据所述第n对预测值中的半径预测值,确定所述当前半径预测值;n为大于1的整数;根据所述第n对预测值中的方位角预测值、所述父节点方位角重建值以及预设的方位角采样间隔,确定所述当前方位角预测值;根据所述父节点光束索引重建值,确定所述当前光束预测值。In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the first prediction part 12 is also configured to determine the current beam prediction value, the current radius prediction value and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value and the parent node azimuth reconstruction value in the reconstruction information of the parent node when the prediction index corresponds to the first pair of prediction values in the current prediction list; determine the current radius prediction value according to the radius prediction value in the nth pair of prediction values when the prediction index corresponds to the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and a preset azimuth sampling interval; determine the current beam prediction value according to the parent node beam index reconstruction value.
在一些实施例中,所述解码器1还包括第一算术解码部分(图示未示出),所述第一算术解码部分,被配置为基于所述父节点的子节点数量,确定所述当前节点对应的残差解码上下文和/或帧间标志位解码上下文;基于所述残差解码上下文,对所述当前节点对应的预测残差编码进行解码,以及/或者,基于所述帧间标志位解码上下文,对所述当前节点对应的帧间预测标志位编码进行解码,确定所述当前节点对应的预测残差和/或帧间预测标志位;所述预测残差编码与所述帧间预测标志位编码通过码流解析得到;在所述帧间预测标志位表征所述当前节点未采用帧间预测编码的情况下,基于所述预测残差与所述帧内预测值,确定所述当前节点对应的几何预测信息。In some embodiments, the decoder 1 also includes a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the number of child nodes of the parent node; based on the residual decoding context, decode the prediction residual code corresponding to the current node, and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag code corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by parsing the code stream; when the inter-frame prediction flag indicates that the current node does not adopt inter-frame prediction coding, determine the geometric prediction information corresponding to the current node based on the prediction residual and the intra-frame prediction value.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,基于预设第四索引值确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第一算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
在一些实施例中,所述第一算术解码部分,还被配置为在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;In some embodiments, the first arithmetic decoding part is further configured to determine the azimuth context index based on a preset first index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold;
在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点不属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引;基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。When the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to the preset sign threshold, the azimuth context index is determined based on the preset second index value; when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on the preset third index value; m is a positive integer not less than 1; when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node, the azimuth context index is determined based on the preset fourth index value; based on the azimuth context index, the azimuth residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0情况下,基于所述父节点,确定方位角上下文索引;基于所述方位角上下文索引,确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the first arithmetic decoding part is also configured to determine the azimuth context index based on the parent node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; determine the azimuth residual context based on the azimuth context index.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上 下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context Below; the first arithmetic decoding part is also configured to determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,根据所述当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to determine at least one of a first radius context index, a second radius context index and a third radius context index according to a previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第一算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第一算术解码部分,还被配置为根据所述前一个已解码节点是否采用帧间预测,确定所述第一半径上下文索引;和/或,根据所述前一个已解码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;和/或,根据所述前一个已解码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。In some embodiments, the first arithmetic decoding part is further configured to determine the first radius context index according to whether the previous decoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous decoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第一算术解码部分,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first arithmetic decoding part is also configured to, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0, determine at least one of a first radius context index, a second radius context index, and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第一预测部分12,还被配置为在所述帧间预测标志位表征所述当前节点采用帧间预测编码的情况下,根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;基于所述预测残差与所述帧间预测值,确定所述当前节点对应的几何预测信息。In some embodiments, the first prediction part 12 is further configured to, when the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; and determine the geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
在一些实施例中,所述第一预测部分12,还被配置为在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。In some embodiments, the first prediction part 12 is further configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud with azimuths greater than that of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
在一些实施例中,所述第一算术解码部分,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the first arithmetic decoding part is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述第一算术解码部分,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,将所述当前节点之前至少一个已解码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the first arithmetic decoding part is also configured to determine the value of the inter-frame prediction flag of at least one decoded node before the current node as the inter-frame flag decoding context corresponding to the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,所述第一算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the first arithmetic decoding part is further configured to determine a preset initial value as an inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
本申请实施例提供一种编码器2,如图14所示,包括:The embodiment of the present application provides an encoder 2, as shown in FIG14 , including:
第一构建部分20,被配置为确定点云对应的预测树;A first construction part 20 is configured to determine a prediction tree corresponding to the point cloud;
第二确定部分21,被配置为基于当前节点的父节点在所述预测树中的子节点数量,确定所述当前节点对应的当前预测列表;A second determining part 21 is configured to determine a current prediction list corresponding to the current node based on the number of child nodes of the parent node of the current node in the prediction tree;
第二预测部分22,被配置为基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;A second prediction part 22 is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
第一编码部分23,被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。The first encoding part 23 is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
在一些实施例中,所述第二确定部分21,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the second determining part 21 is further configured to determine a preset prediction list as the current prediction list when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述第二确定部分21,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于所述前一个已编码节点的重建信息,对所述前一个已解码节点对应的预测列表进行更新,确定所述当前预测列表。 In some embodiments, the second determination part 21 is further configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,所述第二确定部分21,还被配置为在所述当前节点不存在父节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the second determining part 21 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值;所述第二确定部分21,还被配置为将所述点云对应的半径最小值或半径最大值作为所述预设预测列表中的半径预测值;和/或,根据预设方位角最小值或预设方位角中位值作为所述预设预测列表中的方位角预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value; the second determination part 21 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第二确定部分21,还被配置为根据所述点云的几何精度,基于所述点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the second determination part 21 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
在一些实施例中,所述第二预测部分22,还被配置为在所述当前节点的子节点数量大于或等于所述预设子节点数量阈值的情况下,根据所述点云中已编码的头节点的数量与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the number of encoded head nodes in the point cloud and the current prediction list when the number of child nodes of the current node is greater than or equal to the preset child node number threshold.
在一些实施例中,所述第二预测部分22,还被配置为在所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点的重建信息与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list when the number of child nodes of the current node is less than the preset child node number threshold and greater than 0.
在一些实施例中,所述第二预测部分22,还被配置为基于所述父节点的重建信息与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the second prediction part 22 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
在一些实施例中,所述至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第二预测部分22,还被配置为根据所述点云中已解码的头节点的数量,确定所述当前光束预测值;根据所述当前预测列表中至少一对预测值中的至少一个半径预测值与至少一个方位角预测值,结合所述当前光束预测值,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the second prediction part 22 is also configured to determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
在一些实施例中,所述至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第二预测部分22,还被配置为对于所述至少一个帧内预测值中的第一个帧内预测值,根据所述父节点的重建信息中的父节点半径重建值、父节点方位角重建值与父节点光束索引重建值,确定所述第一个帧内预测值中的当前半径预测值、当前方位角预测值与当前光束预测值;对于所述至少一个帧内预测值中的第n个帧内预测值,根据所述当前预测列表中第n对预测值中的半径预测值,确定第n个帧内预测值中的当前半径预测值;n为大于1的整数;根据所述第n对预测值中的方位角预测值、所述父节点方位角重建值以及预设的方位角采样间隔,确定所述第n个帧内预测值中的当前方位角预测值;根据所述父节点光束索引重建值,确定所述第n个帧内预测值中的当前光束预测值。In some embodiments, each intra-frame prediction value of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the second prediction part 22 is also configured to determine, for the first intra-frame prediction value of the at least one intra-frame prediction value, the current radius prediction value, the current azimuth prediction value and the current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, the parent node azimuth reconstruction value and the parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value of the at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value.
在一些实施例中,所述第一编码部分23,还被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的预测残差;基于所述父节点的子节点数量,确定所述当前节点对应的残差编码上下文和/或帧间标志位编码上下文;基于所述残差编码上下文,对所述当前节点对应的预测残差进行编码,以及/或者,基于所述帧间标志位编码上下文,对所述当前节点对应的帧间预测标志位进行编码,确定所述当前节点对应的预测残差编码和/或帧间预测标志位编码,并基于所述预测残差编码和/或帧间预测标志位编码确定所述几何信息编码。In some embodiments, the first encoding part 23 is further configured to determine the prediction residual corresponding to the current node based on the at least one intra-frame prediction value; determine the residual coding context and/or inter-frame flag coding context corresponding to the current node based on the number of child nodes of the parent node; encode the prediction residual corresponding to the current node based on the residual coding context, and/or, based on the inter-frame flag coding context, encode the inter-frame prediction flag corresponding to the current node, determine the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node, and determine the geometric information coding based on the prediction residual coding and/or inter-frame prediction flag coding.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,基于预设第四索引值确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context based on a preset fourth index value when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第一编码部分23,还被配置为在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
在一些实施例中,所述第一编码部分23,还被配置为在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引; 在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点不属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引;基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。In some embodiments, the first encoding part 23 is further configured to determine the azimuth context index based on a preset first index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is less than or equal to the preset sign threshold; In the case where the previous encoded node is inter-frame prediction coded, and the inter-frame prediction point used for encoding belongs to the first m candidate inter-frame prediction points corresponding to the previous encoded node, the azimuth context index is determined based on a preset third index value; m is a positive integer not less than 1; in the case where the previous encoded node is inter-frame prediction coded, and the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node, the azimuth context index is determined based on a preset fourth index value; based on the azimuth context index, the azimuth residual context corresponding to the current node is determined.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点,确定方位角上下文索引;基于所述方位角上下文索引,确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the first encoding part 23 is also configured to determine the azimuth context index based on the parent node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; determine the azimuth residual context based on the azimuth context index.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the first encoding part 23 is also configured to, when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,根据所述当前节点的前一个已编码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first encoding part 23 is also configured to, when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0, determine at least one of a first radius context index, a second radius context index and a third radius context index according to the previous encoded node of the current node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第一编码部分23,还被配置为在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the first encoding part 23 is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第一编码部分23,还被配置为根据所述当前节点的前一个已编码节点,确定所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,包括以下至少之一:In some embodiments, the first encoding part 23 is further configured to determine at least one of the first radius context index, the second radius context index and the third radius context index according to a previous encoded node of the current node, including at least one of the following:
根据所述前一个已编码节点是否采用帧间预测,确定所述第一半径上下文索引;Determining the first radius context index according to whether the previous encoded node adopts inter-frame prediction;
根据所述前一个已编码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;Determining the second radius context index according to whether the azimuth sampling interval of the previous encoded node is zero;
根据所述前一个已编码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。The third radius context index is determined according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第一编码部分23,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值,并且,所述当前节点的子节点数量小于所述预设子节点数量阈值且大于0的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the first encoding part 23 is also configured to determine, based on the parent node, at least one of a first radius context index, a second radius context index, and a third radius context index when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold, and the number of child nodes of the current node is less than the preset child node number threshold and greater than 0; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the upper and lower radius residuals corresponding to the current node.
在一些实施例中,所述第二预测部分22,还被配置为根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;基于所述至少一个帧内预测值与所述帧间预测值各自的率失真代价,确定所述当前节点的几何预测信息;基于所述几何预测信息,确定所述当前节点对应的预测残差。In some embodiments, the second prediction part 22 is further configured to perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; determine the geometric prediction information of the current node based on the rate-distortion cost of the at least one intra-frame prediction value and the inter-frame prediction value; and determine the prediction residual corresponding to the current node based on the geometric prediction information.
在一些实施例中,所述第二预测部分22,还被配置为在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。In some embodiments, the second prediction part 22 is further configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine, on the same laser beam of the reference point cloud, a first reference point and a second reference point with azimuths greater than that of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
在一些实施例中,所述第一编码部分23,还被配置为在所述父节点的子节点数量大于或等于预设子节点数量阈值的情况下,将预设初始值确定为所述当前节点对应的帧间标志位编码上下文。In some embodiments, the first encoding part 23 is further configured to determine a preset initial value as the inter-frame flag coding context corresponding to the current node when the number of child nodes of the parent node is greater than or equal to a preset child node number threshold.
在一些实施例中,所述第一编码部分23,还被配置为在所述父节点的子节点数量小于预设子节点数量阈值且大于0的情况下,将所述当前节点之前至少一个已编码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位编码上下文。In some embodiments, the first encoding part 23 is also configured to determine the value of the inter-frame prediction flag of at least one encoded node before the current node as the inter-frame flag encoding context corresponding to the current node when the number of child nodes of the parent node is less than a preset child node number threshold and greater than 0.
在一些实施例中,所述第一编码部分23,还被配置为在所述当前节点不存在父节点的情况下, 将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the first encoding part 23 is further configured to, when the current node does not have a parent node, The preset initial value is determined as the inter-frame flag decoding context corresponding to the current node.
本申请实施例提供一种解码器3,如图15所示,包括:The embodiment of the present application provides a decoder 3, as shown in FIG15 , including:
第二解析部分30,被配置为解析码流,确定点云对应的预测树以及当前节点对应的预测索引;The second parsing part 30 is configured to parse the code stream to determine the prediction tree corresponding to the point cloud and the prediction index corresponding to the current node;
第三确定部分31,被配置为根据所述当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;A third determining part 31 is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
第三预测部分32,被配置为基于所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。The third prediction part 32 is configured to determine the intra-frame prediction value corresponding to the current node based on the prediction index and the current prediction list.
在一些实施例中,所述第三确定部分31,还被配置为在所述父节点为头节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the third determining part 31 is further configured to determine a preset prediction list as the current prediction list when the parent node is a head node.
在一些实施例中,所述第三确定部分31,还被配置为在所述父节点不为所述预测树中的头节点情况下,基于所述当前节点的前一个已解码节点的重建信息,对所述前一个已解码节点对应的预测列表进行更新,确定所述当前预测列表。In some embodiments, the third determination part 31 is also configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous decoded node of the current node to determine the current prediction list when the parent node is not the head node in the prediction tree.
在一些实施例中,所述第三确定部分31,还被配置为在所述当前节点不存在父节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the third determining part 31 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第三确定部分31,还被配置为将所述点云对应的半径最小值或半径最大值作为所述预设预测列表中的半径预测值;和/或,将预设方位角最小值或预设方位角中位值作为所述预设预测列表中的方位角预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the third determination part 31 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, to use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第三确定部分31,还被配置为根据所述点云的几何精度,基于所述点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the third determination part 31 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
在一些实施例中,所述第三预测部分32,还被配置为在所述当前节点为头节点的情况下,根据所述点云中已解码的头节点的数量、所述预测索引与所述当前预测列表,确定当前节点对应的帧内预测值。In some embodiments, the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node according to the number of decoded head nodes in the point cloud, the prediction index and the current prediction list when the current node is a head node.
在一些实施例中,所述第三预测部分32,还被配置为在所述当前节点不为头节点的情况下,基于所述父节点的重建信息、所述预测索引与所述当前预测列表,确定所述当前节点对应的帧内预测值。In some embodiments, the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list when the current node is not a head node.
在一些实施例中,所述第三预测部分32,还被配置为基于所述父节点的重建信息、所述预测索引以及所述当前预测列表,确定所述当前节点对应的帧内预测值。In some embodiments, the third prediction part 32 is further configured to determine the intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node, the prediction index and the current prediction list.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第三预测部分32,还被配置为根据所述点云中已解码的头节点的数量,确定所述当前光束预测值;根据所述预测索引在所述当前预测列表中对应的预测值,确定所述当前半径预测值与所述当前方位角预测值。In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the third prediction part 32 is also configured to determine the current beam prediction value according to the number of decoded head nodes in the point cloud; and determine the current radius prediction value and the current azimuth prediction value according to the prediction value corresponding to the prediction index in the current prediction list.
在一些实施例中,所述当前节点对应的帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第三预测部分32,还被配置为在所述预测索引对应所述当前预测列表中的第一对预测值的情况下,根据所述父节点的重建信息中的父节点光束索引重建值、父节点半径重建值与父节点方位角重建值,确定所述当前光束预测值、所述当前半径预测值与当前方位角预测值;在所述预测索引对应所述当前预测列表中的第n对预测值的情况下,根据所述第n对预测值中的半径预测值,确定所述当前半径预测值;n为大于1的整数;根据所述第n对预测值中的方位角预测值、所述父节点方位角重建值以及预设的方位角采样间隔,确定所述当前方位角预测值;根据所述父节点光束索引重建值,确定所述当前光束预测值。In some embodiments, the intra-frame prediction value corresponding to the current node includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the third prediction part 32 is also configured to determine the current beam prediction value, the current radius prediction value and the current azimuth prediction value according to the parent node beam index reconstruction value, the parent node radius reconstruction value and the parent node azimuth reconstruction value in the reconstruction information of the parent node when the prediction index corresponds to the first pair of prediction values in the current prediction list; determine the current radius prediction value according to the radius prediction value in the nth pair of prediction values when the prediction index corresponds to the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and a preset azimuth sampling interval; determine the current beam prediction value according to the parent node beam index reconstruction value.
在一些实施例中,所述解码器3还包括第一算术解码部分(图示未示出),所述第一算术解码部分,被配置为基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差解码上下文和/或帧间标志位解码上下文;基于所述残差解码上下文,对所述当前节点对应的预测残差编码进行解码,以及/或者,基于所述帧间标志位解码上下文,对所述当前节点对应的帧间预测标志位编码进行解码,确定所述当前节点对应的预测残差和/或帧间预测标志位;所述预测残差编码与所述帧间预测标志位编码通过码流解析得到;在所述帧间预测标志位表征所述当前节点未采用帧间预测编码的情况下,基于所述预测残差与所述帧内预测值,确定所述当前节点对应的几何预测信息。In some embodiments, the decoder 3 also includes a first arithmetic decoding part (not shown in the figure), which is configured to determine the residual decoding context and/or inter-frame flag decoding context corresponding to the current node based on the position of the parent node in the prediction tree; based on the residual decoding context, decode the prediction residual code corresponding to the current node, and/or, based on the inter-frame flag decoding context, decode the inter-frame prediction flag code corresponding to the current node to determine the prediction residual and/or inter-frame prediction flag corresponding to the current node; the prediction residual code and the inter-frame prediction flag code are obtained by parsing the code stream; when the inter-frame prediction flag indicates that the current node does not adopt inter-frame prediction coding, determine the geometric prediction information corresponding to the current node based on the prediction residual and the intra-frame prediction value.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第二算术解码部分,还被配置为在所述父节点为头节点的情况下,基于预设第四索引值确定所述方位角残差上下文。 In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context based on a preset fourth index value when the parent node is a head node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第二算术解码部分,还被配置为在所述父节点不为头节点的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the parent node is not a head node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第二算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
在一些实施例中,所述第二算术解码部分,还被配置为在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;在所述前一个已解码节点为帧内预测解码,且所述前一个已解码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;在所述前一个已解码节点为帧间预测解码,且用于解码的帧间预测点不属于所述前一个已解码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值方位角上下文索引;基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。In some embodiments, the second arithmetic decoding part is further configured to determine the azimuth context index based on a preset first index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous decoded node is intra-frame prediction decoding and the sign of the azimuth residual of the previous decoded node is less than or equal to the preset symbol threshold; determine the azimuth context index based on a preset third index value when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding belongs to the first m candidate inter-frame prediction points corresponding to the previous decoded node; m is a positive integer not less than 1; determine the azimuth context index based on a preset fourth index value when the previous decoded node is inter-frame prediction decoding and the inter-frame prediction point used for decoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous decoded node; and determine the azimuth residual context corresponding to the current node based on the azimuth context index.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差解码上下文包括:方位角残差上下文;所述第二算术解码部分,还被配置为在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定方位角上下文索引;基于所述方位角上下文索引,确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual decoding context includes: azimuth residual context; the second arithmetic decoding part is also configured to determine the azimuth context index based on the parent node when the parent node is a head node and the current node is not a head node; and determine the azimuth residual context based on the azimuth context index.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第二算术解码部分,还被配置为在所述父节点为头节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the parent node is a head node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第二算术解码部分,还被配置为在所述父节点不为头节点的情况下,根据所述当前节点的前一个已解码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to determine, when the parent node is not a head node, at least one of a first radius context index, a second radius context index, and a third radius context index based on a previous decoded node of the current node; based on at least one of the first radius context index, the second radius context index, and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第二算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第二算术解码部分,还被配置为根据所述前一个已解码节点是否采用帧间预测,确定所述第一半径上下文索引;和/或,根据所述前一个已解码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;和/或,根据所述前一个已解码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。In some embodiments, the second arithmetic decoding part is further configured to determine the first radius context index according to whether the previous decoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous decoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous decoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差解码上下文包括:半径残差上下文;所述第二算术解码部分,还被配置为在所述父节点为头节点,且所述当前节点不为头节点的情况下的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual decoding context includes: a radius residual context; the second arithmetic decoding part is also configured to, when the parent node is a head node and the current node is not a head node, determine at least one of a first radius context index, a second radius context index and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第三预测部分32,还被配置为在所述帧间预测标志位表征所述当前节点采用帧间预测编码的情况下,根据所述父节点对所述当前节点进行帧间预测,确定所述当前节点对应的帧间预测值;基于所述预测残差与所述帧间预测值,确定所述当前节点对应的几何预测信息。In some embodiments, the third prediction part 32 is also configured to, when the inter-frame prediction flag indicates that the current node adopts inter-frame prediction coding, perform inter-frame prediction on the current node according to the parent node to determine the inter-frame prediction value corresponding to the current node; and determine the geometric prediction information corresponding to the current node based on the prediction residual and the inter-frame prediction value.
在一些实施例中,所述第三预测部分32,还被配置为在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。In some embodiments, the third prediction part 32 is also configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuths are greater than the azimuth of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
在一些实施例中,所述第二算术解码部分,还被配置为在所述父节点为头节点的情况下,将预 设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the second arithmetic decoding part is further configured to, when the parent node is a head node, Assume that the initial value is determined to be the inter-frame flag decoding context corresponding to the current node.
在一些实施例中,所述第二算术解码部分,还被配置为在所述父节点不为头节点的情况下,将所述当前节点之前至少一个已解码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the second arithmetic decoding part is further configured to determine the value of the inter-frame prediction flag of at least one decoded node before the current node as the inter-frame flag decoding context corresponding to the current node when the parent node is not a head node.
在一些实施例中,所述第二算术解码部分,还被配置为在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the second arithmetic decoding part is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
本申请实施例提供一种编码器4,如图16所示,包括:The embodiment of the present application provides an encoder 4, as shown in FIG16 , including:
第二构建部分40,被配置为确定点云对应的预测树;A second construction part 40 is configured to determine a prediction tree corresponding to the point cloud;
第四确定部分41,被配置为根据当前节点的父节点在所述预测树中的位置,确定所述当前节点对应的当前预测列表;A fourth determining part 41 is configured to determine a current prediction list corresponding to the current node according to a position of a parent node of the current node in the prediction tree;
第四预测部分42,被配置为基于所述当前预测列表对所述当前节点进行预测,确定所述当前节点对应的至少一个帧内预测值;A fourth prediction part 42 is configured to predict the current node based on the current prediction list and determine at least one intra-frame prediction value corresponding to the current node;
第二编码部分43,被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的几何信息编码。The second encoding part 43 is configured to determine the geometric information encoding corresponding to the current node based on the at least one intra-frame prediction value.
在一些实施例中,所述第四确定部分41,还被配置为在所述父节点为所述预测树中的头节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the fourth determining part 41 is further configured to determine a preset prediction list as the current prediction list when the parent node is a head node in the prediction tree.
在一些实施例中,所述第四确定部分41,还被配置为在所述父节点不为头节点的情况下,基于所述前一个已编码节点的重建信息,对所述前一个已解码节点对应的预测列表进行更新,确定所述当前预测列表。In some embodiments, the fourth determination part 41 is further configured to update the prediction list corresponding to the previous decoded node based on the reconstruction information of the previous encoded node to determine the current prediction list when the parent node is not a head node.
在一些实施例中,所述第四确定部分41,还被配置为在所述当前节点不存在父节点的情况下,确定预设预测列表为所述当前预测列表。In some embodiments, the fourth determining part 41 is further configured to determine a preset prediction list as the current prediction list when the current node does not have a parent node.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第四确定部分41,还被配置为将所述点云对应的半径最小值或半径最大值作为所述预设预测列表中的半径预测值;和/或,根据预设方位角最小值或预设方位角中位值作为所述预设预测列表中的方位角预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the fourth determination part 41 is also configured to use the minimum radius value or the maximum radius value corresponding to the point cloud as the radius prediction value in the preset prediction list; and/or, use the preset azimuth minimum value or the preset azimuth median value as the azimuth prediction value in the preset prediction list.
在一些实施例中,预测列表包括:至少一对预测值,每对预测值包括:半径预测值与方位角预测值,所述第四确定部分41,还被配置为根据所述点云的几何精度,基于所述点云对应的半径最小值,以递增的方式确定所述预设预测列表中的至少一个半径预测值。In some embodiments, the prediction list includes: at least one pair of prediction values, each pair of prediction values includes: a radius prediction value and an azimuth prediction value, and the fourth determination part 41 is also configured to determine at least one radius prediction value in the preset prediction list in an incremental manner based on the geometric accuracy of the point cloud and based on the minimum radius corresponding to the point cloud.
在一些实施例中,所述第四预测部分42,还被配置为在所述当前节点为头节点的情况下,根据所述点云中已编码的头节点的数量与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node according to the number of encoded head nodes in the point cloud and the current prediction list when the current node is a head node.
在一些实施例中,所述第四预测部分42,还被配置为在所述当前节点不为头节点的情况下,基于所述父节点的重建信息与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list when the current node is not a head node.
在一些实施例中,所述第四预测部分42,还被配置为基于所述父节点的重建信息与所述当前预测列表,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, the fourth prediction part 42 is further configured to determine at least one intra-frame prediction value corresponding to the current node based on the reconstruction information of the parent node and the current prediction list.
在一些实施例中,所述至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第四预测部分42,还被配置为根据所述点云中已解码的头节点的数量,确定所述当前光束预测值;根据所述当前预测列表中至少一对预测值中的至少一个半径预测值与至少一个方位角预测值,结合所述当前光束预测值,确定所述当前节点对应的至少一个帧内预测值。In some embodiments, each of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the fourth prediction part 42 is also configured to determine the current beam prediction value based on the number of decoded head nodes in the point cloud; and determine at least one intra-frame prediction value corresponding to the current node based on at least one radius prediction value and at least one azimuth prediction value in at least one pair of prediction values in the current prediction list, combined with the current beam prediction value.
在一些实施例中,所述至少一个帧内预测值中的每个帧内预测值包括:当前光束预测值、当前半径预测值与当前方位角预测值;所述第四预测部分42,还被配置为对于所述至少一个帧内预测值中的第一个帧内预测值,根据所述父节点的重建信息中的父节点半径重建值、父节点方位角重建值与父节点光束索引重建值,确定所述第一个帧内预测值中的当前半径预测值、当前方位角预测值与当前光束预测值;对于所述至少一个帧内预测值中的第n个帧内预测值,根据所述当前预测列表中第n对预测值中的半径预测值,确定第n个帧内预测值中的当前半径预测值;n为大于1的整数;根据所述第n对预测值中的方位角预测值、所述父节点方位角重建值以及预设的方位角采样间隔,确定所述第n个帧内预测值中的当前方位角预测值;根据所述父节点光束索引重建值,确定所述第n个帧内预测值中的当前光束预测值。In some embodiments, each intra-frame prediction value of the at least one intra-frame prediction value includes: a current beam prediction value, a current radius prediction value and a current azimuth prediction value; the fourth prediction part 42 is also configured to determine, for the first intra-frame prediction value of the at least one intra-frame prediction value, the current radius prediction value, the current azimuth prediction value and the current beam prediction value in the first intra-frame prediction value according to the parent node radius reconstruction value, the parent node azimuth reconstruction value and the parent node beam index reconstruction value in the reconstruction information of the parent node; for the nth intra-frame prediction value of the at least one intra-frame prediction value, determine the current radius prediction value in the nth intra-frame prediction value according to the radius prediction value in the nth pair of prediction values in the current prediction list; n is an integer greater than 1; determine the current azimuth prediction value in the nth intra-frame prediction value according to the azimuth prediction value in the nth pair of prediction values, the parent node azimuth reconstruction value and the preset azimuth sampling interval; determine the current beam prediction value in the nth intra-frame prediction value according to the parent node beam index reconstruction value.
在一些实施例中,所述第二编码部分43,还被配置为基于所述至少一个帧内预测值,确定所述当前节点对应的预测残差;基于所述父节点在所述预测树中的位置,确定所述当前节点对应的残差 编码上下文和/或帧间标志位编码上下文;基于所述残差编码上下文,对所述当前节点对应的预测残差进行编码,以及/或者,基于所述帧间标志位编码上下文,对所述当前节点对应的帧间预测标志位进行编码,确定所述当前节点对应的预测残差编码和/或帧间预测标志位编码,并基于所述预测残差编码和/或帧间预测标志位编码确定所述几何信息编码。In some embodiments, the second encoding part 43 is further configured to determine the prediction residual corresponding to the current node based on the at least one intra-frame prediction value; determine the residual corresponding to the current node based on the position of the parent node in the prediction tree Coding context and/or inter-frame flag coding context; based on the residual coding context, encoding the prediction residual corresponding to the current node, and/or, based on the inter-frame flag coding context, encoding the inter-frame prediction flag corresponding to the current node, determining the prediction residual coding and/or inter-frame prediction flag coding corresponding to the current node, and determining the geometric information coding based on the prediction residual coding and/or inter-frame prediction flag coding.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第二编码部分43,还被配置为在所述父节点为头节点的情况下,基于预设第四索引值确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context based on a preset fourth index value when the parent node is a head node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第二编码部分43,还被配置为在所述父节点不为头节点的情况下,基于所述当前节点的前一个已解码节点,确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context corresponding to the current node based on the previous decoded node of the current node when the parent node is not a head node.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第二编码部分43,还被配置为在所述当前节点不存在父节点的情况下,基于预设第四索引值确定所述当前节点对应的方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth residual context corresponding to the current node based on a preset fourth index value when the current node does not have a parent node.
在一些实施例中,所述第二编码部分43,还被配置为在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号大于预设符号阈值的情况下,基于预设第一索引值确定方位角上下文索引;在所述前一个已编码节点为帧内预测编码,且所述前一个已编码节点的方位角残差的符号小于或等于所述预设符号阈值的情况下,基于预设第二索引值确定方位角上下文索引;在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第三索引值确定方位角上下文索引;m为不小于1的正整数;在所述前一个已编码节点为帧间预测编码,且用于编码的帧间预测点不属于所述前一个已编码节点对应的前m个候选帧间预测点的情况下,基于预设第四索引值确定方位角上下文索引;基于所述方位角上下文索引,确定所述当前节点对应的方位角残差上下文。In some embodiments, the second encoding part 43 is further configured to determine the azimuth context index based on a preset first index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is greater than a preset sign threshold; determine the azimuth context index based on a preset second index value when the previous encoded node is intra-frame prediction encoding and the sign of the azimuth residual of the previous encoded node is less than or equal to the preset sign threshold; determine the azimuth context index based on a preset third index value when the previous encoded node is inter-frame prediction encoding and the inter-frame prediction point used for encoding belongs to the first m candidate inter-frame prediction points corresponding to the previous encoded node; m is a positive integer not less than 1; determine the azimuth context index based on a preset fourth index value when the previous encoded node is inter-frame prediction encoding and the inter-frame prediction point used for encoding does not belong to the first m candidate inter-frame prediction points corresponding to the previous encoded node; and determine the azimuth residual context corresponding to the current node based on the azimuth context index.
在一些实施例中,所述预测残差包括:方位角预测残差;所述残差编码上下文包括:方位角残差上下文;所述第二编码部分43,还被配置为在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定方位角上下文索引;基于所述方位角上下文索引,确定所述方位角残差上下文。In some embodiments, the prediction residual includes: azimuth prediction residual; the residual coding context includes: azimuth residual context; the second encoding part 43 is also configured to determine the azimuth context index based on the parent node when the parent node is a head node and the current node is not a head node; and determine the azimuth residual context based on the azimuth context index.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第二编码部分43,还被配置为在所述父节点为头节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the parent node is a head node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第二编码部分43,还被配置为在所述父节点不为头节点的情况下,根据所述当前节点的前一个已编码节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to determine, when the parent node is not a head node, at least one of a first radius context index, a second radius context index and a third radius context index according to a previous encoded node of the current node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第二编码部分43,还被配置为在所述当前节点不存在父节点的情况下,将第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个确定为预设第一标志位值;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the current node does not have a parent node, determine at least one of the first radius context index, the second radius context index and the third radius context index as a preset first flag value; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第二编码部分43,还被配置为根据所述前一个已编码节点是否采用帧间预测,确定所述第一半径上下文索引;和/或,根据所述前一个已编码节点的方位角采样间隔是否为零,确定所述第二半径上下文索引;和/或,根据所述前一个已编码节点的半径残差的符号是否小于预设符号阈值,确定所述第三半径上下文索引。In some embodiments, the second encoding part 43 is also configured to determine the first radius context index according to whether the previous encoded node adopts inter-frame prediction; and/or, determine the second radius context index according to whether the azimuth sampling interval of the previous encoded node is zero; and/or, determine the third radius context index according to whether the sign of the radius residual of the previous encoded node is less than a preset sign threshold.
在一些实施例中,所述预测残差包括:半径预测残差;所述残差编码上下文包括:半径残差上下文;所述第二编码部分43,还被配置为在所述父节点为头节点,且所述当前节点不为头节点的情况下,基于所述父节点,确定第一半径上下文索引、第二半径上下文索引与第三半径上下文索引中的至少一个;基于所述第一半径上下文索引、所述第二半径上下文索引与所述第三半径上下文索引中的至少一个,确定所述当前节点对应的半径残差上下文。In some embodiments, the prediction residual includes: a radius prediction residual; the residual coding context includes: a radius residual context; the second encoding part 43 is also configured to, when the parent node is a head node and the current node is not a head node, determine at least one of a first radius context index, a second radius context index and a third radius context index based on the parent node; based on at least one of the first radius context index, the second radius context index and the third radius context index, determine the radius residual context corresponding to the current node.
在一些实施例中,所述第四预测部分42,还被配置为根据所述父节点对所述当前节点进行帧间 预测,确定所述当前节点对应的帧间预测值;基于所述至少一个帧内预测值与所述帧间预测值各自的率失真代价,确定所述当前节点的几何预测信息;基于所述几何预测信息,确定所述当前节点对应的预测残差。In some embodiments, the fourth prediction part 42 is further configured to perform inter-frame prediction on the current node according to the parent node. Predict, determine the inter-frame prediction value corresponding to the current node; determine the geometric prediction information of the current node based on the rate-distortion cost of the at least one intra-frame prediction value and the inter-frame prediction value; determine the prediction residual corresponding to the current node based on the geometric prediction information.
在一些实施例中,所述第四预测部分42,还被配置为在所述点云的参考点云中,确定与所述父节点在同一激光束上,且与所述父节点具有相同方位角的初始参考点;在所述参考点云的所述同一激光束上,确定方位角大于所述初始参考点的方位角的第一参考点与第二参考点;基于所述第一参考点与所述第二参考点,确定所述当前节点对应的帧间预测值。In some embodiments, the fourth prediction part 42 is also configured to determine, in the reference point cloud of the point cloud, an initial reference point that is on the same laser beam as the parent node and has the same azimuth as the parent node; determine a first reference point and a second reference point on the same laser beam of the reference point cloud whose azimuths are greater than the azimuth of the initial reference point; and determine the inter-frame prediction value corresponding to the current node based on the first reference point and the second reference point.
在一些实施例中,所述第二编码部分43,还被配置为在所述父节点为所述预测树中的头节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位编码上下文。In some embodiments, the second encoding part 43 is further configured to determine a preset initial value as the inter-frame flag coding context corresponding to the current node when the parent node is the head node in the prediction tree.
在一些实施例中,所述第二编码部分43,还被配置为在所述父节点不为所述预测树中的头节点的情况下,将所述当前节点之前至少一个已编码节点的帧间预测标志位的值,确定为所述当前节点对应的帧间标志位编码上下文。In some embodiments, the second encoding part 43 is also configured to determine the value of the inter-frame prediction flag of at least one encoded node before the current node as the inter-frame flag encoding context corresponding to the current node when the parent node is not the head node in the prediction tree.
在一些实施例中,所述第二编码部分43,还被配置为在所述当前节点不存在父节点的情况下,将预设初始值确定为所述当前节点对应的帧间标志位解码上下文。In some embodiments, the second encoding part 43 is further configured to determine a preset initial value as the inter-frame flag decoding context corresponding to the current node when the current node does not have a parent node.
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be noted that the description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.
在一些实施例中,本申请实施例还提供一种解码器,图17为本申请实施例提供的解码器5的一种可选的结构示意图。如图17所示,解码器5包括:第一存储器52与第一处理器53。其中,第一存储器52和第一处理器53通过第一通信总线54连接;第一存储器52,用于存储可执行指令;第一处理器53,用于执行第一存储器52中存储的可执行指令时,实现本申请实施例提供的解码方法。In some embodiments, the embodiment of the present application further provides a decoder, and FIG17 is an optional structural diagram of the decoder 5 provided in the embodiment of the present application. As shown in FIG17, the decoder 5 includes: a first memory 52 and a first processor 53. Among them, the first memory 52 and the first processor 53 are connected through a first communication bus 54; the first memory 52 is used to store executable instructions; the first processor 53 is used to execute the executable instructions stored in the first memory 52, and implement the decoding method provided in the embodiment of the present application.
在一些实施例中,本申请实施例还提供一种编码器,图18为本申请实施例提供的编码器6的一种可选的结构示意图。如图18所示,编码器6包括:第二存储器62与第二处理器63。其中,第二存储器62和第二处理器63通过第二通信总线64连接;第二存储器62,用于存储可执行指令;第二处理器63,用于执行第二存储器62中存储的可执行指令时,实现本申请实施例提供的编码方法。In some embodiments, the embodiment of the present application further provides an encoder, and FIG18 is an optional structural diagram of the encoder 6 provided in the embodiment of the present application. As shown in FIG18, the encoder 6 includes: a second memory 62 and a second processor 63. Among them, the second memory 62 and the second processor 63 are connected via a second communication bus 64; the second memory 62 is used to store executable instructions; the second processor 63 is used to execute the executable instructions stored in the second memory 62, and implement the encoding method provided in the embodiment of the present application.
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被第一处理器执行时,将引起第一处理器执行上述任一种本申请实施例提供的解码方法;或者,当可执行指令被第二处理器执行时,将引起第二处理器执行上述任一种本申请实施例提供的编码方法。An embodiment of the present application provides a computer-readable storage medium storing executable instructions, wherein executable instructions are stored. When the executable instructions are executed by a first processor, the first processor will be caused to execute any one of the decoding methods provided in the embodiments of the present application; or, when the executable instructions are executed by a second processor, the second processor will be caused to execute any one of the encoding methods provided in the embodiments of the present application.
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。In some embodiments, executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。As an example, executable instructions may, but do not necessarily, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的装置。The present application is described with reference to the flowcharts and/or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and/or box in the flowchart and/or block diagram, as well as the combination of the processes and/or boxes in the flowchart and/or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing one process or multiple processes in the flowchart and/or one block diagram. A device that performs the functions specified in a box or multiple boxes.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。The above is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
编/解码器可以根据当前节点的父节点的子节点数量,或者,根据当前节点的父节点在预测树中的位置,确定当前节点对应的预测列表,从而可以独立地对点云中的各个激光束进行编/解码,不同激光束之间编/解码互不影响,可以并行地执行,从而降低了编解码时延,提高了编解码效率,进而提高了编解码性能。The encoder/decoder can determine the prediction list corresponding to the current node according to the number of child nodes of the parent node of the current node, or according to the position of the parent node of the current node in the prediction tree, so that each laser beam in the point cloud can be encoded/decoded independently. The encoding/decoding of different laser beams does not affect each other and can be executed in parallel, thereby reducing the encoding and decoding delay, improving the encoding and decoding efficiency, and thus improving the encoding and decoding performance.
并且,根据当前节点的父节点的子节点数量,或者,根据当前节点的父节点在预测树中的位置,,确定当前节点的残差解码上下文和/或帧间标志位解码上下文,进一步降低了线间依赖,提高了编解码效率和编解码性能。 Furthermore, according to the number of child nodes of the parent node of the current node, or according to the position of the parent node of the current node in the prediction tree, the residual decoding context and/or inter-frame flag decoding context of the current node is determined, thereby further reducing inter-line dependency and improving encoding and decoding efficiency and encoding and decoding performance.
Claims (117)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/093959 WO2024234159A1 (en) | 2023-05-12 | 2023-05-12 | Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/093959 WO2024234159A1 (en) | 2023-05-12 | 2023-05-12 | Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024234159A1 true WO2024234159A1 (en) | 2024-11-21 |
Family
ID=93518503
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/093959 Pending WO2024234159A1 (en) | 2023-05-12 | 2023-05-12 | Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024234159A1 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021246796A1 (en) * | 2020-06-05 | 2021-12-09 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
| US20220108484A1 (en) * | 2020-10-07 | 2022-04-07 | Qualcomm Incorporated | Predictive geometry coding in g-pcc |
| CN114556429A (en) * | 2019-10-02 | 2022-05-27 | 苹果公司 | Predictive encoding for point cloud compression |
| WO2022213569A1 (en) * | 2021-04-09 | 2022-10-13 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head |
| CN115412713A (en) * | 2021-05-26 | 2022-11-29 | 荣耀终端有限公司 | A method and device for predictive encoding and decoding of point cloud depth information |
| CN115474059A (en) * | 2021-06-11 | 2022-12-13 | 维沃移动通信有限公司 | Point cloud encoding method, decoding method and device |
-
2023
- 2023-05-12 WO PCT/CN2023/093959 patent/WO2024234159A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114556429A (en) * | 2019-10-02 | 2022-05-27 | 苹果公司 | Predictive encoding for point cloud compression |
| WO2021246796A1 (en) * | 2020-06-05 | 2021-12-09 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
| US20220108484A1 (en) * | 2020-10-07 | 2022-04-07 | Qualcomm Incorporated | Predictive geometry coding in g-pcc |
| WO2022213569A1 (en) * | 2021-04-09 | 2022-10-13 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head |
| CN115412713A (en) * | 2021-05-26 | 2022-11-29 | 荣耀终端有限公司 | A method and device for predictive encoding and decoding of point cloud depth information |
| CN115474059A (en) * | 2021-06-11 | 2022-12-13 | 维沃移动通信有限公司 | Point cloud encoding method, decoding method and device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115380536A (en) | Improved predictive encoding for point cloud compression | |
| WO2022121649A1 (en) | Point cloud data encoding and decoding method, point cloud data processing method and apparatus, electronic device, computer program product, and computer readable storage medium | |
| US20230007250A1 (en) | Point cloud coding methods, encoder, and decoder | |
| CN113096200B (en) | Point cloud attribute compression method, device, equipment and medium based on normal vector | |
| WO2013010317A1 (en) | Method for adaptive entropy coding of tree structures | |
| JP7657987B2 (en) | Attribute information prediction method, encoder, decoder, and storage medium | |
| US20240087176A1 (en) | Point cloud decoding method and apparatus, point cloud encoding method and apparatus, computer device, computer-readable storage medium | |
| CN111727445A (en) | Data Compression with Local Entropy Coding | |
| CN114598892B (en) | Point cloud data encoding method, decoding method, device, equipment and storage medium | |
| WO2021062772A1 (en) | Prediction method, encoder, decoder, and computer storage medium | |
| CN115379191A (en) | Point cloud decoding method, point cloud encoding method and related equipment | |
| CN117692662A (en) | A point cloud encoding and decoding method based on double octree structure | |
| CN114009014B (en) | Color component prediction method, encoder, decoder and computer storage medium | |
| KR20240132486A (en) | Method, device and medium for point cloud coding | |
| AU2023425553A1 (en) | Neural video coding | |
| WO2024234159A1 (en) | Point cloud coding method, point cloud decoding method, decoder, coder, and computer-readable storage medium | |
| CN115412713B (en) | A method and device for predicting and decoding point cloud depth information | |
| JP7765638B2 (en) | Method, apparatus and medium for point cloud coding | |
| KR102808975B1 (en) | Predictive tree-based geometric coding for point clouds | |
| TW202406343A (en) | Encoding method, decoding method, decoder, encoder and computer readable storage medium | |
| TW202425638A (en) | Encoding method, decoding method, decoder, encoder, code stream, and storage medium | |
| WO2025147965A1 (en) | Encoding method, decoding method, decoder, encoder, and computer readable storage medium | |
| WO2024149258A1 (en) | Method, apparatus, and medium for point cloud coding | |
| WO2024149203A9 (en) | Method, apparatus, and medium for point cloud coding | |
| CN121058248A (en) | Encoding/decoding method, code stream, encoder, decoder, and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23936854 Country of ref document: EP Kind code of ref document: A1 |