WO2022116122A1 - 帧内预测方法及装置、编解码器、设备、存储介质 - Google Patents

帧内预测方法及装置、编解码器、设备、存储介质 Download PDF

Info

Publication number
WO2022116122A1
WO2022116122A1 PCT/CN2020/133712 CN2020133712W WO2022116122A1 WO 2022116122 A1 WO2022116122 A1 WO 2022116122A1 CN 2020133712 W CN2020133712 W CN 2020133712W WO 2022116122 A1 WO2022116122 A1 WO 2022116122A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
attribute
value
nodes
coplanar
Prior art date
Application number
PCT/CN2020/133712
Other languages
English (en)
French (fr)
Inventor
魏红莲
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202080107272.5A priority Critical patent/CN116458158A/zh
Priority to PCT/CN2020/133712 priority patent/WO2022116122A1/zh
Publication of WO2022116122A1 publication Critical patent/WO2022116122A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Definitions

  • the embodiments of the present application relate to point cloud processing technologies, and relate to, but are not limited to, intra-frame prediction methods and apparatuses, codecs, devices, and storage media.
  • a point cloud is a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of a three-dimensional object or scene.
  • Point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
  • Point clouds can express the spatial structure and surface properties of three-dimensional objects or scenes flexibly and conveniently, and because point clouds are obtained by directly sampling real objects, they can provide a strong sense of realism under the premise of ensuring accuracy, so they are widely used.
  • Point clouds can express the spatial structure and surface properties of three-dimensional objects or scenes flexibly and conveniently, and because point clouds are obtained by directly sampling real objects, they can provide a strong sense of realism under the premise of ensuring accuracy, so they are widely used.
  • point cloud compression has become a key issue to promote the development of the point cloud industry.
  • Point cloud compression is mainly divided into geometric compression and attribute compression.
  • the accuracy of intra-frame prediction (ie, the prediction of node attribute value) in attribute compression directly affects the efficiency of encoding and decoding.
  • the intra-frame prediction method and apparatus, codec, device, and storage medium provided by the embodiments of the present application can improve the accuracy of intra-frame prediction, thereby improving the encoding and decoding efficiency of point clouds.
  • the intra-frame prediction method and device, codec, device, and storage medium provided by the embodiments of the present application are implemented as follows:
  • the method includes: obtaining an attribute prediction value of the current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer;
  • the attribute value of the coplanar node is the attribute reconstruction value.
  • the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node.
  • a coplanar node of a coplanar node that satisfies the condition is also a collinear node of the current node, and the condition is a non-empty node decoded before the current node; or, the attribute value of the coplanar node that satisfies the condition is an attribute
  • the attribute value of the coplanar node that does not meet the condition is obtained according to a preset first constant, and the condition is a non-empty node decoded before the current node.
  • the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not satisfy the condition includes: determining a weight value of each of the interpolation nodes; according to each of the interpolation nodes The weight value of each of the interpolation nodes is weighted and averaged, and the attribute values of the coplanar nodes that do not meet the conditions are obtained.
  • the determining the weight value of each of the interpolation nodes includes: determining the weight value of the interpolation nodes that do not meet the condition as a preset second constant; setting the interpolation nodes that meet the condition The weight value of is determined as a preset third constant.
  • the reconstructing the value according to the attribute of the interpolated node to obtain the attribute value of the coplanar node that does not meet the condition includes: converting one node among all the interpolated nodes of the coplanar node that does not meet the condition The reconstructed value of the attribute is used as the attribute value of the coplanar node that does not satisfy the condition.
  • the obtaining the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node includes: using the M coplanar nodes as prediction nodes; according to the prediction nodes The attribute value of the current node is predicted, and the attribute prediction value of the current node is obtained.
  • the obtaining the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node includes: obtaining K predicted nodes according to the M coplanar nodes; wherein K is an integer greater than 0; according to the attribute value of the predicted node, the attribute of the current node is predicted to obtain the attribute predicted value of the current node.
  • the obtaining K prediction nodes according to the M coplanar nodes includes: obtaining K prediction nodes according to a specific coding order of the M coplanar nodes; wherein, when the coplanar nodes are When the node is a coplanar node that satisfies the condition or at least one interpolation node that satisfies the condition and does not satisfy the condition, the coplanar node is determined as the prediction node; when the condition is met In the case where the total number of coplanar nodes and at least one interpolation node that satisfies the condition and the coplanar node that does not satisfy the condition is greater than or equal to K, sort the nodes corresponding to the total number of nodes according to a specific coding order.
  • the first K nodes are determined as the predicted nodes; when the total number of nodes is greater than 0 and less than K, the attribute value of the filling node is determined; the node corresponding to the total number of nodes and the filling node are determined as the the prediction node.
  • the determining the attribute value of the filling node includes: determining, as the attribute value of the filling node, the attribute value of the first node sorted according to the specific coding order among the nodes corresponding to the total number of nodes or, the mean value of the attribute values of the nodes corresponding to the total number of nodes is determined as the attribute value of the filled node; or, the attribute value of the coplanar node and/or the collinear node of the first node is determined
  • the mean value of is determined as the attribute value of the filling node; or, a preset fourth constant is determined as the attribute value of the filling node.
  • predicting the attribute of the current node according to the attribute value of the predicted node to obtain the predicted attribute value of the current node includes: if any predicted node satisfies the condition If any of the prediction nodes is the coplanar node that does not satisfy the condition and at least one interpolation node of the coplanar node that does not satisfy the condition satisfies the condition, determine each of the predictions The weight value of the node; according to the weight value of each prediction node, perform a weighted average calculation on the attribute value of each prediction node to obtain the attribute prediction value of the current node.
  • the determining the weight value of each of the prediction nodes includes: determining the weight value of each prediction node that satisfies the condition as a preset fifth constant; The weight value of the prediction node that satisfies the condition and all the interpolation nodes do not satisfy the condition is determined as the preset sixth constant; the coplanar node that does not meet the condition and at least one interpolation node satisfies The weight value of the conditional prediction node is determined as the preset seventh constant.
  • performing a weighted average calculation on the attribute value of each prediction node according to the weight value of each prediction node, to obtain the attribute prediction value of the current node includes: in the prediction When the number of nodes is a power of 2, the attribute value of each predicted node and the corresponding weight value are multiplied by a multiplier to obtain a first operation result; each predicted node is calculated by an adder. Perform an addition operation on the corresponding first operation result to obtain a second operation result; perform a shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute prediction value of the current node .
  • the predicting the attribute of the current node according to the attribute value of each predicted node to obtain the predicted attribute value of the current node further includes: In the case of coplanar nodes that do not meet the condition and all interpolation nodes of each prediction node do not meet the condition, reconstruct the value according to the attribute of at least one node that has completed decoding before the current node, An attribute prediction value of the current node is determined.
  • the determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node that has completed decoding before the current node includes: The attribute reconstruction value is determined as the attribute prediction value of the current node.
  • the method further includes: parsing out the residual of the current node from the received attribute code stream; determining the current node according to the predicted attribute value of the current node and the residual attribute reconstruction value.
  • a point cloud decoding method provided by an embodiment of the present application, the method includes: parsing a received attribute code stream to obtain a residual of the current node; performing the method described in the embodiment of the present application on the current node step of obtaining the attribute prediction value of the current node; and determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual.
  • An intra-frame prediction method provided by an embodiment of the present application includes: obtaining an attribute prediction value of the current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer;
  • the attribute value of the coplanar node of the condition is the attribute reconstruction value.
  • the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node.
  • the coplanar node of the coplanar node that does not meet the condition is also the collinear node of the current node, and the condition is a non-empty node coded before the current node; or, for the attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value.
  • the attribute value of the coplanar node that does not meet the condition is obtained according to the preset first constant, and the condition is the non-empty code coded before the current node. node.
  • the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not satisfy the condition includes: determining a weight value of each of the interpolation nodes; according to each of the interpolation nodes The weight value of each of the interpolation nodes is weighted and averaged, and the attribute values of the coplanar nodes that do not meet the conditions are obtained.
  • the determining the weight value of each of the interpolation nodes includes: determining the weight value of the interpolation nodes that do not meet the condition as a preset second constant; setting the interpolation nodes that meet the condition The weight value of is determined as a preset third constant.
  • the interpolation node satisfies the condition.
  • the reconstructing the value according to the attribute of the interpolated node to obtain the attribute value of the coplanar node that does not meet the condition includes: converting one node among all the interpolated nodes of the coplanar node that does not meet the condition The reconstructed value of the attribute is used as the attribute value of the coplanar node that does not satisfy the condition.
  • the obtaining the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node includes: using the M coplanar nodes as prediction nodes; according to the prediction nodes The attribute value of the current node is predicted, and the attribute prediction value of the current node is obtained.
  • the obtaining the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node includes: obtaining K predicted nodes according to the M coplanar nodes; wherein K is an integer greater than 0; according to the attribute value of the predicted node, the attribute of the current node is predicted to obtain the attribute predicted value of the current node.
  • K is a power of two.
  • the obtaining K prediction nodes according to the M coplanar nodes includes: obtaining K prediction nodes according to a specific coding order of the M coplanar nodes; wherein, when the coplanar nodes are When the node is a coplanar node that satisfies the condition or at least one interpolation node that satisfies the condition and does not satisfy the condition, the coplanar node is determined as the prediction node; when the condition is met In the case where the total number of coplanar nodes and at least one interpolation node that satisfies the condition and the coplanar node that does not satisfy the condition is greater than or equal to K, sort the nodes corresponding to the total number of nodes according to a specific coding order.
  • the first K nodes are determined as the predicted nodes; when the total number of nodes is greater than 0 and less than K, the attribute value of the filling node is determined; the node corresponding to the total number of nodes and the filling node are determined as the the prediction node.
  • the determining the attribute value of the filling node includes: determining, as the attribute value of the filling node, the attribute value of the first node sorted according to the specific coding order among the nodes corresponding to the total number of nodes or, the mean value of the attribute values of the nodes corresponding to the total number of nodes is determined as the attribute value of the filled node; or, the attribute value of the coplanar node and/or the collinear node of the first node is determined
  • the mean value of is determined as the attribute value of the filling node; or, a preset fourth constant is determined as the attribute value of the filling node.
  • predicting the attribute of the current node according to the attribute value of the predicted node to obtain the predicted attribute value of the current node includes: if any predicted node satisfies the condition If any of the prediction nodes is the coplanar node that does not satisfy the condition and at least one interpolation node of the coplanar node that does not satisfy the condition satisfies the condition, determine each of the predictions The weight value of the node; according to the weight value of each prediction node, perform a weighted average calculation on the attribute value of each prediction node to obtain the attribute prediction value of the current node.
  • the determining the weight value of each of the prediction nodes includes: determining the weight value of each prediction node that satisfies the condition as a preset fifth constant; The weight value of the prediction node that satisfies the condition and all the interpolation nodes do not satisfy the condition is determined as the preset sixth constant; the coplanar node that does not meet the condition and at least one interpolation node satisfies The weight value of the conditional prediction node is determined as the preset seventh constant.
  • performing a weighted average calculation on the attribute value of each prediction node according to the weight value of each prediction node, to obtain the attribute prediction value of the current node includes: in the prediction When the number of nodes is a power of 2, the attribute value of each predicted node and the corresponding weight value are multiplied by a multiplier to obtain a first operation result; each predicted node is calculated by an adder. Perform an addition operation on the corresponding first operation result to obtain a second operation result; perform a shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute prediction value of the current node .
  • the predicting the attribute of the current node according to the attribute value of each predicted node to obtain the predicted attribute value of the current node further includes: In the case of coplanar nodes that do not satisfy the condition and all interpolation nodes of each prediction node do not satisfy the condition, reconstruct the value according to the attribute of at least one node that has completed encoding before the current node, An attribute prediction value of the current node is determined.
  • the determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node that has completed encoding before the current node includes: The attribute reconstruction value is determined as the attribute prediction value of the current node.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • a point cloud encoding method provided by an embodiment of the present application, the method includes: performing the steps in the method described in the embodiment of the present application on a current node of the point cloud to obtain an attribute prediction value of the current node; the residual between the attribute prediction value of the current node and the original attribute value of the current node; and encoding the residual of the current node into an attribute code stream.
  • An intra-frame prediction apparatus includes: a prediction module, configured to obtain an attribute prediction value of the current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer; wherein, The attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value, and for the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node, and the interpolation node Both the coplanar node of the coplanar node that does not meet the condition is also the collinear node of the current node, and the condition is the non-empty node decoded before the current node; or, for the coplanar node that meets the condition The attribute value is the attribute reconstruction value. For the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the preset first constant,
  • a decoding apparatus includes: a parsing module, configured to parse a received attribute code stream to obtain a residual of the current node; an intra-frame prediction module, configured to execute the method described in the embodiment of the present application In step , the attribute prediction value of the current node is obtained; the decoding module is used for determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual difference.
  • a decoder provided by an embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can be run on the processor; the processor is used to When the computer program is run, the methods described in the embodiments of the present application are executed.
  • An intra-frame prediction apparatus includes: a prediction module, configured to obtain an attribute prediction value of the current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer; wherein, The attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value, and for the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node, and the interpolation node Both the coplanar node of the coplanar node that does not meet the condition is also the collinear node of the current node, and the condition is the non-empty node coded before the current node; or, for the coplanar node that meets the condition The attribute value is the attribute reconstruction value. For the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the preset first constant, and
  • An encoding apparatus includes: an intra-frame prediction module, configured to perform the steps in the method according to the embodiment of the present application, to obtain an attribute prediction value of a current node; a determination module, configured to determine the The residual between the attribute prediction value of the current node and the original attribute value of the current node; an encoding module, used for encoding the residual of the current node into an attribute code stream.
  • An encoder provided by an embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can be run on the processor; the processor is used to When the computer program is run, the methods described in the embodiments of the present application are executed.
  • the electronic device includes a memory and a processor; wherein, the memory is used to store a computer program that can be run on the processor; the processor is used to run the computer program when the computer program is executed. , and execute the method described in the embodiments of the present application.
  • the computer-readable storage medium stores a computer program thereon, and when the computer program is executed by a processor, implements the methods described in the embodiments of the present application.
  • the attribute value of the coplanar node that does not meet the condition of the current node is obtained by interpolating the attribute value of the interpolation node of the coplanar node that does not meet the condition; in this way, the electronic device can use the unsatisfied condition.
  • the attribute value of the coplanar node is used to predict the attribute of the current node, that is, when the electronic device performs attribute prediction, it is not only based on the coplanar nodes that meet the conditions and the collinear nodes that meet the conditions, but also combines the coplanar nodes that do not meet the conditions.
  • the attribute value is used for intra-frame prediction. It can be seen that this method considers more information for the attribute prediction of the current node, which can improve the accuracy of the intra-frame prediction, thereby improving the coding efficiency.
  • FIG. 1 is a schematic diagram of a three-dimensional point cloud image and a partial enlarged view
  • Fig. 2 is a schematic diagram of a point cloud image and its corresponding data storage format
  • FIG. 3A is a schematic diagram of the coding framework of the point cloud compression reference platform provided by the Audio Video Standard (AVS) point cloud compression special group, that is, the point cloud reference model (Point Cloud Reference Model, PCRM);
  • AVS Audio Video Standard
  • PCRM Point Cloud Reference Model
  • 3B is a schematic diagram of the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression special group;
  • 4A is a schematic diagram of placing the entire point cloud in a cube bounding box
  • 4B is a schematic diagram of an octree division process for point clouds
  • Fig. 5 is the schematic diagram of the coding sequence of Morton code in two-dimensional space
  • FIG. 6 is a schematic diagram of the encoding sequence of Morton codes in three-dimensional space
  • 7A is a schematic diagram of a current node and its coplanar node
  • 7B is a schematic diagram of a current node and its collinear node
  • FIG. 8 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • FIG. 11 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • FIG. 12 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • FIG. 13 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
  • 15 is a schematic diagram of an interpolation node of a coplanar node that does not satisfy the condition
  • 16 is a schematic structural diagram of an intra-frame prediction apparatus according to an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of an encoding device according to an embodiment of the present application.
  • FIG. 18 is a schematic structural diagram of an intra-frame prediction apparatus according to an embodiment of the present application.
  • FIG. 19 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present application.
  • 20 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the application.
  • 21 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the application.
  • FIG. 22 is a schematic diagram of a hardware entity of a decoder according to an embodiment of the present application.
  • first ⁇ second ⁇ third involved in the embodiments of the present application is to distinguish similar or different objects, and does not represent a specific ordering of objects. It is understood that “first ⁇ second ⁇ third” “Three” may be interchanged where permitted in a specific order or sequence, so that the embodiments of the present application described herein can be implemented in sequences other than those illustrated or described herein.
  • the coding/decoding framework and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
  • Those of ordinary skill in the art know that, with the evolution of the coding and decoding framework and the emergence of new service scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • the data form of the point cloud, the coding and decoding framework, and the regularization processing of the point cloud involved in the embodiments of the present application are described.
  • the encoding and decoding frameworks and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute limitations on the technical solutions provided by the embodiments of the present application.
  • Those of ordinary skill in the art know that, with the evolution of the coding and decoding framework and the emergence of new service scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • a point cloud is a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of a three-dimensional object or scene.
  • 101 is a three-dimensional point cloud image.
  • 102 is a partial enlarged view of the point cloud image. It can be seen that the surface of the point cloud is composed of densely distributed points.
  • point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
  • Figure 2 shows a point cloud image and its corresponding data storage format, wherein 201 provides six viewing angles of the point cloud image; 202 shows the data storage format of the point cloud image, which is defined by the file header information part and the data part, the header information includes the data format, data representation type, the total number of points in the point cloud, and the content represented by the point cloud.
  • the point cloud in 202 is in ".ply" format, represented by ASCII code, and the total number of points is 207242, each point has 3D position information xyz and 3D color information rgb.
  • the acquisition of point clouds mainly includes the following methods: computer generation, 3D laser scanning and 3D photogrammetry.
  • Computers can generate point clouds of virtual 3D objects and scenes; 3D laser scanning can obtain point clouds of static real world 3D objects or scenes, and millions of point clouds can be obtained per second; 3D photogrammetry can obtain dynamic real world 3D objects or scenes It can obtain tens of millions of point clouds per second.
  • These techniques reduce the cost and time period of point cloud data acquisition and improve the accuracy of the data.
  • the change in the acquisition method of point cloud data makes it possible to acquire a large amount of point cloud data.
  • the processing of massive 3D point cloud data encounters the bottleneck of limited storage space and transmission bandwidth.
  • the number of points in each frame of the point cloud is 700,000, and each point has coordinate information xyz of float type and color information RGB of uchar type.
  • the data volume of 10s is about 12 ⁇ 80 ⁇ 72 ⁇ 012bit ⁇
  • point cloud compression has become a key issue to promote the development of the point cloud industry.
  • Point cloud compression usually adopts the method of separately compressing point cloud geometric information and point cloud attribute information.
  • the geometric information of the point cloud is first encoded in the geometric encoder to obtain the reconstructed geometric information; then the reconstructed geometric information is input into the attribute encoder as additional information to assist the compression of the attribute information of the point cloud;
  • the decoding end first The geometric information of the point cloud is decoded in the geometry decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist the compression of the attribute information of the point cloud.
  • the entire codec consists of preprocessing/postprocessing, geometry encoding/decoding, and attribute encoding/decoding.
  • FIG. 3A is the coding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression topic group
  • FIG. 3B is the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression topic group.
  • the collected geometric information is preprocessed, and the geometric origin is normalized to the minimum position in the point cloud space by coordinate translation.
  • Coordinate quantization converts geometric information from floating point type to integer type, and obtains regularized geometric information, that is, regularized point cloud space, so as to facilitate subsequent regularization processing; then, the regularized geometric information is geometrically encoded.
  • an octree structure can be used to recursively divide the regularized point cloud space, and each time the current node is divided into eight sub-blocks of the same size, and the occupied codeword status of each sub-block is determined. , when there is no point in the sub-block, it is recorded as empty, otherwise it is recorded as non-empty, and the occupied codeword information of all blocks is recorded in the last layer of recursive division and encoded.
  • the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream, and on the other hand, the geometric reconstruction process is performed in the encoder, and the reconstructed geometric information is input as additional information into the attribute encoder.
  • the attribute coding part the collected attribute information is preprocessed first. Since the geometric information changes after the geometric coding, it is necessary to reassign the attribute value to each point after the geometric coding. This process is called attribute recoloring.
  • the processed attribute information is color information
  • the original color needs to be transformed into a color space to convert it into a YUV color space that is more in line with the visual characteristics of the human eye; and then attribute encoding is performed on the preprocessed attribute information.
  • the point cloud needs to be reordered first, and the reordering method is Morton code. Therefore, the traversal order of attribute encoding is Morton order, and the attribute prediction method in PCRM is based on Morton order.
  • the single-point prediction that is, backtracking one point from the current point to be encoded (current node) in Morton order, the found point is the prediction reference point (prediction node) of the current point to be encoded, and then the attributes of the prediction reference point are reconstructed
  • the value is used as the attribute prediction value, and the attribute residual is the difference between the preprocessed attribute value of the current point to be encoded and the attribute predicted value; finally, the residual is quantized, and the quantized residual is input into the attribute entropy encoder to form attribute code stream.
  • the method of decoding the geometric code stream and the attribute code stream is adopted respectively.
  • the decoding part of the geometric code stream firstly, entropy decoding is performed on the geometric code stream to obtain the geometric information of each node, and then the octree structure is constructed in the same way as the geometric encoding, and the coordinate transformed, through the octree is reconstructed.
  • the coordinate inverse quantization and inverse translation of the information are carried out to obtain the decoded geometric information, and on the other hand, the decoded geometric information is input into the attribute decoder as additional information.
  • the Morton order is constructed in the same way as the encoding end.
  • the attribute code stream is entropy decoded to obtain the quantized residual information; then the residual information is inversely quantized to obtain the residual value. ;
  • the attribute prediction value of the current point to be decoded is obtained, and then the attribute prediction value and the residual value are added to restore the YUV attribute value of the current point to be decoded; finally, after the color
  • the inverse spatial transformation obtains the decoded attribute information.
  • the recursive octree structure is adopted to express the points in the point cloud as the center of the cube in a regular manner.
  • x min min(x 0 , x 1 ,...x q-1 ) Formula (1);
  • the size of the bounding box in the x, y, and z directions can be calculated according to the following equations (10) to (12):
  • each voxel contains one or more points, normalize the geometric positions of these points to the center point (node) of the voxel, the The attribute value of the center point is the average of the attribute values of all points in the voxel (original attribute value).
  • the Morton coding order of the "z” shape is composed of the Morton coding order of the entire 8x8 block.
  • the Morton coding sequence extended to the three-dimensional space is shown in Figure 6. The figure shows 16 nodes. Inside each "z” word, the Morton coding sequence between each "z” and “z” is First along the x-axis, then along the y-axis, and finally along the z-axis.
  • the current node is mainly predicted with reference to the adjacent nodes of the current node, and the residual information is calculated according to the attribute predicted value and the original attribute value of the current node, and then quantized and other processes are carried out.
  • the residual information is encoded into the code stream and transmitted to the decoding end; after the decoding end receives and parses the code stream, the residual information is obtained by inverse transformation and inverse quantization, and the decoding end predicts the attribute prediction value in the same process, which is the same as the residual error. After the information is superimposed, the attribute reconstruction value of the current node is obtained.
  • attribute intra prediction uses the geometric relationship between nodes and uses the geometrically coplanar and collinear nodes of the current node as prediction nodes.
  • the weight value is set to the reciprocal of the geometric Euclidean distance between the prediction node and the current node multiplied by 2, that is, the weight of the coplanar node is 2, the weight of the collinear node is 1, and the weighted average of the attribute reconstruction values of all prediction nodes is calculated as the attribute prediction value. (Especially, for the first node encoded, there is no reference point for prediction, and its attribute prediction value is directly set to 0).
  • the prediction node is determined according to these two conditions, namely:
  • Condition a) satisfies the coplanar and colinear relationship with the current node
  • Condition b) is encoded before the current node.
  • the coplanar nodes are 3, 5, 6, 14, 21 and 35, as shown in Figure 7B
  • the collinear nodes are 1, 2, 4, 10, 12, 17, 20, 28, 33, 34, 42 and 49.
  • the attribute prediction value of the current node is calculated as the weighted average of the attribute reconstruction values of all predicted nodes:
  • the Morton pre-order point of the current node (that is, the previous node in the Morton coding order, which must be coded before the current node) is used as the prediction node, and the attribute prediction value is Attribute reconstruction value of Morton preorder point.
  • this technology acts on the intra-frame prediction part of the PCRM point cloud coding framework, and acts on both the coding and decoding ends. Since the coding and decoding framework of the relevant PCRM only involves a single frame, the attribute prediction features Refers to intra prediction.
  • the implementation method of the property encoder of PCRM is as follows.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in accordance with the Morton coding sequence to calculate the attribute prediction value, and execute the following a1) for the first node of the coding. , c1), d1) process, and perform b1), c1), d1) process for the remaining nodes:
  • the pre-Morton sequence point of the current node (that is, the previous node in Morton order, which is coded before the current node) is directly used as the prediction node, and the attribute prediction value is pre-Morton. Attribute reconstruction value of sequence point;
  • the residual is the difference between the original attribute value of the current point and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
  • the implementation method of the property decoder of PCRM is as follows.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process.
  • the Morton pre-sequence point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node, and the attribute prediction value is Mo The attribute reconstruction value of the sequence point before the frame;
  • the above-mentioned intra prediction method adopted by PCRM partially uses the reference information of the coplanar and/or collinear nodes of the current node, and only uses the coplanar nodes and collinear nodes to the left, front and bottom of the current node as the prediction nodes , the reference information from its right, rear, and top cannot be used, resulting in inaccurate intra-frame prediction, which in turn affects the improvement of coding efficiency.
  • an embodiment of the present application provides an intra-frame prediction method, which is suitable for an encoding end, and can be applied to an electronic device with information processing capability, and the electronic device may be a TV, a projector, a mobile phone , computer, tablet computer, virtual reality (Virtual Reality, VR) headset and any other device with point cloud video codec function or only encoding function.
  • the functions implemented by the intra-frame prediction method can be implemented by calling a program code by a processor in the electronic device, and of course, the program code can be stored in a computer storage medium. It can be seen that the electronic device includes at least a processor and a storage medium.
  • FIG. 8 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application. As shown in FIG. 8 , the method may include the following steps 81 to 84:
  • Step 81 determine whether the coplanar node of the current node satisfies the condition; if so, go to step 82; otherwise, go to step 83; wherein, the condition is a non-empty node coded before the current node;
  • step 81 may be performed when the current node is not the first node to be encoded; if the current node is the first node to be encoded, the attribute prediction value of the current node A constant is assigned to complete the intra-frame prediction of the node, wherein the constant can be any value, for example, the constant is 0.
  • the decoding order is the same as the encoding order. Therefore, the first node to be encoded here refers to the first node sorted in a specific encoding order.
  • Step 82 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • the coplanar node is a non-empty node coded before the current node, it means that the attribute reconstruction value of the node is "available", so the attribute reconstruction value of the coplanar node can be used as the attribute value.
  • the coplanar node does not meet this condition, that is, the coplanar node is an empty node or the coplanar node is not coded before the current node, it means that the attribute reconstruction value of the node is "unavailable", at this time, it can be obtained according to step 83.
  • the attribute value of the coplanar node of the condition, or, according to a preset first constant, the attribute value of the coplanar node that does not meet the condition can be obtained.
  • the preset first constant is used as the attribute value of the coplanar node that does not satisfy the condition.
  • the first constant may be any value.
  • Step 83 Rebuild values according to the attributes of the interpolation nodes, and obtain attribute values of the coplanar nodes that do not meet the conditions; wherein, the interpolation nodes are both the coplanar nodes of the coplanar nodes that do not meet the conditions and the coplanar nodes of the current node. line node;
  • step 83 may be implemented as follows: the attribute reconstruction value of one node among all the interpolation nodes of the coplanar node that does not meet the condition is used as the attribute value of the coplanar node that does not meet the condition. It should be noted that the attribute reconstruction value of which node among all the interpolation nodes of the coplanar nodes that do not meet the conditions is used as the attribute value of the coplanar nodes that do not meet the conditions. limited. For example, the attribute reconstruction value of the node whose distance (eg, Euclidean distance) from the coplanar node is the smallest or smaller than the distance threshold among all the interpolation nodes can be used as the attribute value of the coplanar node that does not meet the condition.
  • the attribute reconstruction value of the node whose distance (eg, Euclidean distance) from the coplanar node is the smallest or smaller than the distance threshold among all the interpolation nodes can be used as the attribute value of the coplanar node that does not meet the condition.
  • Step 84 obtaining the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node, where M is a positive integer;
  • step 84 may be implemented as follows: the M coplanar nodes are used as prediction nodes; and the attributes of the current node are predicted according to the attribute values of the predicted nodes to obtain the attributes of the current node Predictive value.
  • the M coplanar nodes are all coplanar nodes of the current node, so it is equivalent to determining all the coplanar nodes that satisfy the condition and all the coplanar nodes that do not satisfy the condition of the current node as the prediction nodes, In this way, the accuracy of the intra prediction of the current node can be improved, thereby improving the coding efficiency.
  • step 84 may also be implemented through steps 105 and 106 in the following embodiments.
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node. In this way, since the attribute values of all coplanar nodes are considered when the attribute prediction is performed on the current node, the accuracy of the intra-frame prediction can be further improved, thereby improving the coding efficiency.
  • the M coplanar nodes may not be all coplanar nodes of the current node.
  • the M coplanar nodes include at least all coplanar nodes coded before the current node and one or more coplanar nodes not coded before the current node; thus, since one or more coplanar nodes not coded before the current node are considered.
  • the influence of coplanar nodes on attribute prediction can still improve the accuracy of intra-frame prediction, thereby improving coding efficiency.
  • the reconstructed values of the attributes of the coplanar nodes of the current node that do not meet the conditions are interpolated according to the attributes of the coplanar nodes that do not meet the conditions.
  • the reconstructed value is obtained by interpolation; in this way, the electronic device can use the attribute reconstruction value of the coplanar node that does not meet the conditions to predict the attribute of the current node, that is, when the electronic device performs attribute prediction, compared with the related technology mentioned above, Intra-frame prediction is not only based on the coplanar nodes that meet the conditions and the collinear nodes that meet the conditions, but also combines the attribute reconstruction values of the coplanar nodes that do not meet the conditions. It can be seen that this method considers more information for the attribute prediction of the current node. , which can improve the accuracy of intra-frame prediction, thereby improving coding efficiency.
  • an embodiment of the present application provides an intra-frame prediction method, which is suitable for a decoding end, and can be applied to an electronic device with information processing capability, and the electronic device may be a TV, a projector, a mobile phone, a computer , tablet computer, virtual reality (Virtual Reality, VR) headset and other devices with point cloud video codec function or only decoding function.
  • the functions implemented by the intra-frame prediction method can be implemented by calling a program code by a processor in the electronic device, and of course the program code can be stored in a computer storage medium. It can be seen that the electronic device includes at least a processor and a storage medium.
  • FIG. 9 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application. As shown in FIG. 9 , the method may include the following steps 91 to 94:
  • Step 91 determine whether the coplanar node of the current node satisfies the condition; if so, go to step 92; otherwise, go to step 93; wherein, the condition is a non-empty node decoded before the current node;
  • step 91 may be performed when the current node is not the first node to be decoded; if the current node is the first node to be decoded, the attribute prediction value of the current node A constant is assigned to complete the intra-frame prediction of the node, wherein the constant can be any value, for example, the constant is 0.
  • the decoding order is the same as the encoding order. Therefore, the first node to be decoded here refers to the first node sorted in a specific encoding order.
  • Step 92 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • the coplanar node is a non-empty node decoded before the current node, it means that the attribute reconstruction value of the node is "available", so the attribute reconstruction value of the coplanar node can be used as the attribute value.
  • the coplanar node does not meet this condition, that is, the coplanar node is an empty node or the coplanar node has not been decoded before the current node, it means that the attribute reconstruction value of the node is "unavailable", and it can be obtained according to step 93.
  • the attribute value of the coplanar node of the condition, or, according to a preset first constant, the attribute value of the coplanar node that does not meet the condition can be obtained.
  • the preset first constant is used as the attribute value of the coplanar node that does not satisfy the condition.
  • the first constant may be any value.
  • Step 93 Reconstructing values according to the attributes of the interpolation nodes to obtain attribute values of the coplanar nodes that do not meet the conditions; wherein, the interpolation nodes are both the coplanar nodes of the coplanar nodes that do not meet the conditions and the coplanar nodes of the current node. line node;
  • step 93 may be implemented as follows: the attribute reconstruction value of one node among all the interpolation nodes of the coplanar node that does not meet the condition is used as the attribute value of the coplanar node that does not meet the condition. It should be noted that the attribute reconstruction value of which node among all the interpolation nodes of the coplanar nodes that do not meet the conditions is used as the attribute value of the coplanar nodes that do not meet the conditions. limited. For example, the attribute reconstruction value of the node whose distance (eg, Euclidean distance) from the coplanar node is the smallest or smaller than the distance threshold among all the interpolation nodes can be used as the attribute value of the coplanar node that does not meet the condition.
  • the attribute reconstruction value of the node whose distance (eg, Euclidean distance) from the coplanar node is the smallest or smaller than the distance threshold among all the interpolation nodes can be used as the attribute value of the coplanar node that does not meet the condition.
  • Step 94 according to the attribute values of the M coplanar nodes of the current node, obtain the attribute prediction value of the current node, where M is a positive integer;
  • step 94 may be implemented as follows: the M coplanar nodes are used as prediction nodes; and the attributes of the current node are predicted according to the attribute values of the predicted nodes to obtain the attributes of the current node Predictive value.
  • the M coplanar nodes are all coplanar nodes of the current node, so it is equivalent to determining all the coplanar nodes that satisfy the condition and all the coplanar nodes that do not satisfy the condition of the current node as the prediction nodes, In this way, the accuracy of the intra prediction of the current node can be improved.
  • step 94 may also be implemented through steps 115 and 116 in the following embodiments.
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node. In this way, since the attribute values of all coplanar nodes are considered when the attribute prediction is performed on the current node, the accuracy of the intra-frame prediction can be further improved.
  • the M coplanar nodes may not be all coplanar nodes of the current node.
  • the M coplanar nodes include at least all coplanar nodes decoded before the current node and one or more coplanar nodes undecoded before the current node; thus, since one or more undecoded before the current node is considered.
  • the influence of coplanar nodes on attribute prediction can still improve the accuracy of intra prediction.
  • the reconstructed values of the attributes of the coplanar nodes of the current node that do not meet the conditions are interpolated according to the attributes of the coplanar nodes that do not meet the conditions.
  • the reconstructed value is obtained by interpolation; in this way, the electronic device can use the attribute reconstruction value of the coplanar node that does not meet the conditions to predict the attribute of the current node, that is, when the electronic device performs attribute prediction, compared with the related technology mentioned above, Intra-frame prediction is not only based on the coplanar nodes that meet the conditions and the collinear nodes that meet the conditions, but also combines the attribute reconstruction values of the coplanar nodes that do not meet the conditions. It can be seen that this method considers more information for the attribute prediction of the current node. , which can improve the accuracy of intra prediction.
  • FIG. 10 is a schematic flowchart of the implementation of the intra-frame prediction method according to the embodiment of the present application. As shown in FIG. 10 , the method may include the following steps 101 to 100. Step 108:
  • Step 101 determine whether the coplanar node of the current node satisfies the condition; if so, execute step 102; otherwise, execute step 103; wherein, the condition is a non-empty node coded before the current node;
  • Step 102 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • Step 103 Determine the weight value of each interpolation node of the coplanar node that does not meet the condition; wherein, the interpolation node is both the coplanar node of the coplanar node that does not meet the condition and the collinear node of the current node;
  • the interpolation node satisfies the condition. In this way, based on the weight value of each "available" interpolated node of the coplanar node that does not satisfy the condition, the attribute value of the coplanar node that does not satisfy the condition is obtained.
  • the determination method of the weight value of the interpolation node can be various.
  • the weight value of the interpolation node can be determined based on the Euclidean distance; for another example, a fixed constant can also be assigned to the weight value of the interpolation node.
  • the weight value of the interpolation node that does not meet the condition is determined as a preset second constant; the weight value of the interpolation node that meets the condition is determined as a preset third constant.
  • this method of setting a fixed constant saves the calculation process of the weight value, thereby improving the coding efficiency.
  • the second constant and the third constant may be arbitrary values.
  • the preset second constant is 0, and the preset third constant is 1; in this way, it is equivalent to not considering the attribute value of the coplanar node that does not meet the condition. Interpolation nodes that do not meet the conditions; in this way, the accuracy of the attribute reconstruction values of the coplanar nodes that do not meet the conditions can be improved, thereby improving the accuracy of the attribute prediction values of the current node, thereby improving the coding efficiency.
  • Step 104 according to the weight value of each of the interpolation nodes, perform a weighted average calculation on the attribute reconstruction value of each of the interpolation nodes, to obtain the attribute values of the coplanar nodes that do not meet the conditions;
  • Step 105 obtaining K prediction nodes according to the M coplanar nodes of the current node; wherein, K is an integer greater than 0;
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • step 105 may be implemented by step 124 of the following embodiments.
  • K has nothing to do with the size of M.
  • K may be greater than M, may be equal to M, or may be smaller than M.
  • K can be any positive integer.
  • K is a power of 2. It can be understood that K is a power of 2. In this way, a weighted average operation can be quickly implemented by a divider composed of an adder, a multiplier and a shifter, thereby improving coding efficiency.
  • Step 106 according to the attribute value of the predicted node, predict the attribute of the current node, and obtain the attribute predicted value of the current node;
  • step 106 may be implemented through steps 125 to 128 of the following embodiments.
  • Step 107 from the received attribute code stream, parse out the residual of the current node
  • Step 108 Determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
  • FIG. 11 is a schematic flowchart of the implementation of the intra-frame prediction method according to the embodiment of the present application. As shown in FIG. 11 , the method may include the following Step 111 to Step 118:
  • Step 111 determine whether the coplanar node of the current node satisfies the condition; if so, go to step 112; otherwise, go to step 113; wherein, the condition is a non-empty node decoded before the current node;
  • Step 112 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • Step 113 determining the weight value of each interpolation node of the coplanar node that does not meet the condition; wherein, the interpolation node is both the coplanar node of the coplanar node that does not meet the condition and the collinear node of the current node;
  • the interpolation node satisfies the condition. In this way, based on the weight value of each "available" interpolated node of the coplanar node that does not satisfy the condition, the attribute value of the coplanar node that does not satisfy the condition is obtained.
  • the determination method of the weight value of the interpolation node can be various.
  • the weight value of the interpolation node can be determined based on the Euclidean distance; for another example, a fixed constant can also be assigned to the weight value of the interpolation node.
  • the weight value of the interpolation node that does not meet the condition is determined as a preset second constant; the weight value of the interpolation node that meets the condition is determined as a preset third constant.
  • this method of setting a fixed constant saves the calculation process of the weight value, thereby improving the decoding efficiency.
  • the second constant and the third constant may be arbitrary values.
  • the preset second constant is 0, and the preset third constant is 1; in this way, it is equivalent to not considering the attribute value of the coplanar node that does not meet the condition. Interpolation nodes that do not meet the conditions; in this way, the accuracy of the attribute reconstruction value of the coplanar nodes that do not meet the conditions can be improved, thereby improving the accuracy of the attribute prediction value of the current node.
  • Step 114 according to the weight value of each of the interpolation nodes, perform a weighted average calculation on the attribute reconstruction value of each of the interpolation nodes, to obtain the attribute values of the coplanar nodes that do not meet the conditions;
  • Step 115 obtain K prediction nodes according to the M coplanar nodes of the current node; wherein, K is an integer greater than 0;
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • step 115 may be implemented by step 134 of the following embodiments.
  • K has nothing to do with the size of M.
  • K may be greater than M, may be equal to M, or may be smaller than M.
  • K can be any positive integer.
  • K is a power of 2. Understandably, K is a power of 2. In this way, a weighted average operation can be quickly implemented by a divider composed of an adder, a multiplier and a shifter, thereby improving decoding efficiency.
  • Step 116 predicting the attribute of the current node according to the attribute value of the predicted node, to obtain the attribute predicted value of the current node;
  • step 116 may be implemented through steps 135 to 138 of the following embodiments.
  • Step 117 from the received attribute code stream, parse out the residual of the current node
  • Step 118 Determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
  • FIG. 12 is a schematic flowchart of the implementation of the intra-frame prediction method according to the embodiment of the present application. As shown in FIG. 12 , the method may include the following steps 121 to 121 to Step 1210:
  • Step 121 determine whether the coplanar node of the current node satisfies the condition; if so, execute step 122; otherwise, execute step 123; wherein, the condition is a non-empty node encoded before the current node;
  • Step 122 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • Step 123 Rebuild values according to the attributes of the interpolation nodes, and obtain attribute values of the coplanar nodes that do not meet the conditions; wherein, the interpolation nodes are both the coplanar nodes of the coplanar nodes that do not meet the conditions and the coplanar nodes of the current node. line node;
  • Step 124 according to the specific coding order of the M coplanar nodes of the current node, obtain K prediction nodes;
  • the coplanar node is the coplanar node that satisfies the condition or the coplanar node that at least one interpolation node satisfies the condition and does not satisfy the condition, determining the coplanar node as the prediction node;
  • the nodes corresponding to the total number of nodes are sorted according to The top K nodes sorted by a specific coding order are determined as the prediction nodes; the specific coding order may be various.
  • the specific encoding order is Morton order. It can be understood that in most cases, the node with the higher coding order may be closer to the attribute of the current node. Therefore, in this embodiment of the present application, the node corresponding to the total number of nodes is sorted according to the specific coding order. K nodes are used as prediction nodes, thus improving the accuracy of intra-frame prediction.
  • the attribute value of the filled node is determined; the node corresponding to the total number of nodes and the filled node are determined as the predicted node. Understandably, when the total number of nodes is insufficient, the number of nodes is supplemented by the method of filling, and the attribute prediction value of the current node is determined based on this, so that the accuracy of the value can be improved.
  • Step 124 can be implemented as follows: if the coplanar node 1 is the coplanar node that satisfies the condition or the coplanar node that at least one interpolation node satisfies the condition and does not satisfy the condition, then the coplanar node 1 is regarded as 1 Then, like the method of determining whether coplanar node 1 is a prediction node, determine whether coplanar node 2 is used as the second prediction node.
  • coplanar node 2 can also be used as a prediction node, then enough K predictions are selected. Node, end, no longer judge the subsequent coplanar nodes, but go to step 125; otherwise, if the coplanar node 2 is a coplanar node that does not meet the condition and all the interpolation nodes of this node do not meet the condition, Then do not use this node as the prediction node, and continue to judge whether the coplanar node 3 can be used as the prediction node at this time, so that until enough K prediction nodes are selected; of course, if after judging the coplanar node 6, the finally selected prediction node If there is only 1, that is, less than K, the filling method is used to supplement K prediction nodes.
  • the attribute value of the first node in the nodes corresponding to the total number of nodes sorted according to the specific coding order may be determined as the attribute value of the filling node;
  • the attribute reconstruction values of other nodes are used as filling values, and the intra-frame prediction results are more accurate.
  • the attribute value of any node in the nodes corresponding to the total number of nodes may also be determined as the attribute value of the filling node.
  • the mean value or weighted average value of the attribute values of the nodes corresponding to the total number of nodes may also be determined as the attribute value of the filling node; compared with the first embodiment, the intra-frame prediction result may be more accurate.
  • the mean value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node may also be determined as the attribute value of the filling node; In one embodiment, intra prediction results may be more accurate.
  • a preset fourth constant may also be determined as an attribute value of the filling node.
  • a fixed constant is used as the padding value, and the calculation process of the padding value can be saved on the premise of ensuring the accuracy of the intra-frame prediction, thereby improving the coding efficiency.
  • Step 125 determine whether each of the prediction nodes belongs to the coplanar nodes that do not meet the condition and whether all the interpolation nodes of each of the prediction nodes do not meet the condition; if so, go to step 126; otherwise, execute 127;
  • step 126 is executed; understandably , in this case, the attribute prediction value of the current node is determined according to the attribute reconstruction value of the previous node of the current node; in this way, not only the intra-frame prediction of the current node can be realized, but also the prediction result is more accurate.
  • step 127 is executed.
  • Step 126 Determine the attribute prediction value of the current node according to the attribute reconstruction value of at least one node that has completed encoding before the current node, and then go to step 129.
  • the reconstructed value of the attribute of the previous node that has completed the encoding of the current node is determined as the predicted value of the attribute of the current node.
  • the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be coded before the current node) is directly used as the prediction node.
  • the predicted value is the attribute reconstruction value of Morton's pre-order point.
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • Step 127 determining the weight value of each of the prediction nodes
  • the weight value of the prediction node can be determined based on the Euclidean distance, or can be assigned a fixed constant. For example, in some embodiments, the weight value of each prediction node that satisfies the condition is determined as a preset fifth constant; the coplanar node that does not meet the condition and all interpolation nodes do not satisfy The weight value of the prediction node of the condition is determined as a preset sixth constant; the weight value of the prediction node belonging to the coplanar node that does not meet the condition and having at least one interpolation node that satisfies the condition is determined as the The default seventh constant. In this way, compared with the method of determining the weight value based on the Euclidean distance, this method of setting a fixed constant saves the calculation process of the weight value, thereby improving the coding efficiency.
  • the fifth constant, the sixth constant and the seventh constant may be any values.
  • the preset fifth constant and the preset seventh constant are 1, and the preset sixth constant is 0. In this way, when determining the attribute prediction value of the current node, the prediction nodes belonging to the coplanar nodes that do not meet the conditions and all the interpolation nodes do not meet the conditions are not considered; in this way, the attribute prediction value of the current node can be improved. accuracy.
  • the preset fifth constant is greater than or equal to the preset seventh constant. In this way, the accuracy of the attribute prediction value of the current node can be improved.
  • Step 128 according to the weight value of each prediction node, perform a weighted average calculation on the attribute value of each prediction node to obtain the attribute prediction value of the current node, and then proceed to step 129 .
  • step 1208 in some embodiments, it can be implemented as follows: in the case that the number of the prediction nodes is a power of 2, the attribute value of each prediction node and the corresponding weight value are multiplied by a multiplier operation to obtain a first operation result; perform an addition operation on the first operation result corresponding to each prediction node by an adder to obtain a second operation result; use a shifter to compare the second operation result and the A shift operation is performed on the number of predicted nodes to obtain the attribute predicted value of the current node.
  • the weighted average calculation can be realized through the multiplier, the adder and the shifter, so that the attribute prediction value can be obtained quickly, thereby improving the coding efficiency.
  • Step 129 from the received attribute code stream, parse out the residual of the current node
  • Step 1210 Determine an attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual.
  • FIG. 13 is a schematic diagram of the implementation flow of the intra-frame prediction method according to the embodiment of the present application. As shown in FIG. 13 , the method may include the following Step 131 to Step 1310:
  • Step 131 determine whether the coplanar node of the current node satisfies the condition; if so, execute step 132; otherwise, execute step 133; wherein, the condition is a non-empty node decoded before the current node;
  • Step 132 taking the attribute reconstruction value of the coplanar node that satisfies the condition as the attribute value
  • Step 133 Rebuild the value according to the attribute of the interpolation node, and obtain the attribute value of the coplanar node that does not meet the condition; wherein, the interpolation node is both the coplanar node of the coplanar node that does not meet the condition and the coplanar node of the current node. line node;
  • Step 134 according to the specific coding order of the M coplanar nodes of the current node, obtain K prediction nodes;
  • the coplanar node is the coplanar node that satisfies the condition or the coplanar node that at least one interpolation node satisfies the condition and does not satisfy the condition, determining the coplanar node as the prediction node;
  • the nodes corresponding to the total number of nodes are sorted according to The top K nodes sorted by a specific coding order are determined as the prediction nodes; the specific coding order may be various.
  • the specific encoding order is Morton order. It can be understood that in most cases, the node with the higher coding order may be closer to the attribute of the current node. Therefore, in this embodiment of the present application, the nodes corresponding to the total number of nodes are sorted according to the specific coding order. K nodes are used as prediction nodes, thus improving the accuracy of intra-frame prediction.
  • the attribute value of the filled node is determined; the node corresponding to the total number of nodes and the filled node are determined as the predicted node. Understandably, when the total number of nodes is insufficient, the number of nodes is supplemented by the method of filling, and the attribute prediction value of the current node is determined based on this, so that the accuracy of the value can be improved.
  • Step 134 can be implemented as follows: if the coplanar node 1 is the coplanar node that satisfies the condition or the coplanar node that at least one interpolation node satisfies the condition and does not satisfy the condition, then the coplanar node 1 is regarded as 1 Then, like the method of determining whether coplanar node 1 is a prediction node, determine whether coplanar node 2 is used as the second prediction node.
  • coplanar node 2 can also be used as a prediction node, then enough K predictions are selected. Node, end, no longer judge the subsequent coplanar nodes, but enter step 135; otherwise, if the coplanar node 2 is a coplanar node that does not meet the condition and all the interpolation nodes of this node do not meet the condition, Then do not use this node as the prediction node, and continue to judge whether the coplanar node 3 can be used as the prediction node at this time, so that until enough K prediction nodes are selected; of course, if after judging the coplanar node 6, the finally selected prediction node If there is only one, that is, less than K, the filling method is used to supplement K prediction nodes.
  • the attribute value of the first node in the nodes corresponding to the total number of nodes sorted according to the specific coding order may be determined as the attribute value of the filling node;
  • the attribute reconstruction values of other nodes are used as filling values, and the intra-frame prediction results are more accurate.
  • the attribute value of any node in the nodes corresponding to the total number of nodes may also be determined as the attribute value of the filling node.
  • the mean value or weighted average value of the attribute values of the nodes corresponding to the total number of nodes may also be determined as the attribute value of the filling node; compared with the first embodiment, the intra-frame prediction result may be more accurate.
  • the mean value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node may also be determined as the attribute value of the filling node; In one embodiment, intra prediction results may be more accurate.
  • a preset fourth constant may also be determined as an attribute value of the filling node.
  • a fixed constant is used as the padding value, and the calculation process of the padding value can be saved on the premise of ensuring the accuracy of the intra-frame prediction, thereby improving the decoding efficiency.
  • Step 135 determine whether each of the prediction nodes belongs to the coplanar nodes that do not meet the condition and whether all the interpolation nodes of each of the prediction nodes do not meet the condition; if so, go to step 136; otherwise, execute 137;
  • step 136 is executed; it is understandable that , in this case, the attribute prediction value of the current node is determined according to the attribute reconstruction value of the previous node of the current node; in this way, not only the intra-frame prediction of the current node can be realized, but also the prediction result is more accurate.
  • step 137 is executed.
  • Step 136 Determine the attribute prediction value of the current node according to the attribute reconstruction value of at least one node that has completed decoding before the current node, and then go to step 139.
  • the reconstructed value of the attribute of the node that completes decoding before the current node is determined as the predicted value of the attribute of the current node.
  • the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
  • the predicted value is the attribute reconstruction value of Morton's pre-order point.
  • M can be any value.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • Step 137 determining the weight value of each of the prediction nodes
  • the weight value of the prediction node can be determined based on the Euclidean distance, or can be assigned a fixed constant. For example, in some embodiments, the weight value of each prediction node that satisfies the condition is determined as a preset fifth constant; the coplanar node that does not meet the condition and all interpolation nodes do not satisfy The weight value of the prediction node of the condition is determined as a preset sixth constant; the weight value of the prediction node belonging to the coplanar node that does not meet the condition and having at least one interpolation node that satisfies the condition is determined as the The default seventh constant. In this way, compared with the method of determining the weight value based on the Euclidean distance, this method of setting a fixed constant saves the calculation process of the weight value, thereby improving the decoding efficiency.
  • the fifth constant, the sixth constant and the seventh constant may be any values.
  • the preset fifth constant and the preset seventh constant are 1, and the preset sixth constant is 0. In this way, when determining the attribute prediction value of the current node, the prediction nodes belonging to the coplanar nodes that do not meet the conditions and all the interpolation nodes do not meet the conditions are not considered; in this way, the attribute prediction value of the current node can be improved. accuracy.
  • the preset fifth constant is greater than or equal to the preset seventh constant. In this way, the accuracy of the attribute prediction value of the current node can be improved.
  • Step 138 according to the weight value of each prediction node, perform a weighted average calculation on the attribute value of each prediction node to obtain the attribute prediction value of the current node, and then proceed to step 139 .
  • step 138 in some embodiments, it can be implemented as follows: when the number of the prediction nodes is a power of 2, the attribute value of each prediction node and the corresponding weight value are multiplied by a multiplier operation to obtain a first operation result; perform an addition operation on the first operation result corresponding to each prediction node by an adder to obtain a second operation result; use a shifter to compare the second operation result and the A shift operation is performed on the number of predicted nodes to obtain the attribute predicted value of the current node.
  • the weighted average calculation can be realized through the multiplier, the adder and the shifter, so that the attribute prediction value can be obtained quickly, thereby improving the decoding efficiency.
  • Step 139 from the received attribute code stream, parse out the residual of the current node
  • Step 1310 Determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
  • An embodiment of the present application provides a point cloud encoding method, the method includes: performing the steps in the intra-frame prediction method described in the encoding end on a current node of the point cloud to obtain an attribute prediction value of the current node; the residual between the attribute prediction value of the current node and the original attribute value of the current node; and encoding the residual of the current node into an attribute code stream.
  • An embodiment of the present application provides a point cloud decoding method, the method includes: parsing a received attribute code stream to obtain a residual of the current node; performing the method for intra-frame prediction as described in the decoding end on the current node. step of obtaining the attribute prediction value of the current node; and determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual.
  • the technical solutions of the embodiments of the present application are implemented at the encoding and decoding ends, and the technical solutions of the embodiments of the present application are implemented during intra-frame prediction. For all points, the technical solutions propose an intra-frame prediction enhancement algorithm based on an interpolation process.
  • the first concept that needs to be defined is the "availability" of the prediction node.
  • the prediction node of the current node When the prediction node of the current node can be encoded before the current node and is a non-empty node, the prediction node is said to be available and does not meet any condition. That is unobtainable.
  • the prediction node of the current node When the prediction node of the current node can be decoded before the current node and is a non-empty node, the prediction node is said to be available, and it is not available if it does not satisfy any condition.
  • Embodiment 1 An embodiment of the intra-frame prediction part at the coding end is as follows, which is referred to as Embodiment 1 below.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel are subjected to the intra-frame prediction process according to the Morton coding order, so as to calculate the attribute prediction value, and execute a3 for the first node of the code. ), e3) and f3) processes, and the remaining points perform b3), c3), d3), e3) and f3) processes:
  • step c3) As shown in Figure 14, using all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, when the prediction nodes are available, the attribute values refer to the attribute reconstruction values of the available prediction nodes, When the predicted node is unavailable, step c3) is performed to interpolate the attribute value of the unobtainable predicted node;
  • wi is the attribute value of the predicted node
  • the Morton pre-sequence point of the current node (that is, the previous node in the Morton order, which must be decoded before the current node) is used as the Prediction node, the attribute prediction value is the attribute reconstruction value of Morton's pre-order point;
  • the residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
  • Example 1 An example of the intra-frame prediction at the decoding end is as follows, which is referred to as Example 1 below.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process, so as to calculate the attribute prediction value.
  • Each node performs the following a4) and e4) procedures, and the remaining points perform the following b4), c4), d4) and e4) procedures:
  • step b4) Take all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes.
  • the attribute value refers to the attribute reconstruction value of the available prediction node.
  • step c4) to interpolate the attribute value of the unpredictable node;
  • the attribute value of the unobtainable predicted node is obtained by interpolating the attribute reconstruction value of the interpolation node of the unobtainable predicted node (which is also the collinear node of the current node).
  • the interpolation method is shown in the following formula (18), and all interpolation values are calculated according to this formula. Weighted average of attribute reconstruction values for nodes:
  • wi is the attribute value of the predicted node
  • the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
  • Attributes The predicted value is the attribute reconstruction value of Morton's pre-order point;
  • Embodiment 1 acts on the intra-frame prediction part in the coding and decoding framework shown in FIGS. 3A and 3B .
  • the intra-frame prediction enhancement technology based on the interpolation process can adopt a variety of interpolation methods, including but not limited to weighted averaging, copying of adjacent points, filling fixed values, etc.;
  • the intra-frame prediction enhancement technology based on the interpolation process can adopt various weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
  • Another embodiment of the intra-frame prediction part at the coding end of the technical solution is as follows, that is, the following embodiment 2.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel are subjected to the intra-frame prediction process according to the Morton coding order, so as to calculate the attribute prediction value, and execute a5 for the first node of the code. ), f5) and g5) processes, and the remaining points perform b5), c5), d5), e5), f5) and g5) processes:
  • step d5) Use K nodes in all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, and the selection method is as described in step d5); when the nodes are available, refer to the available nodes. Attribute reconstruction value, when the node is unavailable, perform step c5) to interpolate the attribute value of the unavailable node;
  • the attribute value of the unobtainable node is obtained by interpolation of the attribute reconstruction value of the interpolation node of the unobtainable node (which is also the collinear node of the current node).
  • the interpolation method is shown in the following formula (20). Calculate the Weighted average of attribute reconstruction values:
  • the reference range is the available nodes in 3, 5, 6, 14, 21 and 35 plus the unreachable nodes whose interpolation is successful. If the reference range is greater than or equal to K, the first K nodes in the reference range are directly used as predictions node; if the reference range is greater than 0 and less than K, the attribute value of the first node in the reference range is used as the filling value, the size of the reference range is filled with K, and the K nodes are used as prediction nodes;
  • the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
  • Attributes The predicted value is the attribute reconstruction value of Morton's pre-order point;
  • the residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
  • the intra-frame prediction embodiment at the decoding end is as follows, that is, the following embodiment 2.
  • the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process.
  • a6) and f6) process the remaining points perform b6), c6), d6), e6) and f6) processes:
  • step d6 Use K nodes in all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, and the selection method is as described in step d6); when the nodes are available, the attribute value reference can be obtained The attribute reconstruction value of the node, when the node is unavailable, perform the interpolation of step c6) to obtain the attribute value of the unavailable node;
  • the reference range is the available nodes in 3, 5, 6, 14, 21 and 35 plus the unobtainable nodes with successful interpolation. If the reference range is greater than or equal to K, the first K nodes in the reference range are directly used as predictions node; if the reference range is greater than 0 and less than K, the attribute value of the first node in the reference range is used as the filling value, the size of the reference range is filled with K, and the K nodes are used as prediction nodes;
  • the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
  • Attributes The predicted value is the attribute reconstruction value of Morton's pre-order point;
  • Embodiment 2 acts on the intra-frame prediction part in the coding and decoding framework shown in FIG. 3A and FIG. 3B .
  • the intra-frame prediction enhancement technology based on the interpolation process can adopt a variety of interpolation methods, including but not limited to weighted averaging, copying of adjacent points, filling fixed values, etc.;
  • the intra-frame prediction enhancement technology based on the interpolation process can adopt various weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
  • the intra-frame prediction enhancement technology based on the interpolation process can adopt various filling methods, including but not limited to filling the attribute value of the first node, filling a fixed constant, filling the average value of surrounding points, and so on.
  • the value of K can be an arbitrary constant. If K is a power of 2, when calculating the attribute prediction value of the current node in steps e5) and e6) of encoding and decoding, the division can use a binary shift operation.
  • the technical solutions of the embodiments of the present application can be applied to the encoding and decoding part of intra-frame prediction, making full use of the reference information around the current node, using interpolation algorithm to derive the reconstruction attribute value of the unobtainable prediction node of the current node, and optimizing the intra-frame prediction
  • This solution improves the accuracy of intra-frame prediction, thereby improving coding efficiency.
  • Table 1 shows the test results of the two types of data sets, Cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) of the embodiment 1 under the condition of finite lossy geometry and lossy attributes, as shown in Table 1
  • the EtE BD-rate of Example 1 is improved in all three dimensions of color attributes Y, Cb and Cr compared to the performance of the PCRM benchmark platform.
  • the performance of EtE BD-rate compared to the PCRM benchmark platform was improved by 2.8% on the Y attribute.
  • the performance of EtE BD-rate is improved by 5.4% compared to the PCRM benchmark platform in terms of Cr properties.
  • Table 2 shows the test results of Example 1 on two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
  • C2 C2-lossless geometry, lossy attributes
  • Table 2 shows the test results of Example 1 on two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
  • C2 C2-lossless geometry, lossy attributes
  • Table 3 shows the test results of Example 1 on the two types of datasets, Cat1B and Cat3, under the condition C3 (C3-lossless geometry, limit-lossy attributes) that the geometry is lossless and the attribute is limited and lossy, as shown in Table 3,
  • C3 C3-lossless geometry, limit-lossy attributes
  • the EtE BD-rate of Example 1 is improved in the three dimensions of the color attributes Y, Cb and Cr.
  • the performance of EtE BD-rate compared to the PCRM benchmark platform was improved by 0.6% on the Cb property.
  • the performance of EtE BD-rate is improved by 10.2% compared to the PCRM benchmark platform.
  • Table 4 shows the test results of the two types of data sets, Cat1B and Cat3, under the condition C4 (C4-lossless geometry, lossless attributes), which is geometrically lossless and attribute lossless, as shown in Table 4, compared to PCRM
  • C4 C4-lossless geometry, lossless attributes
  • Example 1 has improved bpip ratio on color attributes.
  • the bpip ratio is 99.7% of the bit stream output by the PCRM benchmark platform, that is, the size of the bit stream is reduced by 0.3% compared to the bit stream size output by the PCRM benchmark platform.
  • the bpip ratio is 98.5% of the bit stream output by the PCRM benchmark platform, that is, the size of the bit stream is reduced by 1.5% compared to the size of the bit stream output by the PCRM benchmark platform. It can be seen that Embodiment 1 can obtain better distortion with fewer code words.
  • Table 5 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) of limited geometry lossy and attribute lossy.
  • Table 6 shows the test results of Example 2 on the two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
  • Table 7 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C3 (C3-lossless geometry, limit-lossy attributes), which is geometrically lossless and attribute limited and lossy.
  • Table 8 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C4 (C4-lossless geometry, lossless attributes) with lossless geometry and lossless attributes.
  • the interpolation method using the weighted average in Embodiment 1 can be used for other methods of generating interpolation, such as copying adjacent points, filling fixed values, etc.;
  • the constant weight value in Embodiment 1 is set to other values, such as weights based on Euclidean distance, etc.;
  • the method for filling in the attribute value of the first node in Embodiment 2 is fixed value filling, average value filling, adjacent point filling, and the like.
  • the intra-frame prediction apparatus can be implemented by an encoder or a processor in an electronic device; of course, it can also be It is realized by a specific logic circuit; in the process of implementation, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
  • the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
  • FIG. 16 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present application. As shown in FIG. 16 , the apparatus 16 includes a determination module 161, an interpolation module 162 and a prediction module 163, wherein:
  • the determination module 161 is used to determine whether the coplanar node of the current node satisfies the condition; the condition is the non-empty node encoded before the current node; if so, the attribute reconstruction value of the coplanar node that satisfies the condition is used as the attribute value ; otherwise, execute the interpolation module 162;
  • the interpolation module 162 is configured to reconstruct the value according to the attribute of the interpolation node, and obtain the attribute value of the coplanar node that does not meet the condition, and the interpolation node is both the coplanar node of the coplanar node that does not meet the condition and the current
  • the collinear node of the node, the condition is a non-empty node coded before the current node; or, according to a preset first constant, the attribute value of the coplanar node that does not meet the condition is obtained, and the condition is a non-empty node encoded before the current node
  • the prediction module 163 is used to obtain the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node, where M is a positive integer
  • the interpolation module 162 is configured to: determine the weight value of each of the interpolation nodes; and perform a weighted average calculation on the attribute reconstruction value of each of the interpolation nodes according to the weight value of each of the interpolation nodes , to obtain the attribute values of the coplanar nodes that do not meet the conditions.
  • the interpolation module 162 is configured to: determine the weight value of the interpolation node that does not meet the condition as a preset second constant; determine the weight value of the interpolation node that meets the condition as a preset value third constant.
  • the preset second constant is 0, and the preset third constant is 1.
  • the interpolation node satisfies the condition.
  • the interpolation module 162 is configured to: use an attribute reconstruction value of one node among all the interpolation nodes of the coplanar nodes that do not meet the condition as the attribute value of the coplanar node that does not meet the condition.
  • the prediction module 163 is configured to: use the M coplanar nodes as prediction nodes; predict the attributes of the current node according to the attribute values of the prediction nodes, and obtain the attribute value of the current node. Attribute prediction value.
  • the prediction module 163 is configured to: obtain K prediction nodes according to the M coplanar nodes; wherein, K is an integer greater than 0; Predict the attribute of the current node, and obtain the attribute prediction value of the current node.
  • the prediction module 163 is configured to: obtain K prediction nodes according to a specific coding sequence of the M coplanar nodes; wherein, when the coplanar nodes are the coplanar nodes that satisfy the condition or When at least one interpolation node satisfies the coplanar node that does not meet the condition, the coplanar node is determined as the prediction node; when the coplanar node that meets the condition and at least one interpolation node satisfy the condition In the case that the total number of nodes of the coplanar nodes that do not meet the condition of the condition is greater than or equal to K, the first K nodes sorted according to a specific coding order among the nodes corresponding to the total number of nodes are determined as the prediction nodes ; When the total number of nodes is greater than 0 and less than K, determine the attribute value of the filled node; determine the node corresponding to the total number of nodes and the filled node as the predicted node.
  • the prediction module 163 is configured to: determine the attribute value of the first node sorted according to the specific coding order among the nodes corresponding to the total number of nodes as the attribute value of the filling node; or, Determine the mean value of the attribute values of the nodes corresponding to the total number of nodes as the attribute value of the filling node; or, determine the mean value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node, determine is the attribute value of the filling node; or, a preset fourth constant is determined as the attribute value of the filling node.
  • the prediction module 163 is configured to: in the case that any of the prediction nodes satisfies the condition, or, when any of the prediction nodes is a coplanar node that does not satisfy the condition and the condition is not satisfied If at least one interpolation node of the coplanar nodes of the condition satisfies the condition, determine the weight value of each of the predicted nodes; according to the weight value of each of the predicted nodes, determine the attribute value of each of the predicted nodes A weighted average calculation is performed to obtain the attribute prediction value of the current node.
  • the prediction module 163 is configured to: determine the weight value of each prediction node that satisfies the condition as a preset fifth constant; assign the coplanar node that does not meet the condition and all The weight value of the prediction node whose interpolation nodes do not satisfy the condition is determined as the preset sixth constant; The value is determined to be the preset seventh constant.
  • the preset fifth constant is greater than or equal to the preset seventh constant.
  • the prediction module 163 is configured to: when the number of the prediction nodes is a power of 2, perform a multiplication operation on the attribute value of each prediction node and the corresponding weight value through a multiplier , to obtain a first operation result; perform an addition operation on the first operation result corresponding to each prediction node by an adder to obtain a second operation result; A shift operation is performed on the number of nodes to obtain the attribute prediction value of the current node.
  • the prediction module 163 is further configured to: when each of the prediction nodes belongs to the coplanar nodes that do not satisfy the condition and all the interpolation nodes of each of the prediction nodes do not satisfy the condition In this case, the attribute prediction value of the current node is determined according to the attribute reconstruction value of at least one node that has completed encoding before the current node.
  • the prediction module 163 is configured to: determine the attribute reconstruction value of the node that has completed encoding before the current node as the attribute prediction value of the current node.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • the above description of the embodiment of the apparatus 16 is similar to the description of the above-mentioned embodiment of the intra-frame prediction method at the encoding end, and has similar beneficial effects as these method embodiments.
  • For technical details not disclosed in the device embodiments of the present application please refer to the description of the embodiments of the intra-frame prediction method at the encoding end of the present application for understanding.
  • the encoding apparatus can be implemented by an encoder or a processor in an electronic device; of course, it can also be implemented by a specific
  • the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor ( Graphics Processing Unit, GPU), etc.
  • FIG. 17 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present application. As shown in FIG. 17 , the apparatus 17 includes: an intra-frame prediction module 171, a determination module 172, and an encoding module 173; wherein,
  • the intra-frame prediction module 171 is configured to: obtain the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node, where M is a positive integer;
  • the attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value
  • the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node.
  • the interpolation node is both a coplanar node of the coplanar node that does not satisfy the condition and a collinear node of the current node, and the condition is a non-empty node coded before the current node; or,
  • the attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value, and for the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the preset first constant, and the condition is: A non-empty node encoded before the current node.
  • a determination module 172 configured to determine a residual between the attribute prediction value of the current node and the original attribute value of the current node;
  • the encoding module 173 is configured to encode the residual of the current node into an attribute code stream.
  • the above description of the embodiment of the apparatus 17 is similar to the description of the above-mentioned embodiment of the apparatus 16 and the above-mentioned embodiment of the intra-frame prediction method at the encoding end, and has similar beneficial effects as these method embodiments.
  • For technical details that are not disclosed in the embodiments of the apparatus of the present application please refer to the description of the embodiments of the intra-frame prediction method at the encoding end of the present application for understanding.
  • the intra-frame prediction apparatus can be implemented by a decoder or processor in an electronic device; of course, it can also be It is realized by a specific logic circuit; in the process of implementation, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
  • the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
  • FIG. 18 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present application. As shown in FIG. 18 , the apparatus 18 includes a determination module 181, an interpolation module 182 and a prediction module 183, wherein:
  • the determination module 181 is used to determine whether the coplanar node of the current node satisfies the condition; the condition is the non-empty node decoded before the current node; if so, the attribute reconstruction value of the coplanar node that satisfies the condition is used as the attribute value ; otherwise, execute the interpolation module 182;
  • the interpolation module 182 is configured to reconstruct the value according to the attribute of the interpolation node, and obtain the attribute value of the coplanar node that does not meet the condition, and the interpolation node is both the coplanar node of the coplanar node that does not meet the condition and the current A collinear node of the node, where the condition is a non-empty node decoded before the current node; or, according to a preset first constant, the attribute value of the coplanar node that does not meet the condition is obtained, and the condition is A non-empty node decoded before the current node
  • the prediction module 183 is configured to obtain the attribute prediction value of the current node according to the attribute values of the M coplanar nodes of the current node, where M is a positive integer
  • the interpolation module 182 is configured to: determine a weight value of each of the interpolation nodes; perform a weighted average calculation on the attribute reconstruction value of each of the interpolation nodes according to the weight value of each of the interpolation nodes , to obtain the attribute values of the coplanar nodes that do not meet the conditions.
  • the interpolation module 182 is configured to: determine the weight value of the interpolation node that does not meet the condition as a preset second constant; determine the weight value of the interpolation node that meets the condition as a preset value third constant.
  • the preset second constant is 0, and the preset third constant is 1.
  • the interpolation node satisfies the condition.
  • the interpolation module 182 is configured to: use an attribute reconstruction value of one node among all the interpolation nodes of the coplanar nodes that do not meet the condition as the attribute value of the coplanar node that does not meet the condition.
  • the prediction module 183 is configured to: use the M coplanar nodes as prediction nodes; predict the attribute of the current node according to the attribute value of the predicted node, and obtain the attribute value of the current node. Attribute prediction value.
  • the prediction module 183 is configured to: obtain K prediction nodes according to the M coplanar nodes; wherein, K is an integer greater than 0; Predict the attribute of the current node, and obtain the attribute prediction value of the current node.
  • the prediction module 183 is configured to: obtain K prediction nodes according to a specific coding order of the M coplanar nodes; wherein, when the coplanar nodes are the coplanar nodes that satisfy the condition or When at least one interpolation node satisfies the coplanar node that does not meet the condition, the coplanar node is determined as the prediction node; when the coplanar node that meets the condition and at least one interpolation node satisfy the condition In the case that the total number of nodes of the coplanar nodes that do not meet the condition of the condition is greater than or equal to K, the first K nodes sorted according to a specific coding order among the nodes corresponding to the total number of nodes are determined as the prediction nodes ; When the total number of nodes is greater than 0 and less than K, determine the attribute value of the filled node; determine the node corresponding to the total number of nodes and the filled node as the predicted node.
  • the prediction module 183 is configured to: determine the attribute value of the first node sorted according to the specific coding order among the nodes corresponding to the total number of nodes as the attribute value of the filled node; or, Determine the mean value of the attribute values of the nodes corresponding to the total number of nodes as the attribute value of the filling node; or, determine the mean value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node, determine is the attribute value of the filling node; or, a preset fourth constant is determined as the attribute value of the filling node.
  • the prediction module 183 is configured to: in the case that any of the prediction nodes satisfies the condition, or, when any of the prediction nodes is a coplanar node that does not satisfy the condition and the condition is not satisfied If at least one interpolation node of the coplanar nodes of the condition satisfies the condition, determine the weight value of each of the predicted nodes; according to the weight value of each of the predicted nodes, determine the attribute value of each of the predicted nodes A weighted average calculation is performed to obtain the attribute prediction value of the current node.
  • the prediction module 183 is configured to: determine the weight value of each prediction node that satisfies the condition as a preset fifth constant; assign the coplanar node that does not meet the condition and all The weight value of the prediction node whose interpolation nodes do not satisfy the condition is determined as the preset sixth constant; The value is determined to be the preset seventh constant.
  • the preset fifth constant is greater than or equal to the preset seventh constant.
  • the prediction module 183 is configured to: in the case that the number of the prediction nodes is a power of 2, perform a multiplication operation on the attribute value of each prediction node and the corresponding weight value through a multiplier , to obtain a first operation result; perform an addition operation on the first operation result corresponding to each prediction node by an adder to obtain a second operation result; A shift operation is performed on the number of nodes to obtain the attribute prediction value of the current node.
  • the prediction module 183 is further configured to: when each of the prediction nodes belongs to the coplanar nodes that do not satisfy the condition and all the interpolation nodes of each of the prediction nodes do not satisfy the condition In this case, the attribute prediction value of the current node is determined according to the attribute reconstruction value of at least one node that has completed decoding before the current node.
  • the prediction module 183 is configured to: determine the attribute reconstruction value of the node that completes decoding before the current node as the attribute prediction value of the current node.
  • the M coplanar nodes are all coplanar nodes of the current node.
  • the determining module 181 is further configured to: parse out the residual of the current node from the received attribute code stream; determine the residual according to the attribute prediction value of the current node and the residual Attribute reconstruction value of the current node.
  • the decoding apparatus can be implemented by a decoder or processor in an electronic device; of course, it can also be implemented by a specific
  • the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor ( Graphics Processing Unit, GPU), etc.
  • FIG. 19 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present application. As shown in FIG. 19 , the apparatus 19 includes: a parsing module 191, an intra-frame prediction module 192, and a decoding module 193; wherein,
  • the parsing module 191 is used to parse the received attribute code stream to obtain the residual of the current node;
  • An intra-frame prediction module 192 configured to: obtain an attribute prediction value of the current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer;
  • the attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value
  • the attribute value of the coplanar node that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node
  • the The interpolation node is both a coplanar node of the coplanar node that does not satisfy the condition and a collinear node of the current node, and the condition is a non-empty node decoded before the current node; or,
  • the attribute value of the coplanar node that satisfies the condition is the attribute reconstruction value, and for the coplanar node that does not meet the condition, the attribute value of the coplanar node that does not meet the condition is obtained according to the preset first constant, and the condition is: A non-empty node decoded before the current node.
  • the decoding module 193 is configured to determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
  • the above-mentioned intra-frame prediction method, encoding method or decoding method is implemented in the form of a software function module, and sold or used as an independent product, it can also be stored in a computer-readable to the storage medium.
  • the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that make contributions to related technologies.
  • the computer software products are stored in a storage medium and include several instructions to make
  • the electronic device executes all or part of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: a U disk, a mobile hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
  • ROM Read Only Memory
  • the aforementioned storage medium includes: a U disk, a mobile hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
  • the embodiments of the present application are not limited to any specific combination of hardware and software.
  • FIG. 20 is a schematic diagram of a hardware entity of the electronic device according to an embodiment of the present application.
  • the electronic device 20 includes a memory 201 and a processor 202 , and the memory 201 stores a computer program executable on the processor 202, and when the processor 202 executes the program, the steps in the methods provided in the above embodiments are implemented.
  • FIG. 21 is a schematic diagram of a hardware entity of the encoder according to an embodiment of the present application.
  • the encoder 21 includes a memory 211 and a processor 212;
  • the processor 212 is configured to execute the steps in the methods provided in the above embodiments when the computer program is run.
  • FIG. 22 is a schematic diagram of a hardware entity of the decoder according to the embodiment of the present application.
  • the decoder 22 includes a memory 221 and a processor 222; A computer program running on the processor 222; the processor 222 is configured to execute the steps in the methods provided in the foregoing embodiments when the computer program is run.
  • the memory is configured to store instructions and applications executable by the processor, and can also cache data to be processed or processed by each module in the corresponding device (for example, point cloud data, image data, audio data, etc.). , voice communication data and video communication data), which can be realized by flash memory (FLASH) or random access memory (Random Access Memory, RAM).
  • the embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps in the methods provided in the foregoing embodiments.
  • references throughout the specification to "one embodiment” or “an embodiment” or “some embodiments” or “other embodiments” mean that a particular feature, structure or characteristic associated with the embodiments is included herein in at least one embodiment of the application.
  • appearances of "in one embodiment” or “in an embodiment” or “in some embodiments” or “in other embodiments” in various places throughout this specification are not necessarily necessarily referring to the same embodiment.
  • the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application.
  • implementation constitutes any limitation.
  • the above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages or disadvantages of the embodiments.
  • the disclosed apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the modules is only a logical function division.
  • there may be other division methods for example, multiple modules or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the coupling, or direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be electrical, mechanical or other forms. of.
  • modules described above as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed to multiple network units; Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional module in each embodiment of the present application may all be integrated in one processing unit, or each module may be separately used as a unit, or two or more modules may be integrated in one unit; the above integration
  • the module can be implemented in the form of hardware, or it can be implemented in the form of hardware plus software functional units.
  • the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
  • ROM Read Only Memory
  • the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
  • the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that make contributions to related technologies.
  • the computer software products are stored in a storage medium and include several instructions to make
  • the electronic device or the encoder or the decoder performs all or part of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes various media that can store program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了帧内预测方法及装置、编解码器、设备、存储介质;其中,所述方法包括:根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点。

Description

帧内预测方法及装置、编解码器、设备、存储介质 技术领域
本申请实施例涉及点云处理技术,涉及但不限于帧内预测方法及装置、编解码器、设备、存储介质。
背景技术
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能够提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现和生物组织器官三维重建等。
伴随着应用需求的增长,海量三维(three Dimensional,3D)点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩主要分为几何压缩和属性压缩,其中属性压缩中的帧内预测(即节点的属性值预测)的准确性的高低,直接影响着编解码效率。
发明内容
有鉴于此,本申请实施例提供的帧内预测方法及装置、编解码器、设备、存储介质,能够提高帧内预测的准确性,从而提高点云的编解码效率。本申请实施例提供的帧内预测方法及装置、编解码器、设备、存储介质,是这样实现的:
本申请实施例提供的帧内预测方法,所述方法包括:根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点。
在一些实施例中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:确定每一所述插值节点的权重值;根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
在一些实施例中,所述确定每一所述插值节点的权重值,包括:将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。
在一些实施例中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
在一些实施例中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,所述根据所述M个共面节点得到K个预测节点,包括:按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
在一些实施例中,所述确定填充节点的属性值,包括:将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;或者,将预设的第四常数确定为所述填充节点的属性值。
在一些实施例中,所述根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,包括:在任一所述预测节点满足所述条件的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,确定每一所述预测节点的权重值;根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
在一些实施例中,所述确定每一所述预测节点的权重值,包括:将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
在一些实施例中,所述根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,包括:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
在一些实施例中,所述根据每一所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,还包括:在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值。
在一些实施例中,所述根据在当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值,包括:将所述当前节点的前一完成解码的节点的属性重建值,确定为所述当前节点的属性预测值。
在一些实施例中,所述方法还包括:从接收的属性码流中,解析出所述当前节点的残差;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如本申请实施例所述的方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种帧内预测方法,所述方法包括:根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点。
在一些实施例中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:确定每一所述插值节点的权重值;根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
在一些实施例中,所述确定每一所述插值节点的权重值,包括:将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。
在一些实施例中,所述插值节点满足所述条件。
在一些实施例中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
在一些实施例中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,K为2的幂次。
在一些实施例中,所述根据所述M个共面节点得到K个预测节点,包括:按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
在一些实施例中,所述确定填充节点的属性值,包括:将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;或者,将预设的第四常数确定为所述填充节点的属性值。
在一些实施例中,所述根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,包括:在任一所述预测节点满足所述条件的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,确定每一所述预测节点的权重值;根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
在一些实施例中,所述确定每一所述预测节点的权重值,包括:将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
在一些实施例中,所述根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,包括:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
在一些实施例中,所述根据每一所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,还包括:在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值。
在一些实施例中,所述根据在当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值,包括:将所述当前节点的前一完成编码的节点的属性重建值,确定为所述当前节点的属性预测值。
在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
本申请实施例提供的一种点云编码方法,所述方法包括:对点云的当前节点执行如本申请实施例所述的方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种帧内预测装置,包括:预测模块,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点 的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点。。
本申请实施例提供的一种解码装置,包括:解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;帧内预测模块,用于执行本申请实施例所述的方法中的步骤,得到当前节点的属性预测值;解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种解码器,所述解码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的方法。
本申请实施例提供的一种帧内预测装置,包括:预测模块,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点。
本申请实施例提供的一种编码装置,包括:帧内预测模块,用于执行如本申请实施例所述的方法中的步骤,得到当前节点的属性预测值;确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;编码模块,用于将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种编码器,所述编码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的方法。
本申请实施例提供的电子设备,包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的方法。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的方法。
在本申请实施例中,对于当前节点的不满足条件的共面节点的属性值,通过不满足条件的共面节点的插值节点的属性值插值得到;如此,就使得电子设备能够使用不满足条件的共面节点的属性值进行当前节点的属性预测,即电子设备在进行属性预测时,不仅基于满足条件的共面节点和满足条件的共线节点,还结合了不满足条件的共面节点的属性值进行帧内预测,可见该方法对当前节点的属性预测考虑了更多的信息,这样能够提高帧内预测的准确性,进而提高编码效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为三维点云图像和局部放大图的示意图;
图2为一幅点云图像及其对应的数据存储格式的示意图;
图3A为音视频编码标准(Audio Video Standard,AVS)点云压缩专题组所提供的点云压缩参考平台,也即点云参考模型(Point Cloud Reference Model,PCRM)的编码框架示意图;
图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架示意图;
图4A为将整幅点云放置在一个正方体包围盒的示意图;
图4B为对点云的八叉树划分过程示意图;
图5为莫顿码在二维空间中的编码顺序的示意图;
图6莫顿码在三维空间中的编码顺序的示意图;
图7A为当前节点与其共面节点的示意图;
图7B为当前节点与其共线节点的示意图;
图8为本申请实施例帧内预测方法的实现流程示意图;
图9为本申请实施例帧内预测方法的实现流程示意图;
图10为本申请实施例帧内预测方法的实现流程示意图;
图11为本申请实施例帧内预测方法的实现流程示意图;
图12为本申请实施例帧内预测方法的实现流程示意图;
图13为本申请实施例帧内预测方法的实现流程示意图;
图14为当前节点的所有共面节点的示意图;
图15为不满足条件的共面节点的插值节点的示意图;
图16为本申请实施例帧内预测装置的结构示意图;
图17为本申请实施例编码装置的结构示意图;
图18为本申请实施例帧内预测装置的结构示意图;
图19为本申请实施例解码装置的结构示意图;
图20为本申请实施例的电子设备的硬件实体示意图;
图21为本申请实施例的编码器的硬件实体示意图;
图22为本申请实施例的解码器的硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”是为了区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在对本申请实施例进行进一步说明之前,对本申请实施例涉及的点云的数据形式、编解码框架和点云的规则化处理等进行说明。其中,本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
(1)点云的数据形式
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。举例来说,如图1所示,其中,101为三维点云图像。102为该点云图像的局部放大图,可以看到,点云表面是由分布稠密的点所组成的。
点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。每一个位置均有对应的属性信息,通常为红绿蓝(Red Green Blue,RGB)颜色值,颜色值反映的是物体的色彩;反射率(reflectance)值也是比较常见的属性信息,反射率值反映的是物体的表面材质。因此,点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
如图2所示为一幅点云图像及其对应的数据存储格式,其中,201提供了点云图像的六个观看角度;202展示了该点云图像的数据存储格式,由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容,如202中的点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维位置信息xyz和三维颜色信息rgb。
(2)点云压缩的相关介绍
点云的采集主要有以下途径:计算机生成、3D激光扫描和3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获 取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据的获取方式的变革,使得大量点云数据的获取成为可能。然而,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有浮点型(float)的坐标信息xyz和uchar类型的颜色信息RGB,则10s的点云视频的数据量大约为0.7million·(4Byte·3+1Byte·3)·30fps·10s=3.15GB,而YUV采样格式为4:2:0,帧率为24fps的1280·720二维视频,其10s的数据量约为12·80·72·012bit≈,10s的两视角3D视频的数据量约为0.33·2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩通常采用对点云几何信息和点云属性信息分别进行压缩的方式。在编码端,首先在几何编码器中编码点云几何信息,得到重建几何信息;然后将重建几何信息作为附加信息输入到属性编码器中,从而辅助点云属性信息的压缩;在解码端,首先在几何解码器中解码点云几何信息,然后将解码后的几何信息作为附加信息输入到属性解码器中,辅助点云属性信息的压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。
图3A为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的编码框架,图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架。
对于PCRM参考软件,如图3A所示,在编码端的几何编码部分,首先,对采集得到的几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点型转化为整型,得到规则化的几何信息,即得到规则化的点云空间,从而便于后续的规则化处理;然后,对规则化的几何信息进行几何编码。例如,在一些实施例中,可以采用八叉树结构对规则化的点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内没有点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码。
如图3A所示,通过八叉树结构表达的几何信息一方面输入到几何熵编码器中形成几何码流,另一方面在编码器内进行几何重建处理,重建后的几何信息作为附加信息输入到属性编码器中。在属性编码部分,首先对采集得到的属性信息进行预处理,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色,此外,如果处理的属性信息为颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间;然后对预处理后的属性信息进行属性编码。在一些实施例中,对于属性编码,首先需要将点云进行重排序,重排序的方式是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点(当前节点)向前回溯一个点,找到的点为当前待编码点的预测参考点(预测节点),然后将预测参考点的属性重建值作为属性预测值,属性残差为当前待编码点的预处理后的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。
在解码端,如图3B所示,采用对几何码流和属性码流分别进行解码的方式。在几何码流的解码部分,首先对几何码流进行熵解码,得到每个节点的几何信息,然后按照与几何编码相同的方式构建八叉树结构,重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码后的几何信息,另一方面将解码后的几何信息作为附加信息输入到属性解码器中。在属性码流的解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后对残差信息进行反量化,得到残差值;类似地,按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码后的属性信息。
(3)点云的规则化处理
由于点云在空间中无规则分布的特性,给编码过程带来了挑战,因此采用递归八叉树的结构,将点云中的点规则化地表达成立方体的中心。如图4A所示,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x q,y q,z q),q=0,...,Q-1,其中,Q是点云的总点数,点云在x、y、z方向上的边界值,如下式(1)至式(6)所示,分别为:
x min=min(x 0,x 1,...x q-1)         式(1);
y min=min(y 0,y 1,...y q-1)         式(2);
z min=min(z 0,z 1,...z q-1)         式(3);
x max=max(x 0,x 1,...x q-1)         式(4);
y max=max(y 0,y 1,...y q-1)         式(5);
z max=max(z 0,z 1,...z q-1)         式(6);
则包围盒的原点(x origin,y origin,z origin)可以根据下式(7)至式(9)计算得到:
x origin=int(floor(x min))          式(7);
y origin=int(floor(y min))          式(8);
z origin=int(floor(z min))          式(9);
包围盒在x、y、z方向上的尺寸可以根据下式(10)至式(12)计算得到:
BoudingBoxSize x=int(x max-x origin)+1           式(10);
BoudingBoxSize y=int(y max-y origin)+1           式(11);
BoudingBoxSize z=int(z max-z origin)+1           式(12);
然后,如图4B所示,首先对正方体包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(即包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作voxel,每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点(节点),该中心点的属性值取voxel中所有点的属性值的平均值(原始属性值)。
可以理解地,将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个voxel,即编码voxel所代表的点(或称“节点”)。一种常用的编码顺序为交叉分离式的莫顿顺序,图5展示了莫顿码在二维空间中的编码顺序,以8×8大小的块为例,其中箭头的顺序表示莫顿顺序下节点的编码顺序。501为块中2×2个像素的“z”字形莫顿编码顺序,502为4个2×2块之间的“z”字形莫顿编码顺序,503为4个4×4块之间的“z”字形莫顿编码顺序,组成为整个8×8块的莫顿编码顺序。扩展到三维空间中的莫顿编码顺序如图6所示,图中展示了16个节点,每个“z”字内部,每个“z”与“z”之间的莫顿编码顺序都是先沿x轴方向编码,再沿y轴,最后沿z轴。
(4)点云压缩中的属性帧内预测
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前节点的相邻节点对当前节点进行预测,根据属性预测值与当前节点的原始属性值计算残差信息后经量化等过程,将残差信息编入码流后传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前节点的属性重建值。
在此过程中,属性帧内预测利用节点与节点之间的几何关系,以当前节点的几何共面、共线节点作为预测节点,同时预测节点需要满足的条件是在当前节点之前编码,然后将权重值设为预测节点与当前节点的几何欧氏距离的倒数乘2,即共面节点权重为2,共线节点权重为1,计算所有预测节点的属性重建值的加权平均值为属性预测值(特别地,对于编码的第一个节点,没有参考点进行预测,其属性预测值直接设为0)。根据以下这两个条件确定预测节点,即:
条件a)与当前节点满足共面、共线关系;
条件b)在当前节点之前编码。
如图7所示,假设当前节点O的序号为7,共有6个面,12条边,如图7A所示,共面节点有3、5、6、14、21和35,如图7B所示,共线节点有1、2、4、10、12、17、20、28、33、34、42和49。
在所有这些共面节点和共线节点中,无论当前节点的位置如何,始终满足“在当前节点之前编码”条件的节点为共面节点3、5和6以及共线节点1、2和4,因此预测节点为共面节点3、5和6 以及共线节点1、2和4,根据下式(13)计算得到当前节点的属性预测值为所有预测节点的属性重建值的加权平均值:
Figure PCTCN2020133712-appb-000001
其中,
Figure PCTCN2020133712-appb-000002
为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
假设所有预测节点都为空节点,则直接以当前节点的莫顿前序点(即莫顿编码顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值。
(5)属性帧内预测在点云编码框架中的位置
如图3A和图3B所示,该技术作用于PCRM点云编码框架中的帧内预测部分,对编码端和解码端同时作用,由于相关PCRM的编解码框架仅涉及单帧,因此属性预测特指帧内预测。
PCRM的属性编码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个节点执行如下的a1)、c1)、d1)过程,对于其余节点执行b1)、c1)、d1)过程:
a1)当前节点为编码的第一个节点时,此时没有参考点进行预测,其属性预测值直接设为0;
b1)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(14)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000003
其中,
Figure PCTCN2020133712-appb-000004
为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c1)残差为当前点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
d1)将属性预测值与反量化等操作后的残差信息叠加,得到当前节点的属性重建值,该值用来作为后续编码单元的参考信息。
PCRM的属性解码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a2)、c2)过程,其余点执行b2)、c2)过程:
a2)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b2)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(15)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000005
其中,
Figure PCTCN2020133712-appb-000006
为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c2)从码流中读取当前节点的残差信息,经反量化等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值可以用来作为后续编码单元的参考信息。
然而,PCRM所采用的上述帧内预测方法,局部使用到了当前节点共面和/或共线节点的参考信息,仅以当前节点的左、前和下方的共面节点以及共线节点作为预测节点,无法使用到来自其右、后、上方的参考信息,从而导致帧内预测不够准确,进而影响到编码效率的提升。
有鉴于此,本申请实施例提供一种帧内预测方法,所述方法适用于编码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者仅有编码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序 代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图8为本申请实施例帧内预测方法的实现流程示意图,如图8所示,所述方法可以包括以下步骤81至步骤84:
步骤81,确定当前节点的共面节点是否满足条件;如果是,执行步骤82;否则,执行步骤83;其中,所述条件为在所述当前节点之前编码的非空节点;
在一些实施例中,可以在当前节点不是第一个待编码的节点的情况下,执行步骤81;在当前节点是第一个待编码的节点的情况下,将所述当前节点的属性预测值赋予一常数,完成该节点的帧内预测,其中,该常数可以是任意值,例如,该常数为0。
可以理解地,解码顺序与编码顺序是一致的。因此,这里第一个待编码的节点是指按照特定编码顺序排序的第一个节点。
步骤82,将满足条件的共面节点的属性重建值作为属性值;
可以理解地,如果共面节点是在当前节点之前编码的非空节点,说明该节点的属性重建值是“可得的”,因此可以将该共面节点的属性重建值作为属性值。
如果共面节点不满足该条件,即共面节点为空节点或者共面节点在当前节点之前未编码,说明该节点的属性重建值是“不可得的”,此时可以根据步骤83得到不满足条件的共面节点的属性值,或者,还可以根据预设的第一常数,得到所述不满足条件的共面节点的属性值。例如,将所述预设的第一常数作为所述不满足条件的共面节点的属性值。其中,所述第一常数可以是任意值。
步骤83,根据插值节点的属性重建值,得到不满足条件的共面节点的属性值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
在一些实施例中,可以这样实现步骤83:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。需要说明的是,对于采用所述不满足条件的共面节点的所有插值节点中的哪一个节点的属性重建值,作为所述不满足条件的共面节点的属性值,在本申请中不做限定。例如,可以将该所有插值节点中与共面节点的距离(比如欧式距离)最小或者小于距离阈值的节点的属性重建值,作为所述不满足条件的共面节点的属性值。
步骤84,根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
在一些实施例中,可以这样实现步骤84:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。例如,所述M个共面节点为当前节点的所有共面节点,如此,相当于将当前节点的所有满足条件的共面节点和所有不满足条件的共面节点,确定为所述预测节点,如此,能够提高当前节点的帧内预测的准确性,从而提高编码效率。
在另一些实施例中,还可以通过如下实施例的步骤105和步骤106实现步骤84。
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。如此,在对当前节点进行属性预测时,由于考虑了所有共面节点的属性值,因此能够进一步提高帧内预测的准确性,从而提高编码效率。
当然,在另一些实施例中,M个共面节点也可以不是当前节点的所有共面节点。例如,M个共面节点至少包括在当前节点之前编码的所有共面节点和在当前节点之前未编码的一个或多个共面节点;如此,由于考虑了在当前节点之前未编码的一个或多个共面节点对属性预测的影响,因此依然能够改善帧内预测的准确性,从而提高编码效率。
可以理解地,在本申请实施例中,在对当前节点的属性进行预测时,对于当前节点的不满足条件的共面节点的属性重建值,根据不满足条件的共面节点的插值节点的属性重建值插值得到;如此,就使得电子设备能够使用不满足条件的共面节点的属性重建值进行当前节点的属性预测,即电子设备在进行属性预测时,相比于前文提到的相关技术,不仅基于满足条件的共面节点和满足条件的共线节点,还结合了不满足条件的共面节点的属性重建值进行帧内预测,可见该方法对当前节点的属性预测考虑了更多的信息,这样能够提高帧内预测的准确性,从而提高编码效率。
相应地,本申请实施例提供一种帧内预测方法,该方法适用于解码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者仅有解码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图9为本申请实施例帧内预测方法的实现流程示意图,如图9所示,该方法可以包括以下步骤91至步骤94:
步骤91,确定当前节点的共面节点是否满足条件;如果是,执行步骤92;否则,执行步骤93;其中,所述条件为在所述当前节点之前解码的非空节点;
在一些实施例中,可以在当前节点不是第一个待解码的节点的情况下,执行步骤91;在当前节点是第一个待解码的节点的情况下,将所述当前节点的属性预测值赋予一常数,完成该节点的帧内预测,其中,该常数可以是任意值,例如,该常数为0。
可以理解地,解码顺序与编码顺序是一致的。因此,这里第一个待解码的节点是指按照特定编码顺序排序的第一个节点。
步骤92,将满足条件的共面节点的属性重建值作为属性值;
可以理解地,如果共面节点是在当前节点之前解码的非空节点,说明该节点的属性重建值是“可得的”,因此可以将该共面节点的属性重建值作为属性值。
如果共面节点不满足该条件,即共面节点为空节点或者共面节点在当前节点之前未解码,说明该节点的属性重建值是“不可得的”,此时可以根据步骤93得到不满足条件的共面节点的属性值,或者,还可以根据预设的第一常数,得到所述不满足条件的共面节点的属性值。例如,将所述预设的第一常数作为所述不满足条件的共面节点的属性值。其中,所述第一常数可以是任意值。
步骤93,根据插值节点的属性重建值,得到不满足条件的共面节点的属性值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
在一些实施例中,可以这样实现步骤93:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。需要说明的是,对于采用所述不满足条件的共面节点的所有插值节点中的哪一个节点的属性重建值,作为所述不满足条件的共面节点的属性值,在本申请中不做限定。例如,可以将该所有插值节点中与共面节点的距离(比如欧式距离)最小或者小于距离阈值的节点的属性重建值,作为所述不满足条件的共面节点的属性值。
步骤94,根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
在一些实施例中,可以这样实现步骤94:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。例如,所述M个共面节点为当前节点的所有共面节点,如此,相当于将当前节点的所有满足条件的共面节点和所有不满足条件的共面节点,确定为所述预测节点,如此,能够提高当前节点的帧内预测的准确性。
在另一些实施例中,还可以通过如下实施例的步骤115和步骤116实现步骤94。
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。如此,在对当前节点进行属性预测时,由于考虑了所有共面节点的属性值,因此能够进一步提高帧内预测的准确性。
当然,在另一些实施例中,M个共面节点也可以不是当前节点的所有共面节点。例如,M个共面节点至少包括在当前节点之前解码的所有共面节点和在当前节点之前未解码的一个或多个共面节点;如此,由于考虑了在当前节点之前未解码的一个或多个共面节点对属性预测的影响,因此依然能够改善帧内预测的准确性。
可以理解地,在本申请实施例中,在对当前节点的属性进行预测时,对于当前节点的不满足条件的共面节点的属性重建值,根据不满足条件的共面节点的插值节点的属性重建值插值得到;如此,就使得电子设备能够使用不满足条件的共面节点的属性重建值进行当前节点的属性预测,即电子设备在进行属性预测时,相比于前文提到的相关技术,不仅基于满足条件的共面节点和满足条件的共线节点,还结合了不满足条件的共面节点的属性重建值进行帧内预测,可见该方法对当前节点的属性预测考虑了更多的信息,这样能够提高帧内预测的准确性。
本申请实施例再提供一种帧内预测方法,该方法应用于编码端,图10为本申请实施例帧内预测方法的实现流程示意图,如图10所示,该方法可以包括以下步骤101至步骤108:
步骤101,确定当前节点的共面节点是否满足条件;如果是,执行步骤102;否则,执行步骤103;其中,所述条件为在所述当前节点之前编码的非空节点;
步骤102,将满足条件的共面节点的属性重建值作为属性值;
步骤103,确定不满足条件的共面节点的每一插值节点的权重值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
在一些实施例中,所述插值节点满足所述条件。如此,基于不满足条件的共面节点的每一“可得的”插值节点的权重值,得到所述不满足条件的共面节点的属性值。
插值节点的权重值的确定方法可以是多种多样的。例如,插值节点的权重值可以基于欧式距离来确定;再如,也可以对插值节点的权重值赋予固定常数。
比如,在一些实施例中,将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。如此,相比于基于欧式距离来确定权重值的方法,这种设置固定常数的方法,节省了权重值的计算过程,从而能够提高编码效率。
需要说明的是,第二常数和第三常数可以是任意值。例如,在一些实施例中,所述预设的第二常数为0,所述预设的第三常数为1;如此,相当于在确定不满足条件的共面节点的属性值时,不考虑不满足所述条件的插值节点;如此,能够提高不满足条件的共面节点的属性重建值的准确性,从而提高当前节点的属性预测值的准确性,从而提高编码效率。
步骤104,根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值;
步骤105,根据当前节点的M个共面节点得到K个预测节点;其中,K为大于0的整数;
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
在一些实施例中,可以通过如下实施例的步骤124实现步骤105。
需要说明的是,K的大小与M的大小无关,对于不同的节点,K可能大于M,也可能等于M,还可能小于M。K可以是任意正整数。例如,K为2的幂次。可以理解地,K为2的幂次,如此,能够通过由加法器、乘法器和移位器组成的除法器快速实现加权平均运算,从而能够提高编码效率。
步骤106,根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值;
在一些实施例中,可以通过如下实施例的步骤125至步骤128实现步骤106。
步骤107,从接收的属性码流中,解析出所述当前节点的残差;
步骤108,根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
相应地,本申请实施例再提供一种帧内预测方法,该方法应用于解码端,图11为本申请实施例帧内预测方法的实现流程示意图,如图11所示,该方法可以包括以下步骤111至步骤118:
步骤111,确定当前节点的共面节点是否满足条件;如果是,执行步骤112;否则,执行步骤113;其中,所述条件为在所述当前节点之前解码的非空节点;
步骤112,将满足条件的共面节点的属性重建值作为属性值;
步骤113,确定不满足条件的共面节点的每一插值节点的权重值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
在一些实施例中,所述插值节点满足所述条件。如此,基于不满足条件的共面节点的每一“可得的”插值节点的权重值,得到所述不满足条件的共面节点的属性值。
插值节点的权重值的确定方法可以是多种多样的。例如,插值节点的权重值可以基于欧式距离来确定;再如,也可以对插值节点的权重值赋予固定常数。
比如,在一些实施例中,将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。如此,相比于基于欧式距离来确定权重值的方法,这种设置固定常数的方法,节省了权重值的计算过程,从而能够提高解码效率。
需要说明的是,第二常数和第三常数可以是任意值。例如,在一些实施例中,所述预设的第二常数为0,所述预设的第三常数为1;如此,相当于在确定不满足条件的共面节点的属性值时,不考虑不满足所述条件的插值节点;如此,能够提高不满足条件的共面节点的属性重建值的准确性,从而提高当前节点的属性预测值的准确性。
步骤114,根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值;
步骤115,根据当前节点的M个共面节点得到K个预测节点;其中,K为大于0的整数;
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
在一些实施例中,可以通过如下实施例的步骤134实现步骤115。
需要说明的是,K的大小与M的大小无关,对于不同的节点,K可能大于M,也可能等于M, 还可能小于M。K可以是任意正整数。例如,K为2的幂次。可以理解地,K为2的幂次,如此,能够通过由加法器、乘法器和移位器组成的除法器快速实现加权平均运算,从而能够提高解码效率。
步骤116,根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值;
在一些实施例中,可以通过如下实施例的步骤135至步骤138实现步骤116。
步骤117,从接收的属性码流中,解析出所述当前节点的残差;
步骤118,根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例再提供一种帧内预测方法,该方法应用于编码端,图12为本申请实施例帧内预测方法的实现流程示意图,如图12所示,该方法可以包括以下步骤121至步骤1210:
步骤121,确定当前节点的共面节点是否满足条件;如果是,执行步骤122;否则,执行步骤123;其中,所述条件为在所述当前节点之前编码的非空节点;
步骤122,将满足条件的共面节点的属性重建值作为属性值;
步骤123,根据插值节点的属性重建值,得到不满足条件的共面节点的属性值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
步骤124,按照当前节点的M个共面节点的特定编码顺序,得到K个预测节点;其中,
当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;
在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;特定编码顺序可以是多种多样的。例如,该特定编码顺序为莫顿顺序。可以理解地,大部分情况下,编码顺序越靠前的节点,与当前节点的属性可能越接近,因此在本申请实施例中,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点作为预测节点,如此,提高帧内预测的准确性。
在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。可以理解地,在节点总数不足的情况下,通过填充的方法补足节点数目,基于此确定当前节点的属性预测值,如此能够提高该值的准确性。
对于步骤124,举例来说,假设K为固定数目,例如K=2,假设M=6,这M个共面节点按照特定编码顺序排序后为1、2、3、4、5和6,那么可以这样实现步骤124:如果共面节点1为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点,则将该共面节点1作为1个预测节点,然后如同确定共面节点1是否预测节点的方法,确定共面节点2是否作为第2个预测节点,如果共面节点2也可作为预测节点,此时则选够了K个预测节点,结束,不再对后续的共面节点进行判断,而是进入步骤125;否则,如果共面节点2为不满足条件的共面节点且该节点的所有插值节点均不满足所述条件,则不将该节点作为预测节点,此时继续判断共面节点3是否可以作为预测节点,如此直至选够K个预测节点为止;当然,如果在判断共面节点6之后,最终选出的预测节点仅有1个,也就是不足K个,则使用填充的方法,补足K个预测节点。
填充的方式可以是多种多样的。在一些实施例中,可以将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;可以理解地,相比于使用其他节点的属性重建值作为填充值,帧内预测结果更准确。当然,在一些实施例中,还可以将所述节点总数对应的节点中的任意一个节点的属性值,确定为所述填充节点的属性值。
在另一些实施例中,还可以将所述节点总数对应的节点的属性值的均值或加权平均值,确定为所述填充节点的属性值;相比于第一个实施例,帧内预测结果可能更准确。
在另一些实施例中,还可以将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;该实施例相比于第一个实施例,帧内预测结果可能更准确。
在另一些实施例中,还可以将预设的第四常数确定为所述填充节点的属性值。相比于上述提到的三个实施例,采用固定常数作为填充值,在保证帧内预测的准确性的前提下,能够节省填充值的计算过程,从而提高编码效率。
步骤125,确定每一所述预测节点是否均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点是否均不满足所述条件;如果是,执行步骤126;否则,执行127;
也就是说,在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,执行步骤126;可以理解地,在这种情况下,根据当前节点 的前序节点的属性重建值,确定当前节点的属性预测值;如此,不仅使得当前节点的帧内预测可实现,且预测结果也较为准确。
在任一所述预测节点为所述满足条件的共面节点的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,执行步骤127。
步骤126,根据在所述当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值,然后,进入步骤129。
对于根据多少个在当前节点之前完成编码的节点的属性重建值进行属性预测,在本申请实施例中不做限定。在一些实施例中,将所述当前节点的前一完成编码的节点的属性重建值,确定为所述当前节点的属性预测值。
举例来说,在所有预测节点都为空节点,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值。
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
步骤127,确定每一所述预测节点的权重值;
预测节点的权重值可以基于欧式距离来确定,也可以赋予固定常数。比如,在一些实施例中,将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。如此,相比于基于欧式距离来确定权重值的方法,这种设置固定常数的方法,节省了权重值的计算过程,从而能够提高编码效率。
需要说明的是,第五常数、第六常数和第七常数可以是任意值。
在一些实施例中,所述预设的第五常数和所述预设的第七常数为1,所述预设的第六常数为0。如此,相当于在确定当前节点的属性预测值时,不考虑属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点;如此,能够提高当前节点的属性预测值的准确性。
在一些实施例中,所述预设的第五常数大于或等于所述预设的第七常数。如此,能够提高当前节点的属性预测值的准确性。
步骤128,根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,然后进入步骤129。
对于步骤128,在一些实施例中,可以这样实现:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。如此,通过乘法器、加法器和移位器,即可实现加权平均计算;从而能够快速得到属性预测值,进而提高编码效率。
步骤129,从接收的属性码流中,解析出所述当前节点的残差;
步骤1210,根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
相应地,本申请实施例再提供一种帧内预测方法,该方法应用于解码端,图13为本申请实施例帧内预测方法的实现流程示意图,如图13所示,该方法可以包括以下步骤131至步骤1310:
步骤131,确定当前节点的共面节点是否满足条件;如果是,执行步骤132;否则,执行步骤133;其中,所述条件为在所述当前节点之前解码的非空节点;
步骤132,将满足条件的共面节点的属性重建值作为属性值;
步骤133,根据插值节点的属性重建值,得到不满足条件的共面节点的属性值;其中,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点;
步骤134,按照当前节点的M个共面节点的特定编码顺序,得到K个预测节点;其中,
当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;
在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个 节点,确定为所述预测节点;特定编码顺序可以是多种多样的。例如,该特定编码顺序为莫顿顺序。可以理解地,大部分情况下,编码顺序越靠前的节点,与当前节点的属性可能越接近,因此在本申请实施例中,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点作为预测节点,如此,提高帧内预测的准确性。
在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。可以理解地,在节点总数不足的情况下,通过填充的方法补足节点数目,基于此确定当前节点的属性预测值,如此能够提高该值的准确性。
对于步骤134,举例来说,假设K为固定数目,例如K=2,假设M=6,这M个共面节点按照特定编码顺序排序后为1、2、3、4、5和6,那么可以这样实现步骤134:如果共面节点1为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点,则将该共面节点1作为1个预测节点,然后如同确定共面节点1是否预测节点的方法,确定共面节点2是否作为第2个预测节点,如果共面节点2也可作为预测节点,此时则选够了K个预测节点,结束,不再对后续的共面节点进行判断,而是进入步骤135;否则,如果共面节点2为不满足条件的共面节点且该节点的所有插值节点均不满足所述条件,则不将该节点作为预测节点,此时继续判断共面节点3是否可以作为预测节点,如此直至选够K个预测节点为止;当然,如果在判断共面节点6之后,最终选出的预测节点仅有1个,也就是不足K个,则使用填充的方法,补足K个预测节点。
填充的方式可以是多种多样的。在一些实施例中,可以将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;可以理解地,相比于使用其他节点的属性重建值作为填充值,帧内预测结果更准确。当然,在一些实施例中,还可以将所述节点总数对应的节点中的任意一个节点的属性值,确定为所述填充节点的属性值。
在另一些实施例中,还可以将所述节点总数对应的节点的属性值的均值或加权平均值,确定为所述填充节点的属性值;相比于第一个实施例,帧内预测结果可能更准确。
在另一些实施例中,还可以将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;该实施例相比于第一个实施例,帧内预测结果可能更准确。
在另一些实施例中,还可以将预设的第四常数确定为所述填充节点的属性值。相比于上述提到的三个实施例,采用固定常数作为填充值,在保证帧内预测的准确性的前提下,能够节省填充值的计算过程,从而提高解码效率。
步骤135,确定每一所述预测节点是否均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点是否均不满足所述条件;如果是,执行步骤136;否则,执行137;
也就是说,在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,执行步骤136;可以理解地,在这种情况下,根据当前节点的前序节点的属性重建值,确定当前节点的属性预测值;如此,不仅使得当前节点的帧内预测可实现,且预测结果也较为准确。
在任一所述预测节点为所述满足条件的共面节点的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,执行步骤137。
步骤136,根据在所述当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值,然后,进入步骤139。
对于根据多少个在当前节点之前完成解码的节点的属性重建值进行属性预测,在本申请实施例中不做限定。在一些实施例中,将所述当前节点的前一完成解码的节点的属性重建值,确定为所述当前节点的属性预测值。
举例来说,在所有预测节点都为空节点,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值。
需要说明的是,M可以为任意值。在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
步骤137,确定每一所述预测节点的权重值;
预测节点的权重值可以基于欧式距离来确定,也可以赋予固定常数。比如,在一些实施例中,将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的 第七常数。如此,相比于基于欧式距离来确定权重值的方法,这种设置固定常数的方法,节省了权重值的计算过程,从而能够提高解码效率。
需要说明的是,第五常数、第六常数和第七常数可以是任意值。
在一些实施例中,所述预设的第五常数和所述预设的第七常数为1,所述预设的第六常数为0。如此,相当于在确定当前节点的属性预测值时,不考虑属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点;如此,能够提高当前节点的属性预测值的准确性。
在一些实施例中,所述预设的第五常数大于或等于所述预设的第七常数。如此,能够提高当前节点的属性预测值的准确性。
步骤138,根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,然后进入步骤139。
对于步骤138,在一些实施例中,可以这样实现:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。如此,通过乘法器、加法器和移位器,即可实现加权平均计算;从而能够快速得到属性预测值,进而提高解码效率。
步骤139,从接收的属性码流中,解析出所述当前节点的残差;
步骤1310,根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供一种点云编码方法,所述方法包括:对点云的当前节点执行如编码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
需要说明的是,以上编码方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请编码方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
本申请实施例提供一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如解码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
需要说明的是,以上解码方法的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请解码方法实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例的技术方案在编解码端均实行,在进行帧内预测时实行本申请实施例的技术方案,针对所有点,本技术方案提出一种基于插值过程的帧内预测增强算法。
首先需要定义的概念是预测节点的“可得性”,当当前节点的预测节点既能在当前节点之前编码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。对于解码端,当当前节点的预测节点既能在当前节点之前解码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。
在编码端帧内预测部分的一种实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a3)、e3)和f3)过程,其余点执行b3)、c3)、d3)、e3)和f3)过程:
a3)当前节点为编码的第一个节点时,没有参考点进行预测,该当前节点的属性预测值直接设为0;
b3)如图14所示,以当前节点的所有共面节点3、5、6、14、21和35作为预测节点,当预测节点可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得时,执行步骤c3)以插值出不可得预测节点的属性值;
c3)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值,插值得到不可得预测节点的属性值,插值方法下式(16)所示,根据该式计算所有插值节点的属性重建值的加权平均值。其中,不可得预测节点的插值节点如图15所示。
Figure PCTCN2020133712-appb-000007
其中,
Figure PCTCN2020133712-appb-000008
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得预测节点的所有插值节点都不可得时,则插值失败,此不可得预测节点的权重为0;
d3)根据下式(17),计算所有预测节点的属性值的加权平均值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000009
其中,
Figure PCTCN2020133712-appb-000010
为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不满足条件的共面节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e3)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
f3)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值作为后续编码单元的参考信息。
在解码端的帧内预测实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程,从而计算得到属性预测值,对于解码的第一个节点执行以下a4)和e4)过程,其余点执行以下b4)、c4)、d4)和e4)过程:
a4)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b4)以当前节点的所有共面节点3、5、6、14、21和35作为预测节点,当预测节点可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得时,执行步骤c4)以插值出不可得预测节点的属性值;
c4)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得预测节点的属性值,插值方法如下式(18)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
Figure PCTCN2020133712-appb-000011
其中,
Figure PCTCN2020133712-appb-000012
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得预测节点的所有插值节点都不可得时, 则插值失败,此不可得预测节点的权重为0;
d4)根据下式(19)计算所有预测节点的属性值的加权平均值,该值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000013
其中,
Figure PCTCN2020133712-appb-000014
为预测节点的属性值,w i为预测节点的权重,当预测节点为不可得节点且插值失败时,w i=0,否则w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e4)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
需要说明的是,上述实施例1的技术方案作用在图3A和3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
本技术方案在编码端帧内预测部分另一种实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a5)、f5)和g5)过程,其余点执行b5)、c5)、d5)、e5)、f5)和g5)过程:
a5)当前节点为编码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b5)以当前节点的所有共面节点3、5、6、14、21和35中的K个节点作为预测节点,选择方式如步骤d5)所述;当节点可得时,参考可得节点的属性重建值,当节点不可得时,执行步骤c5)以插值出不可得节点的属性值;
c5)通过不可得节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得节点的属性值,插值方法如下式(20)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
Figure PCTCN2020133712-appb-000015
其中,
Figure PCTCN2020133712-appb-000016
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不满足条件的共面节点的所有插值节点都不可得时,则插值失败,此不可得节点的权重为0;
d5)参考范围为3、5、6、14、21和35中的可得节点加上插值成功的不可得节点,若参考范围大于等于K,则直接以参考范围中的前K个节点作为预测节点;若参考范围大于0且小于K,则以参考范围中的第一个节点的属性值作为填充值,将参考范围大小填充为K,以此K个节点作为预测节点;
e5)根据下式(21)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000017
其中,
Figure PCTCN2020133712-appb-000018
为预测节点的属性值,w i为预测节点的权重,w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
f5)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
g5)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值作为后续编码单元的参考信息。
本技术方案在解码端帧内预测实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a6)和f6)过程,其余点执行b6)、c6)、d6)、e6)和f6)过程:
a6)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b6)以当前节点的所有共面节点3、5、6、14、21和35中的K个节点作为预测节点,选择方式如步骤d6)所述;当节点可得时,属性值参考可得节点的属性重建值,当节点不可得时,执行步骤c6)的插值出不可得节点的属性值;
c6)通过不可得节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得节点的属性值,插值方法如下式(22)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
Figure PCTCN2020133712-appb-000019
其中,
Figure PCTCN2020133712-appb-000020
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得节点i来说,其插值节点j不可得,则有w j=0,否则w j=1。当不可得节点的所有插值节点都不可得时,则插值失败,此不可得节点的权重为0;
d6)参考范围为3、5、6、14、21和35中的可得节点加上插值成功的不可得节点,若参考范围大于等于K,则直接以参考范围中的前K个节点作为预测节点;若参考范围大于0且小于K,则以参考范围中的第一个节点的属性值作为填充值,将参考范围大小填充为K,以此K个节点作为预测节点;
e6)根据下式(23)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
Figure PCTCN2020133712-appb-000021
其中,
Figure PCTCN2020133712-appb-000022
为预测节点的属性值,w i为预测节点的权重,w i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
f6)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
实施例2的技术方案作用在图3A和图3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
基于插值过程的帧内预测增强技术可以采用多种填充方法,包括但不限于填充第一个节点的属性值、填充固定常数、填充周围点的平均值等。其中K的取值可以为任意常数,若K为2的幂次,在编解码的步骤e5)和e6)计算当前节点的属性预测值时,除法可以采用二进制的移位操作。
本申请实施例的技术方案可以适用于帧内预测的编解码部分,充分利用到当前节点周围的参考信息,使用插值算法推导出当前节点的不可得的预测节点的重建属性值,优化帧内预测方案,提高帧内预测的准确性,从而能够提升编码效率。
本申请实施例的技术方案在AVS最新的点云压缩平台PCRM1.0上进行了测试,在实施例1所描述的算法下取得的测试结果如表1至4所示,在实施例2所描述的算法下取得的测试结果如表5至8所示。
其中,表1示出了实施例1在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表1所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了2.8%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了5.4%。
表1 C1-limit-lossy geometry,lossy attributes
Figure PCTCN2020133712-appb-000023
表2示出了实施例1在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表2所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了1.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了10%。
表2 C2-lossless geometry,lossy attributes
Figure PCTCN2020133712-appb-000024
表3示出了实施例1在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表3所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Cb属性上,EtE BD-rate相比于PCRM基准平台的性能改善了0.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了10.2%。
表3 C3-lossless geometry,limit-lossy attributes
Figure PCTCN2020133712-appb-000025
表4示出了实施例1在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes) 下对Cat1B和Cat3这两类数据集的测试结果,如表4所示,相比于PCRM基准平台的性能,实施例1在颜色属性上的bpip ratio有改善。例如,对于Cat1B的测试结果,bpip ratio是PCRM基准平台的输出的比特流的99.7%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了0.3%。又如,对于Cat3的测试结果,bpip ratio是PCRM基准平台的输出的比特流的98.5%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了1.5%。可见,实施例1能够通过更少的码字获得更好的失真。
表4 C4-lossless geometry,lossless attributes
Figure PCTCN2020133712-appb-000026
表5示出了实施例2在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表5 C1-limit-lossy geometry,lossy attributes
Figure PCTCN2020133712-appb-000027
表6示出了实施例2在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果
表6 C2-lossless geometry,lossy attributes
Figure PCTCN2020133712-appb-000028
表7示出了实施例2在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表7 C3-lossless geometry,limit-lossy attributes
Figure PCTCN2020133712-appb-000029
表8示出了实施例2在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表8 C4-lossless geometry,lossless attributes
Figure PCTCN2020133712-appb-000030
从上表中可以看出,在两个实施例下相比于PCRM基准平台,都具有明显的性能提升。
本申请实施例的技术方案提出在帧内预测过程中,使用插值算法推导出当前节点的预测节点属性值,优化帧内预测方案,提高帧内预测的准确性,有效提升编码效率;其中,关键在于:
(1)提出将当前节点的六个共面节点作为预测节点;
(2)提出采用插值方法获得不可得节点的属性值;
(3)提出采用当前节点的共线节点来插值得到当前节点的不可得节点;
(4)提出固定数目的预测节点,对预测节点数不够的采用填充操作;
(5)基于上述4,提出当固定数目为2的幂次时,在计算当前节点的属性预测值时,可以将除法简化为二进制移位操作。
在一些实施例中,可以将实施例1中采用加权平均的插值方法该为其它生成插值的方法,如临近点拷贝、填充固定值等;
在一些实施例中,将实施例1中的常数权重值设为其它值,如基于欧式距离的权重等;
在一些实施例中,将实施例2中采用第一个节点的属性值填充的方法该为固定值填充、平均值填充、临近点填充等。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图16为本申请实施例帧内预测装置的结构示意图,如图16所示,所述装置16包括确定模块161、插值模块162和预测模块163,其中:
确定模块161,用于确定当前节点的共面节点是否满足条件;所述条件为在所述当前节点之前编码的非空节点;如果是,将满足条件的共面节点的属性重建值作为属性值;否则,执行插值模块162;
插值模块162,用于根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点
预测模块163,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数
在一些实施例中,插值模块162,用于:确定每一所述插值节点的权重值;根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
在一些实施例中,插值模块162,用于:将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。
在一些实施例中,所述预设的第二常数为0,所述预设的第三常数为1。
在一些实施例中,所述插值节点满足所述条件。
在一些实施例中,插值模块162,用于:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
在一些实施例中,预测模块163,用于:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,预测模块163,用于:根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,其中,K为2的幂次。
在一些实施例中,预测模块163,用于:按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
在一些实施例中,预测模块163,用于:将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;或者,将预设的第四常数确定为所述填充节点的属性值。
在一些实施例中,预测模块163,用于:在任一所述预测节点满足所述条件的情况下,或者, 在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,确定每一所述预测节点的权重值;根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
在一些实施例中,预测模块163,用于:将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
在一些实施例中,所述预设的第五常数大于或等于所述预设的第七常数。
在一些实施例中,预测模块163,用于:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
在一些实施例中,预测模块163,还用于:在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值。
在一些实施例中,预测模块163,用于:将所述当前节点的前一完成编码的节点的属性重建值,确定为所述当前节点的属性预测值。
在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
以上装置16的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的编码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图17为本申请实施例编码装置的结构示意图,如图17所示,所述装置17包括:帧内预测模块171、确定模块172和编码模块173;其中,
帧内预测模块171,用于:根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,
对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点。
确定模块172,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
编码模块173,用于将所述当前节点的残差编码为属性码流。
以上装置17的实施例的描述,与上述装置16实施例和上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图18为本申请实施例帧内预测装置的结构示意图,如图18所示,所述装置18包括确定模块181、插值模块182和预测模块183,其中:
确定模块181,用于确定当前节点的共面节点是否满足条件;所述条件为在所述当前节点之前解码的非空节点;如果是,将满足条件的共面节点的属性重建值作为属性值;否则,执行插值模块182;
插值模块182,用于根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点
预测模块183,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数
在一些实施例中,插值模块182,用于:确定每一所述插值节点的权重值;根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
在一些实施例中,插值模块182,用于:将不满足所述条件的插值节点的权重值确定为预设的第二常数;将满足所述条件的插值节点的权重值确定为预设的第三常数。
在一些实施例中,所述预设的第二常数为0,所述预设的第三常数为1。
在一些实施例中,所述插值节点满足所述条件。
在一些实施例中,插值模块182,用于:将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
在一些实施例中,预测模块183,用于:将所述M个共面节点作为预测节点;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,预测模块183,用于:根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
在一些实施例中,其中,K为2的幂次。
在一些实施例中,预测模块183,用于:按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
在一些实施例中,预测模块183,用于:将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;或者,将预设的第四常数确定为所述填充节点的属性值。
在一些实施例中,预测模块183,用于:在任一所述预测节点满足所述条件的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,确定每一所述预测节点的权重值;根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
在一些实施例中,预测模块183,用于:将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
在一些实施例中,所述预设的第五常数大于或等于所述预设的第七常数。
在一些实施例中,预测模块183,用于:在所述预测节点的数目为2的幂次的情况下,通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
在一些实施例中,预测模块183,还用于:在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值。
在一些实施例中,预测模块183,用于:将所述当前节点的前一完成解码的节点的属性重建值,确定为所述当前节点的属性预测值。
在一些实施例中,所述M个共面节点为所述当前节点的所有共面节点。
在一些实施例中,确定模块181,还用于:从接收的属性码流中,解析出所述当前节点的残差;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
以上装置18的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的解码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图19为本申请实施例解码装置的结构示意图,如图19所示,所述装置19包括:解析模块191、帧内预测模块192和解码模块193;其中,
解析模块191,用于对接收的属性码流进行解析,得到当前节点的残差;
帧内预测模块192,用于:根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,
对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点。
解码模块193,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
以上装置19的实施例的描述,与上述装置18实施例和上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的帧内预测方法、编码方法或解码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图20为本申请实施例的电子设备的硬件实体示意图,如图20所示,所述电子设备20包括存储器201和处理器202,所述存储器201存储有可在处理器202上运行的计算机程序,所述处理器202执行所述程序时实现上述实施例中提供的方法中的步骤。
本申请实施例一种编码器,图21为本申请实施例的编码器的硬件实体示意图,所述编码器21包括存储器211和处理器212;其中,所述存储器211,用于存储能够在所述处理器212上运行的计算机程序;所述处理器212,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
本申请实施例一种解码器,图22为本申请实施例的解码器的硬件实体示意图,所述解码器22包括存储器221和处理器222;其中,所述存储器221,用于存储能够在所述处理器222上运行的计算机程序;所述处理器222,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
需要说明的是,存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及相应设备中各模块待处理或已经处理的数据(例如,点云数据、图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序 被处理器执行时实现上述实施例中提供的方法中的步骤。
这里需要指出的是:以上电子设备、编码器、解码器和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请电子设备、编码器、解码器和存储介质实施例中未披露的技术细节,可以参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”或“另一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”或“在另一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备或编码器或解码器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (48)

  1. 一种帧内预测方法,所述方法包括:
    根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
    其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,
    对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点。
  2. 根据权利要求1所述的方法,其中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:
    确定每一所述插值节点的权重值;
    根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
  3. 根据权利要求2所述的方法,其中,所述确定每一所述插值节点的权重值,包括:
    将不满足所述条件的插值节点的权重值确定为预设的第二常数;
    将满足所述条件的插值节点的权重值确定为预设的第三常数。
  4. 根据权利要求3所述的方法,其中,所述预设的第二常数为0,所述预设的第三常数为1。
  5. 根据权利要求2所述的方法,其中,所述插值节点满足所述条件。
  6. 根据权利要求1所述的方法,其中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:
    将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
  7. 根据权利要求1所述的方法,其中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:
    将所述M个共面节点作为预测节点;
    根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
  8. 根据权利要求1所述的方法,其中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:
    根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;
    根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
  9. 根据权利要求8所述的方法,其中,K为2的幂次。
  10. 根据权利要求8所述的方法,其中,所述根据所述M个共面节点得到K个预测节点,包括:
    按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,
    当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;
    在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;
    在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
  11. 根据权利要求10所述的方法,其中,所述确定填充节点的属性值,包括:
    将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,
    将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,
    将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值; 或者,
    将预设的第四常数确定为所述填充节点的属性值。
  12. 根据权利要求7或8所述的方法,其中,所述根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,包括:
    在任一所述预测节点满足所述条件的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,
    确定每一所述预测节点的权重值;
    根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
  13. 根据权利要求12所述的方法,其中,所述确定每一所述预测节点的权重值,包括:
    将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;
    将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确定为预设的第六常数;
    将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
  14. 根据权利要求13所述的方法,其中,所述预设的第五常数大于或等于所述预设的第七常数。
  15. 根据权利要求12所述的方法,其中,所述根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,包括:
    在所述预测节点的数目为2的幂次的情况下,
    通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;
    通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;
    通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
  16. 根据权利要求7或8所述的方法,其中,所述根据每一所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,还包括:
    在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值。
  17. 根据权利要求16所述的方法,其中,所述根据在当前节点之前的至少一个完成解码的节点的属性重建值,确定所述当前节点的属性预测值,包括:
    将所述当前节点的前一完成解码的节点的属性重建值,确定为所述当前节点的属性预测值。
  18. 根据权利要求1至17任一项所述的方法,其中,所述M个共面节点为所述当前节点的所有共面节点。
  19. 根据权利要求1至17任一项所述的方法,其中,所述方法还包括:
    从接收的属性码流中,解析出所述当前节点的残差;
    根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  20. 一种点云解码方法,所述方法包括:
    对接收的属性码流进行解析,得到当前节点的残差;
    对所述当前节点执行如权利要求1至18任一项所述的方法中的步骤,得到所述当前节点的属性预测值;
    根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  21. 一种帧内预测方法,所述方法包括:
    根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
    其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,
    对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点。
  22. 根据权利要求21所述的方法,其中,所述根据插值节点的属性重建值,得到所述不满足条 件的共面节点的属性值,包括:
    确定每一所述插值节点的权重值;
    根据每一所述插值节点的权重值,对每一所述插值节点的属性重建值进行加权平均计算,得到所述不满足条件的共面节点的属性值。
  23. 根据权利要求22所述的方法,其中,所述确定每一所述插值节点的权重值,包括:
    将不满足所述条件的插值节点的权重值确定为预设的第二常数;
    将满足所述条件的插值节点的权重值确定为预设的第三常数。
  24. 根据权利要求23所述的方法,其中,所述预设的第二常数为0,所述预设的第三常数为1。
  25. 根据权利要求22所述的方法,其中,所述插值节点满足所述条件。
  26. 根据权利要求21所述的方法,其中,所述根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,包括:
    将所述不满足条件的共面节点的所有插值节点中的一个节点的属性重建值,作为所述不满足条件的共面节点的属性值。
  27. 根据权利要求21所述的方法,其中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:
    将所述M个共面节点作为预测节点;
    根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
  28. 根据权利要求21所述的方法,其中,所述根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,包括:
    根据所述M个共面节点得到K个预测节点;其中,K为大于0的整数;
    根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值。
  29. 根据权利要求28所述的方法,其中,K为2的幂次。
  30. 根据权利要求28所述的方法,其中,所述根据所述M个共面节点得到K个预测节点,包括:
    按照所述M个共面节点的特定编码顺序,得到K个预测节点;其中,
    当所述共面节点为所述满足条件的共面节点或至少有一个插值节点满足所述条件的所述不满足条件的共面节点时,将所述共面节点确定为所述预测节点;
    在所述满足条件的共面节点与至少有一个插值节点满足所述条件的所述不满足条件的共面节点的节点总数大于或等于K的情况下,将所述节点总数对应的节点中按照特定编码顺序排序的前K个节点,确定为所述预测节点;
    在所述节点总数大于0且小于K的情况下,确定填充节点的属性值;将所述节点总数对应的节点和所述填充节点,确定为所述预测节点。
  31. 根据权利要求30所述的方法,其中,所述确定填充节点的属性值,包括:
    将所述节点总数对应的节点中按照所述特定编码顺序排序的第一个节点的属性值,确定为所述填充节点的属性值;或者,
    将所述节点总数对应的节点的属性值的均值,确定为所述填充节点的属性值;或者,
    将所述第一个节点的共面节点和/或共线节点的属性值的均值,确定为所述填充节点的属性值;或者,
    将预设的第四常数确定为所述填充节点的属性值。
  32. 根据权利要求27或28所述的方法,其中,所述根据所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,包括:
    在任一所述预测节点满足所述条件的情况下,或者,在任一所述预测节点为所述不满足条件的共面节点且所述不满足条件的共面节点的至少一个插值节点满足所述条件的情况下,
    确定每一所述预测节点的权重值;
    根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值。
  33. 根据权利要求32所述的方法,其中,所述确定每一所述预测节点的权重值,包括:
    将每一满足所述条件的预测节点的权重值,确定为预设的第五常数;
    将属于所述不满足条件的共面节点且所有插值节点均不满足所述条件的预测节点的权重值,确 定为预设的第六常数;
    将属于所述不满足条件的共面节点且至少有一个插值节点满足所述条件的预测节点的权重值确定为所述预设的第七常数。
  34. 根据权利要求33所述的方法,其中,所述预设的第五常数大于或等于所述预设的第七常数。
  35. 根据权利要求32所述的方法,其中,所述根据每一所述预测节点的权重值,对每一所述预测节点的属性值进行加权平均计算,得到所述当前节点的属性预测值,包括:
    在所述预测节点的数目为2的幂次的情况下,
    通过乘法器对每一所述预测节点的属性值与对应的权重值进行乘法运算,得到第一运算结果;
    通过加法器对每一所述预测节点对应的所述第一运算结果进行加法运算,得到第二运算结果;
    通过移位器对所述第二运算结果和所述预测节点的数目进行移位运算,得到所述当前节点的属性预测值。
  36. 根据权利要求27或28所述的方法,其中,所述根据每一所述预测节点的属性值,对所述当前节点的属性进行预测,得到所述当前节点的属性预测值,还包括:
    在每一所述预测节点均属于所述不满足条件的共面节点且每一所述预测节点的所有插值节点均不满足所述条件的情况下,根据在所述当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值。
  37. 根据权利要求36所述的方法,其中,所述根据在当前节点之前的至少一个完成编码的节点的属性重建值,确定所述当前节点的属性预测值,包括:
    将所述当前节点的前一完成编码的节点的属性重建值,确定为所述当前节点的属性预测值。
  38. 根据权利要求21至37任一项所述的方法,其中,所述M个共面节点为所述当前节点的所有共面节点。
  39. 根据权利要求21至37任一项所述的方法,其中,所述方法还包括:
    确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
    根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  40. 一种点云编码方法,所述方法包括:
    对点云的当前节点执行如权利要求21至38任一项所述的方法中的步骤,得到所述当前节点的属性预测值;
    确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
    将所述当前节点的残差编码为属性码流。
  41. 一种帧内预测装置,包括:
    预测模块,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
    其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前解码的非空节点;或者,
    对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前解码的非空节点。。
  42. 一种解码装置,包括:
    解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;
    帧内预测模块,用于执行权利要求1至18任一项所述的方法中的步骤,得到当前节点的属性预测值;
    解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
  43. 一种解码器,所述解码器包括存储器和处理器;其中,
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至20任一项所述的方法。
  44. 一种帧内预测装置,包括:
    预测模块,用于根据当前节点的M个共面节点的属性值,得到所述当前节点的属性预测值,M为正整数;
    其中,对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据插 值节点的属性重建值,得到所述不满足条件的共面节点的属性值,所述插值节点既是所述不满足条件的共面节点的共面节点也是所述当前节点的共线节点,所述条件为在所述当前节点之前编码的非空节点;或者,
    对于满足条件的共面节点的属性值为属性重建值,对于不满足条件的共面节点,根据预设的第一常数,得到所述不满足条件的共面节点的属性值,所述条件为在所述当前节点之前编码的非空节点。
  45. 一种编码装置,包括:
    帧内预测模块,用于执行如权利要求21至38任一项所述的方法中的步骤,得到当前节点的属性预测值;
    确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
    编码模块,用于将所述当前节点的残差编码为属性码流。
  46. 一种编码器,所述编码器包括存储器和处理器;其中,
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求21至40任一项所述的方法。
  47. 一种电子设备,包括存储器和处理器;其中,
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至40任一项所述的方法。
  48. 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至40任一项所述的方法。
PCT/CN2020/133712 2020-12-03 2020-12-03 帧内预测方法及装置、编解码器、设备、存储介质 WO2022116122A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080107272.5A CN116458158A (zh) 2020-12-03 2020-12-03 帧内预测方法及装置、编解码器、设备、存储介质
PCT/CN2020/133712 WO2022116122A1 (zh) 2020-12-03 2020-12-03 帧内预测方法及装置、编解码器、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/133712 WO2022116122A1 (zh) 2020-12-03 2020-12-03 帧内预测方法及装置、编解码器、设备、存储介质

Publications (1)

Publication Number Publication Date
WO2022116122A1 true WO2022116122A1 (zh) 2022-06-09

Family

ID=81852877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/133712 WO2022116122A1 (zh) 2020-12-03 2020-12-03 帧内预测方法及装置、编解码器、设备、存储介质

Country Status (2)

Country Link
CN (1) CN116458158A (zh)
WO (1) WO2022116122A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN109196559A (zh) * 2016-05-28 2019-01-11 微软技术许可有限责任公司 动态体素化点云的运动补偿压缩
EP3429206A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
US20190318519A1 (en) * 2018-04-13 2019-10-17 Sony Corporation Method & apparatus for point cloud color processing
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding
US11166048B2 (en) * 2018-10-02 2021-11-02 Tencent America LLC Method and apparatus for video coding
WO2020123469A1 (en) * 2018-12-11 2020-06-18 Futurewei Technologies, Inc. Hierarchical tree attribute coding by median points in point cloud coding
US10964068B2 (en) * 2019-03-18 2021-03-30 Blackberry Limited Methods and devices for predictive point cloud attribute coding
CN110418135B (zh) * 2019-08-05 2022-05-27 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN111145090B (zh) * 2019-11-29 2023-04-25 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111432210B (zh) * 2020-04-30 2021-10-19 中山大学 一种基于填充的点云属性压缩方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109196559A (zh) * 2016-05-28 2019-01-11 微软技术许可有限责任公司 动态体素化点云的运动补偿压缩
EP3429206A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
US20190318519A1 (en) * 2018-04-13 2019-10-17 Sony Corporation Method & apparatus for point cloud color processing
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MEHLEM, DOMINIK ET AL.: "Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting: by teleconference, 15–24 April 2020", JVET-R0376 VERSATILE VIDEO CODING FOR VPCC, 25 April 2020 (2020-04-25), XP030287078 *

Also Published As

Publication number Publication date
CN116458158A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
US11711535B2 (en) Video-based point cloud compression model to world signaling information
KR20220128388A (ko) V-pcc용 스케일링 파라미터
US12020461B2 (en) Method and apparatus for Haar-based point cloud coding
JP7371691B2 (ja) ホモグラフィ変換を使用した点群符号化
CN117280680A (zh) 动态网格对齐的并行方式
WO2022116122A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022183611A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022257143A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2023023914A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
US20230334719A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
US20230345008A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2024145953A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
WO2023197337A1 (zh) 索引确定方法、装置、解码器以及编码器
EP3970368A1 (en) Forward and inverse quantization for point cloud compression using look-up tables

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: 20963968

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202080107272.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20963968

Country of ref document: EP

Kind code of ref document: A1