CN116458158A - Intra-frame prediction method and device, codec, device, and storage medium - Google Patents

Intra-frame prediction method and device, codec, device, and storage medium Download PDF

Info

Publication number
CN116458158A
CN116458158A CN202080107272.5A CN202080107272A CN116458158A CN 116458158 A CN116458158 A CN 116458158A CN 202080107272 A CN202080107272 A CN 202080107272A CN 116458158 A CN116458158 A CN 116458158A
Authority
CN
China
Prior art keywords
node
nodes
attribute
value
coplanar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080107272.5A
Other languages
Chinese (zh)
Inventor
魏红莲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN116458158A publication Critical patent/CN116458158A/en
Pending legal-status Critical Current

Links

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

Landscapes

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

Abstract

The embodiment of the application discloses an intra-frame prediction method and device, a coder-decoder, equipment and a storage medium; wherein the method comprises the following steps: obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer; and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition or the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node.

Description

Intra-frame prediction method and device, codec, device, and storage medium Technical Field
Embodiments of the present application relate to point cloud processing technology, and relate to, but are not limited to, intra-frame prediction methods and apparatuses, codecs, devices, and storage media.
Background
A point cloud is a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a three-dimensional object or scene. The point cloud data generally includes attribute information composed of geometric information (x, y, z) composed of three-dimensional position information, three-dimensional color information (r, g, b), and one-dimensional reflectance information (r).
The point cloud can flexibly and conveniently express the space structure and the surface attribute of a three-dimensional object or scene, and can provide extremely strong sense of reality on the premise of ensuring the accuracy because the point cloud is obtained by directly sampling the real object, so that the point cloud has wide application range including virtual reality games, computer aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersion remote presentation, three-dimensional reconstruction of biological tissue organs and the like.
With the growing demand for applications, the processing of massive three-dimensional (three Dimensional, 3D) point cloud data suffers from storage space and transmission bandwidth limitations. In order to better realize data management, save the storage space of the server, reduce the transmission flow and transmission time between the server and the client, and the point cloud compression becomes a key problem for promoting the development of the point cloud industry.
The point cloud compression is mainly divided into geometric compression and attribute compression, wherein the accuracy of intra-frame prediction (i.e. attribute value prediction of nodes) in the attribute compression directly influences the coding and decoding efficiency.
Disclosure of Invention
In view of this, the intra-frame prediction method and device, the codec, the device and the storage medium provided in the embodiments of the present application can improve accuracy of intra-frame prediction, thereby improving codec efficiency of point cloud. The intra prediction method and device, the codec, the device and the storage medium provided by the embodiment of the application are realized in the following way:
The intra-frame prediction method provided by the embodiment of the application comprises the following steps: obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer; for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node; or for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node.
In some embodiments, the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not meet the condition includes: determining a weight value of each interpolation node; and carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
In some embodiments, the determining the weight value of each of the interpolation nodes includes: determining the weight value of the interpolation node which does not meet the condition as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant.
In some embodiments, the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not meet the condition includes: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
In some embodiments, the obtaining the attribute predicted value of the current node according to the attribute values of the M coplanar nodes of the current node includes: taking the M coplanar nodes as prediction nodes; and 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.
In some embodiments, the obtaining the attribute predicted value of the current node according to the attribute values of the M coplanar nodes of the current node includes: obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0; and 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.
In some embodiments, the obtaining K predicted nodes from the M coplanar nodes includes: obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition, which is satisfied by at least one interpolation node, the coplanar node is determined as the prediction node; when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
In some embodiments, the determining the attribute value of the filler node includes: determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or determining a preset fourth constant as the attribute value of the filling node.
In some embodiments, 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 includes: determining a weight value of each prediction node under the condition that any prediction node meets the condition, or under the condition that any prediction node is the coplanar node which does not meet the condition and at least one interpolation node of the coplanar node which does not meet the condition meets the condition; and carrying out 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.
In some embodiments, the determining the weight value of each of the prediction nodes includes: determining the weight value of each prediction node meeting the conditions as a preset fifth constant; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
In some embodiments, the calculating, according to the weight value of each of the prediction nodes, a weighted average of the attribute values of each of the prediction nodes to obtain the attribute prediction value of the current node includes: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
In some embodiments, predicting the attribute of the current node according to the attribute value of each of the prediction nodes to obtain an attribute prediction value of the current node, and further includes: and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which completes decoding before the current node.
In some embodiments, the determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node that completes decoding before the current node includes: and determining the attribute reconstruction value of the node which finishes decoding before the current node as the attribute prediction value of the current node.
In some embodiments, the method further comprises: analyzing residual errors of the current node from the received attribute code stream; and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
The embodiment of the application provides a point cloud decoding method, which comprises the following steps: analyzing the received attribute code stream to obtain the residual error of the current node; executing steps in the method according to the embodiment of the application on the current node to obtain an attribute predicted value of the current node; and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
An intra-frame prediction method provided by an embodiment of the present application includes: obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer; for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node coded before the current node; or for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node coded before the current node.
In some embodiments, the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not meet the condition includes: determining a weight value of each interpolation node; and carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
In some embodiments, the determining the weight value of each of the interpolation nodes includes: determining the weight value of the interpolation node which does not meet the condition as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant.
In some embodiments, the interpolation node satisfies the condition.
In some embodiments, the reconstructing the value according to the attribute of the interpolation node to obtain the attribute value of the coplanar node that does not meet the condition includes: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
In some embodiments, the obtaining the attribute predicted value of the current node according to the attribute values of the M coplanar nodes of the current node includes: taking the M coplanar nodes as prediction nodes; and 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.
In some embodiments, the obtaining the attribute predicted value of the current node according to the attribute values of the M coplanar nodes of the current node includes: obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0; and 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.
In some embodiments, K is a power of 2.
In some embodiments, the obtaining K predicted nodes from the M coplanar nodes includes: obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition, which is satisfied by at least one interpolation node, the coplanar node is determined as the prediction node; when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
In some embodiments, the determining the attribute value of the filler node includes: determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or determining a preset fourth constant as the attribute value of the filling node.
In some embodiments, 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 includes: determining a weight value of each prediction node under the condition that any prediction node meets the condition, or under the condition that any prediction node is the coplanar node which does not meet the condition and at least one interpolation node of the coplanar node which does not meet the condition meets the condition; and carrying out 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.
In some embodiments, the determining the weight value of each of the prediction nodes includes: determining the weight value of each prediction node meeting the conditions as a preset fifth constant; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
In some embodiments, the calculating, according to the weight value of each of the prediction nodes, a weighted average of the attribute values of each of the prediction nodes to obtain the attribute prediction value of the current node includes: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
In some embodiments, predicting the attribute of the current node according to the attribute value of each of the prediction nodes to obtain an attribute prediction value of the current node, and further includes: and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which finishes encoding before the current node.
In some embodiments, the determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node before the current node that completes encoding includes: and determining the attribute reconstruction value of the node which finishes encoding before the current node as the attribute prediction value of the current node.
In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
The embodiment of the application provides a point cloud coding method, which comprises the following steps: executing the steps in the method according to the embodiment of the application on the current node of the point cloud to obtain an attribute predicted value of the current node; determining a residual error between the attribute predicted value of the current node and the original attribute value of the current node; and encoding the residual error of the current node into an attribute code stream.
An intra prediction apparatus provided in an embodiment of the present application includes: the prediction module is used for obtaining the attribute predicted value of the current node according to the attribute values of M coplanar nodes of the current node, wherein M is a positive integer; for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node; or for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node. .
The embodiment of the application provides a decoding device, which comprises: the analysis module is used for analyzing the received attribute code stream to obtain the residual error of the current node; the intra-frame prediction module is used for executing the steps in the method of the embodiment of the application to obtain the attribute predicted value of the current node; and the decoding module is used for determining the attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
The embodiment of the application provides a decoder, which comprises a memory and a processor; wherein the memory is configured to store a computer program capable of running on the processor; the processor is configured to perform a method according to an embodiment of the present application when the computer program is executed.
An intra prediction apparatus provided in an embodiment of the present application includes: the prediction module is used for obtaining the attribute predicted value of the current node according to the attribute values of M coplanar nodes of the current node, wherein M is a positive integer; for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node coded before the current node; or for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node coded before the current node.
An encoding device provided in an embodiment of the present application includes: an intra-frame prediction module, configured to perform the steps in the method according to the embodiments of the present application to obtain an attribute prediction value of a current node; a determining module, configured to determine a residual error between an attribute prediction value of the current node and an original attribute value of the current node; and the encoding module is used for encoding the residual error 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 configured to store a computer program capable of running on the processor; the processor is configured to perform a method according to an embodiment of the present application when the computer program is executed.
The electronic device provided by the embodiment of the application comprises a memory and a processor; wherein the memory is configured to store a computer program capable of running on the processor; the processor is configured to perform a method according to an embodiment of the present application when the computer program is executed.
The computer readable storage medium provided in the embodiments of the present application stores a computer program thereon, which when executed by a processor implements the method described in the embodiments of the present application.
In the embodiment of the application, for the attribute values of the coplanar nodes which do not meet the condition of the current node, the attribute values of the interpolation nodes of the coplanar nodes which do not meet the condition are obtained through interpolation; therefore, the electronic equipment can use the attribute values of the coplanar nodes which do not meet the conditions to conduct attribute prediction of the current node, namely, when the electronic equipment conducts attribute prediction, the electronic equipment conducts intra-frame prediction based on the coplanar nodes which meet the conditions and the collinear nodes which meet the conditions and the attribute values of the coplanar nodes which do not meet the conditions, and therefore the method considers more information for the attribute prediction of the current node, and accuracy of intra-frame prediction can be improved, and coding efficiency is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the technical aspects of the application.
FIG. 1 is a schematic illustration of a three-dimensional point cloud image and a partial magnified 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 a coding framework of a point cloud compression reference platform provided by the audio video coding standard (Audio Video Standard, AVS) point cloud compression thematic group, i.e., a point cloud reference model (Point Cloud Reference Model, PCRM);
FIG. 3B is a schematic diagram of a decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression thematic group;
FIG. 4A is a schematic illustration of the placement of an entire point cloud in a cube bounding box;
FIG. 4B is a schematic diagram of an octree partitioning process for a point cloud;
FIG. 5 is a schematic diagram of the coding order of Morton codes in two-dimensional space;
FIG. 6 is a schematic diagram of the coding sequence of the Morton code in three-dimensional space;
FIG. 7A is a schematic diagram of a current node and its coplanar nodes;
FIG. 7B is a schematic diagram of a current node and its collinear nodes;
FIG. 8 is a schematic diagram of a flow chart for implementing an intra prediction method according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a flow chart for implementing an intra prediction method according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a flow chart for implementing an intra prediction method according to an embodiment of the present application;
FIG. 11 is a schematic diagram of a flow chart for implementing an intra prediction method according to an embodiment of the present application;
FIG. 12 is a schematic flow chart of an implementation of an intra prediction method according to an embodiment of the present application;
FIG. 13 is a schematic flow chart of an implementation of an intra prediction method according to an embodiment of the present application;
FIG. 14 is a schematic diagram of all coplanar nodes of a current node;
FIG. 15 is a schematic diagram of interpolation nodes of coplanar nodes that do not meet a condition;
FIG. 16 is a schematic diagram illustrating a structure of an intra prediction apparatus according to an embodiment of the present application;
FIG. 17 is a schematic diagram of an encoding device according to an embodiment of the present disclosure;
FIG. 18 is a schematic diagram of an intra prediction apparatus according to an embodiment of the present disclosure;
fig. 19 is a schematic structural diagram of a decoding device according to an embodiment of the present application;
fig. 20 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the present application;
FIG. 21 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the present application;
fig. 22 is a schematic diagram of a hardware entity of a decoder according to an embodiment of the present application.
Detailed Description
For the purposes, technical solutions and advantages of the embodiments of the present application to be more apparent, the specific technical solutions of the present application will be described in further detail below with reference to the accompanying drawings in the embodiments of the present application. The following examples are illustrative of the present application, but are not intended to limit the scope of the present application.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
It should be noted that the term "first/second/third" in reference to the embodiments of the present application is for distinguishing between similar or different objects and not for representing a particular ordering of the objects, it being understood that the "first/second/third" may be interchanged with a particular order or sequence, as permitted, to enable the embodiments of the present application described herein to be implemented in an order other than that illustrated or described herein.
The codec frame and the service scenario described in the embodiments of the present application are for more clearly describing the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. As can be known to those skilled in the art, with the evolution of the codec frame and the appearance of new service scenarios, the technical solution provided in the embodiments of the present application is also applicable to similar technical problems.
Before further describing the embodiments of the present application, description will be given of a data format of a point cloud, a codec frame, a regularization process of the point cloud, and the like related to the embodiments of the present application. The codec frame and the service scenario described in the embodiments of the present application are for more clearly describing the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided by the embodiments of the present application. As can be known to those skilled in the art, with the evolution of the codec frame and the appearance of new service scenarios, the technical solution provided in the embodiments of the present application is also applicable to similar technical problems.
(1) Data form of point cloud
A point cloud is a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a three-dimensional object or scene. For example, as shown in fig. 1, 101 is a three-dimensional point cloud image. 102 is a partial magnified view of the point cloud image, and it can be seen that the point cloud surface is composed of densely distributed points.
The distribution of the points in the point cloud in the three-dimensional space has randomness and irregularity, so that the position of each point in the space needs to be recorded to completely express one point cloud. Each location has corresponding attribute information, typically Red Green Blue (RGB) color values, which reflect the color of the object; reflectance (reflectance) values are also relatively common attribute information, and reflect the surface texture of an object. Therefore, the point cloud data generally includes attribute information composed of geometric information (x, y, z) composed of three-dimensional position information, three-dimensional color information (r, g, b), and one-dimensional reflectance information (r).
FIG. 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 a data storage format of the point cloud image, which consists of a file header information part and a data part, wherein the header information comprises a data format, a data representation type, point cloud total points and content represented by the point cloud, for example, the point cloud in 202 is in an ". Ply" format, represented by ASCII codes, the total points are 207242, and each point has three-dimensional position information xyz and three-dimensional color information rgb.
(2) Relevant introduction to point cloud compression
The acquisition of the point cloud mainly comprises the following steps: computer generation, 3D laser scanning, 3D photogrammetry, and the like. The computer can generate a point cloud of the virtual three-dimensional object and the scene; 3D laser scanning can obtain point clouds of static real world three-dimensional objects or scenes, and millions of point clouds can be obtained every second; 3D photogrammetry can obtain a point cloud of a dynamic real world three-dimensional object or scene, which can be tens of millions of point clouds per second. The technology reduces the acquisition cost and time period of the point cloud data and improves the accuracy of the data. The change of the acquisition mode of the point cloud data enables the acquisition of a large amount of point cloud data to be possible. However, with the growing demand of applications, the processing of massive 3D point cloud data encounters bottlenecks of storage space and transmission bandwidth limitations.
Taking a point cloud video with a frame rate of 30 frames per second (fps) as an example, the number of points of the point cloud per frame is 70 ten thousand, each point has coordinate information xyz of floating point type (float) and color information RGB of uchar type, the data amount of the point cloud video of 10s is about 0.7million (4 Byte 3+1byte 3) 30fps 10 s=3.15 GB, and the YUV sampling format is 4:2:0, the data amount of 10s is about 12.80.72.012 bit-type of the two-view 3D video of 24fps is about 0.33.2=0.66 GB. It can be seen that the data volume of the point cloud video far exceeds the data volumes of the two-dimensional video and the three-dimensional video of the same duration. Therefore, in order to better realize data management, save the storage space of the server, reduce the transmission flow and transmission time between the server and the client, and the point cloud compression becomes a key problem for promoting the development of the point cloud industry.
The point cloud compression generally adopts a mode of compressing point cloud geometric information and point cloud attribute information respectively. At the encoding end, firstly encoding point cloud geometric information in a geometric encoder to obtain reconstruction geometric information; then inputting the reconstructed geometric information as additional information into an attribute encoder, thereby assisting in compressing the point cloud attribute information; at the decoding end, the point cloud geometric information is decoded in the geometric decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist in compressing the point cloud attribute information. The whole coder consists of preprocessing/post-processing, geometric coding/decoding and attribute coding/decoding.
Fig. 3A is a coding frame of the point cloud compression reference platform PCRM provided by the AVS point cloud compression set, and fig. 3B is a decoding frame of the point cloud compression reference platform PCRM provided by the AVS point cloud compression set.
For PCRM reference software, as shown in FIG. 3A, in the geometric coding part of the coding end, firstly, preprocessing the acquired geometric information, normalizing the geometric origin to the minimum position in the point cloud space through coordinate translation, converting the geometric information from floating point type to integer type through coordinate quantification, and obtaining regularized geometric information, namely obtaining the regularized point cloud space, thereby facilitating the subsequent regularization processing; the regularized geometry information is then geometrically encoded. For example, in some embodiments, the regular point cloud space may be recursively divided by using an octree structure, where each time the current node is divided into eight sub-blocks of the same size, and the occupied codeword condition of each sub-block is determined, and when there is no point in the sub-block, the occupied codeword information of all the blocks is recorded in the last layer of the recursion division, and is coded.
As shown in fig. 3A, geometric information expressed by the octree structure is input into a geometric entropy encoder to form a geometric code stream on the one hand, and geometric reconstruction processing is performed in the encoder on the other hand, and the reconstructed geometric information is input into an attribute encoder as additional information. In the attribute coding part, firstly, preprocessing the acquired attribute information, and because the geometric information is changed after geometric coding, the attribute value needs to be reassigned for each point after geometric coding, the process is called attribute re-coloring, and in addition, if the processed attribute information is color information, the original color also needs to be subjected to color space transformation to be converted into YUV color space which is more in accordance with the visual characteristics of human eyes; and then carrying out attribute coding on the preprocessed attribute information. In some embodiments, for attribute encoding, the point cloud needs to be reordered first, where the reordered manner is morton code, so that the traversal sequence of attribute encoding is morton sequence, the attribute prediction method in PCRM is single-point prediction based on morton sequence, i.e. a point is traced back forward from a current point to be encoded (current node) according to morton sequence, the found point is a prediction reference point (prediction node) of the current point to be encoded, then an attribute reconstruction value of the prediction reference point is taken as an attribute prediction value, and an attribute residual is a difference between the preprocessed attribute value of the current point to be encoded and the attribute prediction value; and finally, quantizing the residual, and inputting the quantized residual into an attribute entropy coder to form an attribute code stream.
At the decoding end, as shown in fig. 3B, a manner of decoding the geometric code stream and the attribute code stream is adopted. In the decoding part of the geometric code stream, entropy decoding is firstly carried out on the geometric code stream to obtain the geometric information of each node, then an octree structure is constructed according to the same mode as geometric coding, the geometric information expressed by the octree structure after coordinate transformation is reconstructed, on one hand, the information is subjected to coordinate inverse quantization and inverse translation to obtain the decoded geometric information, and on the other hand, the decoded geometric information is input into an attribute decoder as additional information. In a decoding part of the attribute code stream, constructing a Morton sequence in the same mode as the encoding end, and firstly entropy decoding the attribute code stream to obtain quantized residual information; then, carrying out inverse quantization on the residual information to obtain a residual value; similarly, according to the same mode as the attribute coding, obtaining an attribute predicted value of the current point to be decoded, and then adding the attribute predicted value and the residual error value to recover a YUV attribute value of the current point to be decoded; finally, the decoded attribute information is obtained through inverse transformation of the color space.
(3) Regularized processing of point cloud
Because of the characteristic of irregular distribution of the point cloud in space, challenges are brought to the encoding process, and therefore, the points in the point cloud are regularly expressed as the center of a cube by adopting a recursive octree structure. As shown in fig. 4A, the entire point cloud is first placed in a square bounding box, and the coordinates of the points in the point cloud are expressed as (x q ,y q ,z q ) Q=0,..q-1, wherein Q is the total number of points of the point cloud, and boundary values of the point cloud in x, y, z directions are as shown in the following formulas (1) to (6):
x min =min(x 0 ,x 1 ,...x q-1 ) Formula (1);
y min =min(y 0 ,y 1 ,...y q-1 ) Formula (2);
z min =min(z 0 ,z 1 ,...z q-1 ) Formula (3);
x max =max(x 0 ,x 1 ,...x q-1 ) Formula (4);
y max =max(y 0 ,y 1 ,...y q-1 ) Formula (5);
z max =max(z 0 ,z 1 ,...z q-1 ) Formula (6);
the origin of the bounding box (x origin ,y origin ,z origin ) Can be calculated according to the following formulas (7) to (9):
x origin =int(floor(x min ) Formula (7);
y origin =int(floor(y min ) Formula (8);
z origin =int(floor(z min ) Formula (9);
the dimensions of the bounding box in the x, y, z directions can be calculated according to the following formulas (10) to (12):
BoudingBoxSize x =int(x max -x origin ) +1 formula (10);
BoudingBoxSize y =int(y max -y origin ) +1 formula (11);
BoudingBoxSize z =int(z max -z origin ) +1 formula (12);
then, as shown in fig. 4B, the square bounding box is first subjected to octree division, so that eight sub-blocks are obtained each time, then non-empty blocks (i.e., blocks containing points) in the sub-blocks are subjected to octree division again, so that the non-empty sub-blocks of a final size are recursively divided until a certain depth, each voxel contains one or more points, the geometric positions of the points are normalized to the center point (node) of the voxel, and the attribute value of the center point takes the average value (original attribute value) of the attribute values of all the points in the voxel.
It will be appreciated that regularizing the point cloud into blocks in space facilitates the description of the point-to-point relationship of the point cloud, and thus enables the expression of a specific coding order, in which each voxel is coded, i.e., the point (or "node") represented by the voxel is coded. One commonly used coding order is the cross-split morton order, and fig. 5 shows the coding order of the morton code in two dimensions, taking blocks of size 8 x 8 as an example, where the order of the arrows represents the coding order of the nodes under the morton order. 501 is the "z" shaped morton coding order of 2 x 2 pixels in a block, 502 is the "z" shaped morton coding order between 4 2 x 2 blocks, 503 is the "z" shaped morton coding order between 4 x 4 blocks, which constitutes the morton coding order of the whole 8 x 8 block. The morton coding order extending into three dimensions is shown in fig. 6, which shows 16 nodes, each inside a "z" word, and the morton coding order between each "z" and "z" is first coded along the x-axis, then along the y-axis, and finally along the z-axis.
(4) Attribute intra prediction in point cloud compression
An attribute intra-frame prediction part in the point cloud compression mainly refers to adjacent nodes of a current node for predicting color attributes, calculates residual information according to attribute predicted values and original attribute values of the current node, carries out processes such as quantization and the like, codes the residual information into a code stream and transmits the coded stream to a decoding end; after receiving and analyzing the code stream, the decoding end obtains residual information through steps of inverse transformation, inverse quantization and the like, predicts the residual information in the same process to obtain an attribute predicted value, and superimposes the attribute predicted value with the residual information to obtain an attribute reconstruction value of the current node.
In the process, the geometric relation between nodes is utilized in the attribute intra-frame prediction, the geometric coplanarity and the collineation node of the current node are taken as prediction nodes, meanwhile, the condition that the prediction nodes need to meet is that the prediction nodes are encoded before the current node, then the weight value is set to be the inverse of the Euclidean distance between the prediction nodes and the current node multiplied by 2, namely the coplanarity node weight is 2, the collineation node weight is 1, the weighted average value of the attribute reconstruction values of all the prediction nodes is calculated to be the attribute prediction value (particularly, for the first node of the encoding, no reference point is used for prediction, and the attribute prediction value is directly set to be 0). The prediction node is determined according to the following two conditions:
the condition a) and the current node meet the coplanarity and collinearly relation;
condition b) is encoded before the current node.
Assuming the current node O has a number of 7, as shown in fig. 7, for a total of 6 faces, 12 edges, as shown in fig. 7A, the coplanar nodes have 3, 5, 6, 14, 21 and 35, and as shown in fig. 7B, the collinear nodes have 1, 2, 4, 10, 12, 17, 20, 28, 33, 34, 42 and 49.
Of all these coplanar nodes and collinear nodes, the nodes that always satisfy the "code before current node" condition are coplanar nodes 3, 5 and 6 and collinear nodes 1, 2 and 4, so the predicted nodes are coplanar nodes 3, 5 and 6 and collinear nodes 1, 2 and 4, and the weighted average of the attribute predicted values of the current node as the attribute reconstructed values of all the predicted nodes is calculated according to the following equation (13):
Wherein,reconstructing values, w, for attributes of a predicted node i For the weight of the predicted node, w is when the predicted node is a null node i =0。
Assuming that all the prediction nodes are empty nodes, the morton preamble point of the current node (i.e. the node before in the morton coding order, which must meet the coding before the current node) is directly used as the prediction node, and the attribute prediction value is the attribute reconstruction value of the morton preamble point.
(5) Attribute intra-prediction location in a point cloud coding framework
As shown in fig. 3A and 3B, the technology acts on the intra-prediction part in the PCRM point cloud coding framework, and acts on the coding end and the decoding end simultaneously, and since the codec framework of the relevant PCRM only involves a single frame, the attribute prediction is specifically referred to as intra-prediction.
The implementation of the attribute encoder of the PCRM is as follows. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by an octree, nodes in each voxel respectively perform intra-frame prediction process calculation attribute prediction values according to Morton coding sequence, the following processes a 1), c 1) and d 1) are performed for a first node of coding, and the following processes b 1), c 1) and d 1) are performed for other nodes:
a1 When the current node is the first node of the code, no reference point predicts at the moment, and the attribute predicted value is directly set to 0;
b1 With coplanar nodes 3, 5 and 6 and collinear nodes 1, 2 and 4 of the current node as prediction nodes, a weighted average of the attribute reconstruction values of all the prediction nodes is calculated according to the following formula (14), and the value is taken as the attribute prediction value of the current node:
wherein,reconstructing values, w, for attributes of a predicted node i For the weight of the predicted node, w is when the predicted node is a null node i =0。
When all the prediction nodes are empty nodes, the Morton preamble point of the current node (namely 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 the attribute reconstruction value of the Morton preamble point;
c1 The residual error is the difference between the original attribute value and the attribute predicted value of the current point, and then the residual error is subjected to operations such as transformation, quantization and the like;
d1 And (3) superposing the attribute predicted value and residual information after operations such as dequantization and the like to obtain an attribute reconstruction value of the current node, wherein the attribute reconstruction value is used as reference information of a subsequent coding unit.
The implementation of the attribute decoder for PCRM is as follows. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by octree, nodes in each voxel respectively perform intra-prediction process calculation attribute prediction values according to the same Morton order as the encoding process, a 2) and c 2) processes are performed on the first node of decoding, and b 2) and c 2) processes are performed on the rest points:
a2 When the current node is the first node of decoding, no reference point is used for prediction, and the attribute predicted value is directly set to 0;
b2 With coplanar nodes 3, 5 and 6 and collinear nodes 1, 2 and 4 of the current node as prediction nodes, a weighted average of the attribute reconstruction values of all the prediction nodes is calculated according to the following formula (15), and the value is taken as the attribute prediction value of the current node:
wherein,reconstructing values, w, for attributes of a predicted node i For the weight of the predicted node, w is when the predicted node is a null node i =0。
When all the prediction nodes are empty nodes, the Morton preamble point of the current node (namely the node before in Morton order, which is necessarily decoded before the current node) is directly taken as the prediction node, and the attribute prediction value is the attribute reconstruction value of the Morton preamble point;
c2 Reading residual information of the current node from the code stream, and superposing the residual information with an attribute predicted value of the current node after operations such as dequantization and the like to obtain an attribute reconstructed value of the current node, wherein the attribute reconstructed value can be used as reference information of a subsequent coding unit.
However, the above intra-frame prediction method adopted by the PCRM locally uses the reference information of the coplanar and/or collinear nodes of the current node, uses only the coplanar nodes and the collinear nodes on the left, front and lower sides of the current node as prediction nodes, and cannot use the reference information from the right, rear and upper sides of the current node, thereby resulting in inaccurate intra-frame prediction and further affecting the improvement of the coding efficiency.
In view of this, the embodiments of the present application provide an intra-frame prediction method, which is applicable to an encoding end, and the method may be applied to an electronic device with information processing capability, where the electronic device may be any device with a point cloud video encoding and decoding function or only an encoding function, such as a television, a projector, a mobile phone, a computer, a tablet computer, a Virtual Reality (VR) headset, and the like. The functions performed by the intra prediction method may be performed by a processor in the electronic device invoking program code, which may of course be stored in a computer storage medium. It can be seen that the electronic device comprises at least a processor and a storage medium.
Fig. 8 is a schematic flow chart of an implementation of an intra 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, determining whether the coplanar node of the current node meets the condition; if so, go to step 82; otherwise, go to step 83; wherein the condition is a non-null node encoded before the current node;
in some embodiments, step 81 may be performed in the event that the current node is not the first node to be encoded; in the case that the current node is the first node to be encoded, the attribute predicted value of the current node is given to a constant, and intra-prediction of the node is completed, wherein the constant may be any value, for example, the constant is 0.
It will be appreciated that the decoding order is consistent with the encoding order. Thus, the first node to be encoded here refers to the first node ordered in a particular encoding order.
Step 82, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value;
it will be appreciated that if a coplanar node is a non-null node encoded prior to the current node, the attribute reconstruction value for that node is "available" and therefore the attribute reconstruction value for that coplanar node may be taken as the attribute value.
If the coplanar node does not meet the condition, that is, the coplanar node is an empty node or the coplanar node is not coded before the current node, it is indicated that the attribute reconstruction value of the node is "unavailable", and at this time, the attribute value of the coplanar node that does not meet the condition may be obtained according to step 83, or the attribute value of the coplanar node that does not meet the condition may also be obtained according to a preset first constant. For example, the preset first constant is used as the attribute value of the coplanar node which does not meet the condition. Wherein the first constant may be any value.
Step 83, obtaining attribute values of coplanar nodes which do not meet the conditions according to the attribute reconstruction values of the interpolation nodes; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
In some embodiments, step 83 may be implemented as follows: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition. The attribute reconstruction value of which node among all interpolation nodes using the coplanar node that does not satisfy the condition is not limited in this application as the attribute value of the coplanar node that does not satisfy the condition. For example, the attribute reconstruction value of the node with the smallest distance (such as euclidean distance) from the coplanar node or less than the distance threshold value in all the interpolation nodes may be used as the attribute value of the coplanar node which does not satisfy the condition.
Step 84, obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
in some embodiments, step 84 may be implemented as follows: taking the M coplanar nodes as prediction nodes; and 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. For example, the M coplanar nodes are all coplanar nodes of the current node, so that it is equivalent to determining all coplanar nodes meeting the condition and all coplanar nodes not meeting the condition of the current node as the prediction nodes, so that accuracy of intra-frame prediction of the current node can be improved, and coding efficiency is improved.
In other embodiments, step 84 may also be implemented by steps 105 and 106 of the following embodiments.
Note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node. In this way, when the attribute prediction is performed on the current node, the accuracy of intra-frame prediction can be further improved due to the consideration of the attribute values of all the coplanar nodes, so that the coding efficiency is improved.
Of course, in other embodiments, the M coplanar nodes may not be all coplanar nodes of the current node. For example, the M coplanar nodes include at least all coplanar nodes encoded before the current node and one or more coplanar nodes not encoded before the current node; in this way, since the influence of one or more coplanar nodes not encoded before the current node on attribute prediction is considered, the accuracy of intra prediction can still be improved, thereby improving encoding efficiency.
It can be understood that, in the embodiment of the present application, when predicting the attribute of the current node, for the attribute reconstruction value of the coplanar node that does not meet the condition of the current node, the attribute reconstruction value of the interpolation node of the coplanar node that does not meet the condition is interpolated; therefore, the electronic equipment can use the attribute reconstruction value of the coplanar node which does not meet the condition to conduct attribute prediction of the current node, namely, compared with the related technology, when the electronic equipment conducts attribute prediction, the method is based on the coplanar node which meets the condition and the collinear node which meets the condition, and conducts intra-frame prediction by combining the attribute reconstruction value of the coplanar node which does not meet the condition, so that the method considers more information for the attribute prediction of the current node, and the accuracy of intra-frame prediction can be improved, and the coding efficiency is improved.
Accordingly, the embodiment of the application provides an intra-frame prediction method, which is applicable to a decoding end, and the method can be applied to an electronic device with information processing capability, wherein the electronic device can be any device with a point cloud video coding and decoding function or only with a decoding function, such as a television, a projector, a mobile phone, a computer, a tablet computer, a Virtual Reality (VR) head-mounted device and the like. The functions performed by the intra prediction method may be performed by a processor in the electronic device invoking program code, which may of course be stored in a computer storage medium. It can be seen that the electronic device comprises at least a processor and a storage medium.
Fig. 9 is a schematic flowchart of an implementation of an intra 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, determining whether the coplanar node of the current node meets the condition; if so, go to step 92; otherwise, go to step 93; wherein the condition is a non-null node decoded before the current node;
in some embodiments, step 91 may be performed in the event that the current node is not the first node to be decoded; in the case that the current node is the first node to be decoded, the attribute predicted value of the current node is given to a constant, and intra prediction of the node is completed, wherein the constant may be any value, for example, the constant is 0.
It will be appreciated that the decoding order is consistent with the encoding order. Thus, the first node to be decoded here refers to the first node ordered in a particular coding order.
Step 92, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value;
it will be appreciated that if a coplanar node is a non-null node decoded before the current node, the attribute reconstruction value for that node is "available" and therefore the attribute reconstruction value for that coplanar node may be taken as the attribute value.
If the coplanar node does not meet the condition, that is, the coplanar node is an empty node or the coplanar node is not decoded before the current node, it is indicated that the attribute reconstruction value of the node is "unavailable", and at this time, the attribute value of the coplanar node that does not meet the condition may be obtained according to step 93, or the attribute value of the coplanar node that does not meet the condition may also be obtained according to a preset first constant. For example, the preset first constant is used as the attribute value of the coplanar node which does not meet the condition. Wherein the first constant may be any value.
Step 93, obtaining attribute values of coplanar nodes which do not meet the conditions according to the attribute reconstruction values of the interpolation nodes; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
In some embodiments, step 93 may be implemented as follows: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition. The attribute reconstruction value of which node among all interpolation nodes using the coplanar node that does not satisfy the condition is not limited in this application as the attribute value of the coplanar node that does not satisfy the condition. For example, the attribute reconstruction value of the node with the smallest distance (such as euclidean distance) from the coplanar node or less than the distance threshold value in all the interpolation nodes may be used as the attribute value of the coplanar node which does not satisfy the condition.
Step 94, obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
in some embodiments, step 94 may be implemented as follows: taking the M coplanar nodes as prediction nodes; and 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. For example, the M coplanar nodes are all coplanar nodes of the current node, so that it is equivalent to determining all coplanar nodes meeting the condition and all coplanar nodes not meeting the condition of the current node as the prediction nodes, and thus, the accuracy of intra-frame prediction of the current node can be improved.
In other embodiments, step 94 may also be implemented by steps 115 and 116 of the following embodiments.
Note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node. In this way, when predicting the attribute of the current node, the accuracy of intra-frame prediction can be further improved because the attribute values of all the coplanar nodes are considered.
Of course, in other embodiments, the M coplanar nodes may not be all coplanar nodes of the current node. For example, the M coplanar nodes include at least all coplanar nodes decoded prior to the current node and one or more coplanar nodes not decoded prior to the current node; in this way, the accuracy of intra-prediction can still be improved, since the influence of one or more coplanar nodes, which were not decoded before the current node, on the attribute prediction is taken into account.
It can be understood that, in the embodiment of the present application, when predicting the attribute of the current node, for the attribute reconstruction value of the coplanar node that does not meet the condition of the current node, the attribute reconstruction value of the interpolation node of the coplanar node that does not meet the condition is interpolated; therefore, the electronic equipment can use the attribute reconstruction value of the coplanar node which does not meet the condition to conduct attribute prediction of the current node, namely, compared with the related technology, when the electronic equipment conducts attribute prediction, the method is based on the coplanar node which meets the condition and the collinear node which meets the condition, and conducts intra-frame prediction by combining the attribute reconstruction value of the coplanar node which does not meet the condition, and therefore the method considers more information for the attribute prediction of the current node, and accuracy of intra-frame prediction can be improved.
An embodiment of the present application further provides an intra prediction method, where the method is applied to a coding end, and fig. 10 is a schematic flow chart of implementation of the intra prediction method of the embodiment of the present application, as shown in fig. 10, where the method may include the following steps 101 to 108:
step 101, determining whether coplanar nodes of a current node meet a condition; if yes, go to step 102; otherwise, go to step 103; wherein the condition is a non-null node encoded before the current node;
102, taking an attribute reconstruction value of a coplanar node meeting a condition as an attribute value;
step 103, determining a weight value of each interpolation node of the coplanar nodes which do not meet the condition; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
in some embodiments, the interpolation node satisfies the condition. Thus, based on the weight value of each 'available' interpolation node of the coplanar nodes which do not meet the condition, the attribute value of the coplanar nodes which do not meet the condition is obtained.
The method of determining the weight value of the interpolation node may be varied. For example, the weight value of the interpolation node may be determined based on the euclidean distance; for another example, a constant may be given to the weight value of the interpolation node.
For example, in some embodiments, the weight value of the interpolation node that does not satisfy the condition is determined as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant. Thus, compared with the method for determining the weight value based on the Euclidean distance, the method for setting the fixed constant saves the calculation process of the weight value, thereby improving the coding efficiency.
The second constant and the third constant may be any values. For example, in some embodiments, the preset second constant is 0 and the preset third constant is 1; in this way, when determining the attribute value of the coplanar node which does not satisfy the condition, the interpolation node which does not satisfy the condition is not considered; therefore, the accuracy of the attribute reconstruction value of the coplanar node which does not meet the condition can be improved, so that the accuracy of the attribute prediction value of the current node is improved, and the coding efficiency is improved.
104, carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition;
step 105, obtaining K prediction nodes according to M coplanar nodes of the current node; wherein K is an integer greater than 0;
Note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
In some embodiments, step 105 may be implemented by step 124 of the following embodiment.
It should be noted that, the size of K is independent of the size of M, and K may be greater than M, may be equal to M, or may be less than M for different nodes. K may be any positive integer. For example, K is a power of 2. It can be appreciated that K is a power of 2, and thus, a weighted average operation can be rapidly implemented by a divider composed of an adder, a multiplier, and a shifter, so that coding efficiency can be improved.
Step 106, predicting the attribute of the current node according to the attribute value of the predicted node to obtain an attribute predicted value of the current node;
in some embodiments, step 106 may be implemented by steps 125 through 128 of the following embodiments.
Step 107, analyzing the residual error of the current node from the received attribute code stream;
and step 108, determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
Accordingly, the embodiment of the present application further provides an intra prediction method, which is applied to a decoding end, and fig. 11 is a schematic flow chart of implementation of the intra prediction method of the embodiment of the present application, as shown in fig. 11, and the method may include the following steps 111 to 118:
Step 111, determining whether the coplanar node of the current node meets a condition; if so, go to step 112; otherwise, go to step 113; wherein the condition is a non-null node decoded before the current node;
step 112, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value;
step 113, determining a weight value of each interpolation node of the coplanar nodes which do not meet the condition; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
in some embodiments, the interpolation node satisfies the condition. Thus, based on the weight value of each 'available' interpolation node of the coplanar nodes which do not meet the condition, the attribute value of the coplanar nodes which do not meet the condition is obtained.
The method of determining the weight value of the interpolation node may be varied. For example, the weight value of the interpolation node may be determined based on the euclidean distance; for another example, a constant may be given to the weight value of the interpolation node.
For example, in some embodiments, the weight value of the interpolation node that does not satisfy the condition is determined as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant. Thus, compared with the method for determining the weight value based on the Euclidean distance, the method for setting the fixed constant saves the calculation process of the weight value, thereby improving the decoding efficiency.
The second constant and the third constant may be any values. For example, in some embodiments, the preset second constant is 0 and the preset third constant is 1; in this way, when determining the attribute value of the coplanar node which does not satisfy the condition, the interpolation node which does not satisfy the condition is not considered; therefore, the accuracy of the attribute reconstruction value of the coplanar node which does not meet the condition can be improved, and the accuracy of the attribute prediction value of the current node is improved.
Step 114, performing weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition;
step 115, obtaining K predicted nodes according to M coplanar nodes of the current node; wherein K is an integer greater than 0;
note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
In some embodiments, step 115 may be implemented by step 134 of the following embodiment.
It should be noted that, the size of K is independent of the size of M, and K may be greater than M, may be equal to M, or may be less than M for different nodes. K may be any positive integer. For example, K is a power of 2. It can be appreciated that K is a power of 2, and thus, a weighted average operation can be rapidly implemented by a divider composed of an adder, a multiplier, and a shifter, thereby enabling an improvement in decoding efficiency.
Step 116, predicting the attribute of the current node according to the attribute value of the predicted node to obtain an attribute predicted value of the current node;
in some embodiments, step 116 may be implemented by steps 135 through 138 of the following embodiments.
Step 117, analyzing the residual error of the current node from the received attribute code stream;
and step 118, determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
An embodiment of the present application further provides an intra prediction method, where the method is applied to a coding end, fig. 12 is a schematic flowchart of an implementation of the intra prediction method of the embodiment of the present application, and as shown in fig. 12, the method may include the following steps 121 to 1210:
step 121, determining whether the coplanar node of the current node meets a condition; if so, go to step 122; otherwise, go to step 123; wherein the condition is a non-null node encoded before the current node;
step 122, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value;
step 123, obtaining the attribute value of the coplanar node which does not meet the condition according to the attribute reconstruction value of the interpolation node; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
Step 124, obtaining K prediction nodes according to the specific coding sequence of M coplanar nodes of the current node; wherein,
determining the coplanar node as the predicted node when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition with at least one interpolation node satisfying the condition;
when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; the particular coding order may be varied. For example, the specific coding order is morton order. It can be understood that in most cases, the closer the encoding order is, the closer the attribute of the node is to the current node, so in the embodiment of the present application, the first K nodes, which are ordered according to the specific encoding order, in the nodes corresponding to the total number of the nodes are used as prediction nodes, so that accuracy of intra-frame prediction is improved.
Determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes. It can be appreciated that in the case of an insufficient total number of nodes, the number of nodes is complemented by a filling method, and the attribute predicted value of the current node is determined based on the number of nodes, so that the accuracy of the value can be improved.
For step 124, for example, assuming K is a fixed number, e.g., k=2, assuming m=6, and the M coplanar nodes are ordered 1, 2, 3, 4, 5, and 6 in a particular coding order, then step 124 may be implemented as follows: if the coplanar node 1 is the coplanar node meeting the condition or at least one interpolation node meets the coplanar node not meeting the condition, taking the coplanar node 1 as 1 prediction node, then determining whether the coplanar node 2 is taken as a 2 nd prediction node as a method for determining whether the coplanar node 1 predicts the node, if the coplanar node 2 can also be taken as the prediction node, selecting K prediction nodes at the moment, ending, and not judging the subsequent coplanar node any more, but entering step 125; otherwise, if the coplanar node 2 is a coplanar node which does not meet the condition and all interpolation nodes of the node do not meet the condition, the node is not taken as a prediction node, and whether the coplanar node 3 can be taken as the prediction node is continuously judged at the moment, so that K prediction nodes are selected; of course, if after judging the coplanar nodes 6, there are only 1, that is, less than K, prediction nodes selected finally, the K prediction nodes are complemented by using a filling method.
The manner of filling can be varied. In some embodiments, the attribute value of the first node in the nodes corresponding to the total number of nodes and ordered according to the specific coding sequence may be determined as the attribute value of the filling node; it can be appreciated that intra-prediction results are more accurate than using attribute reconstruction values of other nodes as padding values. Of course, in some embodiments, 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.
In other embodiments, a mean or weighted average of attribute values of the nodes corresponding to the total number of nodes may be further determined as the attribute value of the filling node; the intra prediction result may be more accurate than the first embodiment.
In other embodiments, the average of the attribute values of the coplanar nodes and/or collinear nodes of the first node may also be determined as the attribute value of the filling node; this embodiment may be more accurate than the first embodiment.
In other embodiments, a preset fourth constant may also be determined as the attribute value of the filling node. Compared with the three embodiments, the fixed constant is adopted as the filling value, and the calculation process of the filling value can be saved on the premise of ensuring the accuracy of intra-frame prediction, so that the coding efficiency is improved.
Step 125, determining whether each of the prediction nodes belongs to the coplanar nodes that do not satisfy the condition and whether all interpolation nodes of each of the prediction nodes do not satisfy the condition; if so, go to step 126; otherwise, execute 127;
that is, if each of the predicted nodes belongs to the coplanar node that does not satisfy the condition and all of the interpolation nodes of each of the predicted nodes do not satisfy the condition, step 126 is performed; it will be appreciated that in this case, the attribute predicted value of the current node is determined from the attribute reconstructed value of the preceding node of the current node; thus, not only the intra-frame prediction of the current node can be realized, but also the prediction result is more accurate.
Step 127 is performed if any of the predicted nodes is the co-planar node satisfying the condition, or if any of the predicted nodes is the co-planar node not satisfying the condition and at least one interpolation node of the co-planar node not satisfying the condition satisfies the condition.
Step 126, determining an attribute predicted value of the current node according to the attribute reconstruction value of at least one node which completes encoding before the current node, and then proceeding to step 129.
The attribute prediction is performed according to the attribute reconstruction values of how many nodes that have completed encoding before the current node, which is not limited in the embodiment of the present application. In some embodiments, the attribute reconstruction value of the node that completed encoding before the current node is determined as the attribute prediction value of the current node.
For example, when all the prediction nodes are empty nodes, the morton preamble point of the current node (i.e. the node before in morton order, which must be encoded before the current node) is directly used as the prediction node, and the attribute prediction value is the attribute reconstruction value of the morton preamble point.
Note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
Step 127, determining a weight value of each prediction node;
the weight value of the prediction node may be determined based on the euclidean distance, or may be given 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; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant. Thus, compared with the method for determining the weight value based on the Euclidean distance, the method for setting the 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.
In some embodiments, the preset fifth constant and the preset seventh constant are 1 and the preset sixth constant is 0. Thus, when determining the attribute predicted value of the current node, the predicted nodes which belong to the coplanar nodes which do not meet the condition and all interpolation nodes do not meet the condition are not considered; thus, the accuracy of the attribute predicted value of the current node can be improved.
In some embodiments, the preset fifth constant is greater than or equal to the preset seventh constant. Thus, the accuracy of the attribute predicted value of the current node can be improved.
And 128, performing 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, and then proceeding to 129.
For step 128, in some embodiments, this may be accomplished: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node. Thus, the weighted average calculation can be realized through the multiplier, the adder and the shifter; therefore, the attribute predicted value can be obtained quickly, and the coding efficiency is improved.
Step 129, parsing out the residual error of the current node from the received attribute code stream;
and step 1210, determining an attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual error.
Accordingly, the embodiment of the present application further provides an intra prediction method, which is applied to a decoding end, and fig. 13 is a schematic flow chart of implementation of the intra prediction method of the embodiment of the present application, as shown in fig. 13, and the method may include the following steps 131 to 1310:
step 131, determining whether the coplanar node of the current node meets a condition; if so, go to step 132; otherwise, go to step 133; wherein the condition is a non-null node decoded before the current node;
step 132, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value;
step 133, obtaining attribute values of coplanar nodes which do not meet the conditions according to the attribute reconstruction values of the interpolation nodes; wherein the interpolation node is a coplanar node of the coplanar node which does not meet the condition and a collinear node of the current node;
step 134, obtaining K prediction nodes according to the specific coding sequence of M coplanar nodes of the current node; wherein,
Determining the coplanar node as the predicted node when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition with at least one interpolation node satisfying the condition;
when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; the particular coding order may be varied. For example, the specific coding order is morton order. It can be understood that in most cases, the closer the encoding order is, the closer the attribute of the node is to the current node, so in the embodiment of the present application, the first K nodes, which are ordered according to the specific encoding order, in the nodes corresponding to the total number of the nodes are used as prediction nodes, so that accuracy of intra-frame prediction is improved.
Determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes. It can be appreciated that in the case of an insufficient total number of nodes, the number of nodes is complemented by a filling method, and the attribute predicted value of the current node is determined based on the number of nodes, so that the accuracy of the value can be improved.
For step 134, for example, assuming K is a fixed number, e.g., k=2, assuming m=6, and the M coplanar nodes are ordered 1, 2, 3, 4, 5, and 6 in a particular coding order, then step 134 may be implemented as follows: if the coplanar node 1 is the coplanar node meeting the condition or at least one interpolation node meets the coplanar node not meeting the condition, taking the coplanar node 1 as 1 prediction node, then determining whether the coplanar node 2 is taken as a 2 nd prediction node as a method for determining whether the coplanar node 1 predicts the node, if the coplanar node 2 can also be taken as the prediction node, selecting K prediction nodes at the moment, ending, and not judging the subsequent coplanar node any more, but entering step 135; otherwise, if the coplanar node 2 is a coplanar node which does not meet the condition and all interpolation nodes of the node do not meet the condition, the node is not taken as a prediction node, and whether the coplanar node 3 can be taken as the prediction node is continuously judged at the moment, so that K prediction nodes are selected; of course, if after judging the coplanar nodes 6, there are only 1, that is, less than K, prediction nodes selected finally, the K prediction nodes are complemented by using a filling method.
The manner of filling can be varied. In some embodiments, the attribute value of the first node in the nodes corresponding to the total number of nodes and ordered according to the specific coding sequence may be determined as the attribute value of the filling node; it can be appreciated that intra-prediction results are more accurate than using attribute reconstruction values of other nodes as padding values. Of course, in some embodiments, 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.
In other embodiments, a mean or weighted average of attribute values of the nodes corresponding to the total number of nodes may be further determined as the attribute value of the filling node; the intra prediction result may be more accurate than the first embodiment.
In other embodiments, the average of the attribute values of the coplanar nodes and/or collinear nodes of the first node may also be determined as the attribute value of the filling node; this embodiment may be more accurate than the first embodiment.
In other embodiments, a preset fourth constant may also be determined as the attribute value of the filling node. Compared with the three embodiments, the fixed constant is adopted as the filling value, and the calculation process of the filling value can be saved on the premise of ensuring the accuracy of intra-frame prediction, so that the decoding efficiency is improved.
Step 135, determining whether each of the prediction nodes belongs to the coplanar nodes which do not meet the condition and whether all interpolation nodes of each of the prediction nodes do not meet the condition; if so, go to step 136; otherwise, execute 137;
that is, if each of the predicted nodes belongs to the coplanar node that does not satisfy the condition and all of the interpolation nodes of each of the predicted nodes do not satisfy the condition, step 136 is performed; it will be appreciated that in this case, the attribute predicted value of the current node is determined from the attribute reconstructed value of the preceding node of the current node; thus, 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 if any of the predicted nodes is the coplanar node satisfying the condition, or if any of the predicted nodes is the coplanar node not satisfying the condition and at least one interpolation node of the coplanar node not satisfying the condition satisfies the condition.
Step 136, determining an attribute predicted value of the current node according to the attribute reconstruction value of at least one node which completes decoding before the current node, and then proceeding to step 139.
The attribute prediction is performed according to the attribute reconstruction values of how many nodes that have completed decoding before the current node, which is not limited in the embodiment of the present application. In some embodiments, the attribute reconstruction value of the node that completed decoding before the current node is determined as the attribute prediction value of the current node.
For example, when all the prediction nodes are empty nodes, the morton preamble point of the current node (i.e. the node before in morton order, which must be decoded before the current node) is directly used as the prediction node, and the attribute prediction value is the attribute reconstruction value of the morton preamble point.
Note that M may be any value. In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
Step 137, determining a weight value of each prediction node;
the weight value of the prediction node may be determined based on the euclidean distance, or may be given 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; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant. Thus, compared with the method for determining the weight value based on the Euclidean distance, the method for setting the 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.
In some embodiments, the preset fifth constant and the preset seventh constant are 1 and the preset sixth constant is 0. Thus, when determining the attribute predicted value of the current node, the predicted nodes which belong to the coplanar nodes which do not meet the condition and all interpolation nodes do not meet the condition are not considered; thus, the accuracy of the attribute predicted value of the current node can be improved.
In some embodiments, the preset fifth constant is greater than or equal to the preset seventh constant. Thus, the accuracy of the attribute predicted value of the current node can be improved.
And 138, performing 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, and then proceeding to step 139.
For step 138, in some embodiments, this may be accomplished: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node. Thus, the weighted average calculation can be realized through the multiplier, the adder and the shifter; therefore, the attribute predicted value can be obtained quickly, and the decoding efficiency is improved.
Step 139, analyzing the residual error of the current node from the received attribute code stream;
and 1310, determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
The embodiment of the application provides a point cloud coding method, which comprises the following steps: executing the steps in the intra-frame prediction method as described by the encoding end on the current node of the point cloud to obtain an attribute predicted value of the current node; determining a residual error between the attribute predicted value of the current node and the original attribute value of the current node; and encoding the residual error of the current node into an attribute code stream.
It should be noted that the description of the above embodiment of the encoding method is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar advantageous effects as the embodiment of the method. For technical details not disclosed in the encoding method embodiments of the present application, please refer to the description of the intra prediction method embodiments of the encoding end of the present application for understanding.
The embodiment of the application provides a point cloud decoding method, which comprises the following steps: analyzing the received attribute code stream to obtain the residual error of the current node; executing steps in the intra-frame prediction method as described by a decoding end on the current node to obtain an attribute predicted value of the current node; and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
It should be noted that the description of the above embodiment of the decoding method is similar to the description of the above embodiment of the intra prediction method at the decoding end, and has similar advantageous effects as the embodiment of the method. For technical details not disclosed in the decoding method embodiments of the present application, please refer to the description of the intra prediction method embodiments of the decoding end of the present application for understanding.
An exemplary application of the embodiments of the present application in a practical application scenario will be described below.
The technical scheme of the embodiment of the application is implemented at the encoding and decoding end, and the technical scheme of the embodiment of the application is implemented when the intra-frame prediction is carried out, and the technical scheme provides an intra-frame prediction enhancement algorithm based on an interpolation process aiming at all points.
The concept to be defined is the "availability" of the predicted node, and when the predicted node of the current node can be encoded before the current node and is a non-null node, the predicted node is called available, and the predicted node is not available when any condition is not satisfied. For the decoding end, 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 called available, and any condition is not met, namely the prediction node is unavailable.
An example of intra prediction at the encoding end is as follows, namely, example 1 as referred to below. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by an octree, nodes in each voxel respectively perform an intra-frame prediction process according to a Morton coding sequence, so that an attribute predicted value is obtained by calculation, a 3), e 3) and f 3) processes are performed for a first node of coding, and b 3), c 3), d 3), e 3) and f 3) processes are performed for the rest points:
a3 When the current node is the first node of the code, no reference point is used for prediction, and the attribute predicted value of the current node is directly set to 0;
b3 As shown in fig. 14, taking all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, when the prediction nodes are available, referring to the attribute reconstruction values of the available prediction nodes by the attribute values, and when the prediction nodes are unavailable, executing the step c 3) to interpolate the attribute values of the unavailable prediction nodes;
c3 Interpolation values of the unavailable prediction nodes are obtained through interpolation of the attribute reconstruction values of the interpolation nodes of the unavailable prediction nodes (simultaneously, collinear nodes of the current node), the interpolation method is shown in the following formula (16), and a weighted average value of the attribute reconstruction values of all interpolation nodes is calculated according to the formula. Wherein interpolation nodes of unavailable prediction nodes are shown in fig. 15.
Wherein,reconstructing a value for the attribute of the interpolation node j; the method for taking the weight value is as follows: if for some unavailable prediction node i, its interpolation node j is unavailable, then there is w j =0, otherwise w j =1. When all interpolation nodes of the unavailable prediction nodes are unavailable, the interpolation fails, and the weight of the unavailable prediction nodes is 0;
d3 Calculating a weighted average of attribute values of all the predicted nodes as an attribute predicted value of the current node according to the following equation (17):
wherein,to predict the attribute value of a node, w i For the weight of the predicted node, when the predicted node is an unavailable node and interpolation fails, w i =0, otherwise w i =1。
Assuming that all the predicted nodes are coplanar nodes which do not meet the condition and interpolation fails, directly taking the Morton preamble point of the current node (namely the previous node in Morton order, which is necessarily decoded before the current node) as the predicted node, wherein the attribute predicted value is the attribute reconstruction value of the Morton preamble point;
e3 The residual error is the difference between the original attribute value and the attribute predicted value of the current node, and then the residual error is subjected to operations such as transformation, quantization and the like;
f3 And (3) superposing the attribute predicted value with residual information after the operations of inverse quantization, inverse transformation and the like to obtain an attribute reconstruction value of the current node, wherein the attribute reconstruction value is used as reference information of a subsequent coding unit.
An intra prediction at the decoding end is exemplified as follows, namely as example 1. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by an octree, nodes in each voxel respectively perform an intra-prediction process according to the same Morton order as the encoding process, so as to calculate an attribute predicted value, the following a 4) and e 4) processes are performed for the first node of decoding, and the following b 4), c 4), d 4) and e 4) processes are performed for the rest of the points:
a4 When the current node is the first node of decoding, no reference point is used for prediction, and the attribute predicted value is directly set to 0;
b4 Taking all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, when the prediction nodes are available, referencing the attribute reconstruction values of the available prediction nodes, and when the prediction nodes are unavailable, executing the step c 4) to interpolate the attribute values of the unavailable prediction nodes;
c4 Interpolation of the attribute reconstruction values of the unavailable prediction node by the interpolation node (simultaneously, the collinear node of the current node) of the unavailable prediction node, wherein the interpolation method is shown in the following formula (18), and the weighted average value of the attribute reconstruction values of all the interpolation nodes is calculated according to the formula:
Wherein,reconstructing a value for the attribute of the interpolation node j; the weight value taking method comprises the following steps: if for some unavailable prediction node i, its interpolation node j is unavailable, then there is w j =0, otherwise w j =1. When all interpolation nodes of the unavailable prediction nodes are unavailable, the interpolation fails, and the weight of the unavailable prediction nodes is 0;
d4 Calculating a weighted average of attribute values of all the predicted nodes according to the following formula (19), the value being the attribute predicted value of the current node:
wherein,to predict the attribute value of a node, w i For the weight of the predicted node, when the predicted node is an unavailable node and interpolation fails, w i =0, otherwise w i =1。
Assuming that all the predicted nodes are unavailable nodes and interpolation fails, directly taking the Morton preamble point of the current node (namely the previous node in Morton order, which is necessarily decoded before the current node) as the predicted node, wherein the attribute predicted value is the attribute reconstruction value of the Morton preamble point;
e4 Reading residual information of the current node from the code stream, and superposing the residual information with an attribute predicted value of the current node after operations such as inverse quantization, inverse transformation and the like to obtain an attribute reconstructed value of the current node, wherein the attribute reconstructed value is used as reference information of a subsequent decoding unit.
It should be noted that the technical solution of the above embodiment 1 acts on the intra prediction portion in the codec frame shown in fig. 3A and 3B.
The intra-prediction enhancement technique based on interpolation process may employ a variety of interpolation methods including, but not limited to, weighted average, near point copy, padding fixed values, etc.;
the intra-prediction enhancement technique based on interpolation process may employ various weight value selection methods including, but not limited to, euclidean distance-based weights, fixed constant weights, and the like.
Another example of intra prediction at the encoding end in this solution is as follows, namely, example 2 as follows. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by an octree, nodes in each voxel respectively perform an intra-frame prediction process according to a Morton coding sequence, so that an attribute predicted value is obtained by calculation, a 5), f 5) and g 5) processes are performed on a first node of coding, and b 5), c 5), d 5), e 5), f 5) and g 5) processes are performed on the rest points:
a5 When the current node is the first node of the code, no reference point is used for prediction, and the attribute predicted value is directly set to 0;
b5 Taking K nodes in all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, and selecting the mode as described in the step d 5); when a node is available, referring to the attribute reconstruction value of the available node, and when the node is not available, executing step c 5) to interpolate the attribute value of the unavailable node;
c5 Interpolation of the attribute reconstruction values of the unavailable node by the interpolation node (simultaneously, the collinear node of the current node) of the unavailable node, wherein the interpolation method is shown in the following formula (20), and the weighted average value of the attribute reconstruction values of all the interpolation nodes is calculated according to the formula:
wherein,reconstructing a value for the attribute of the interpolation node j; the weight value taking method comprises the following steps: if for some unavailable node i, its interpolation node j is unavailable, then there is w j =0, otherwise w j =1. When all interpolation nodes of the coplanar nodes which do not meet the condition are unavailable, the interpolation fails, and the weight of the unavailable node is 0;
d5 The reference range is 3, 5, 6, 14, 21 and 35 plus the unavailable node with successful interpolation, if the reference range is more than or equal to K, the first K nodes in the reference range are directly taken as prediction nodes; if the reference range is larger than 0 and smaller than K, taking the attribute value of the first node in the reference range as a filling value, filling the size of the reference range as K, and taking the K nodes as prediction nodes;
e5 Calculating a weighted average of attribute values of all the predicted nodes according to the following formula (21), and taking the value as an attribute predicted value of the current node:
Wherein,to predict the attribute value of a node, w i To predict the weight of a node, w i =1。
Assuming that all the predicted nodes are unavailable nodes and interpolation fails, directly taking the Morton preamble point of the current node (namely the previous node in Morton order, which is necessarily decoded before the current node) as the predicted node, wherein the attribute predicted value is the attribute reconstruction value of the Morton preamble point;
f5 The residual error is the difference between the original attribute value and the attribute predicted value of the current node, and then the residual error is subjected to operations such as transformation, quantization and the like;
g5 And (3) superposing the attribute predicted value and residual information after the operations of inverse quantization, inverse transformation and the like to obtain an attribute reconstruction value of the current node as reference information of a subsequent coding unit.
The intra-frame prediction at the decoding end of this embodiment is as follows, namely, embodiment 2. The geometric reconstruction point cloud is recursively divided into a plurality of square voxels by octree, nodes in each voxel respectively perform intra-prediction process calculation attribute prediction values according to the same Morton order as the encoding process, a 6) and f 6) processes are performed for the first node of decoding, and b 6), c 6), d 6), e 6) and f 6) processes are performed for the rest of the points:
a6 When the current node is the first node of decoding, no reference point is used for prediction, and the attribute predicted value is directly set to 0;
b6 Taking K nodes in all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node as prediction nodes, and selecting the mode as described in the step d 6); when the node is available, the attribute value refers to the attribute reconstruction value of the available node, and when the node is unavailable, the interpolation of the step c 6) is performed to obtain the attribute value of the unavailable node;
c6 Interpolation of the attribute reconstruction values of the unavailable node by the interpolation node (simultaneously, the collinear node of the current node) of the unavailable node, wherein the interpolation method is shown in the following formula (22), and the weighted average value of the attribute reconstruction values of all the interpolation nodes is calculated according to the formula:
wherein,reconstructing a value for the attribute of the interpolation node j; the weight value taking method comprises the following steps: if for some unavailable node i, its interpolation node j is unavailable, then there is w j =0, otherwise w j =1. When all interpolation nodes of the unavailable node are unavailable, the interpolation fails, and the weight of the unavailable node is 0;
d6 The reference range is 3, 5, 6, 14, 21 and 35 plus the unavailable node with successful interpolation, if the reference range is more than or equal to K, the first K nodes in the reference range are directly taken as prediction nodes; if the reference range is larger than 0 and smaller than K, taking the attribute value of the first node in the reference range as a filling value, filling the size of the reference range as K, and taking the K nodes as prediction nodes;
e6 Calculating a weighted average of attribute values of all the predicted nodes according to the following formula (23), taking the value as an attribute predicted value of the current node:
wherein,to predict the attribute value of a node, w i To predict the weight of a node, w i =1。
Assuming that all the predicted nodes are unavailable nodes and interpolation fails, directly taking the Morton preamble point of the current node (namely the previous node in Morton order, which is necessarily decoded before the current node) as the predicted node, wherein the attribute predicted value is the attribute reconstruction value of the Morton preamble point;
f6 Reading residual information of the current node from the code stream, and superposing the residual information with an attribute predicted value of the current node after operations such as inverse quantization, inverse transformation and the like to obtain an attribute reconstructed value of the current node, wherein the attribute reconstructed value is used as reference information of a subsequent decoding unit.
The technical solution of embodiment 2 acts on the intra prediction part in the codec frame shown in fig. 3A and 3B.
The intra-prediction enhancement technique based on interpolation process may employ a variety of interpolation methods including, but not limited to, weighted average, near point copy, padding fixed values, etc.;
the intra-prediction enhancement technique based on interpolation process may employ various weight value selection methods including, but not limited to, euclidean distance-based weights, fixed constant weights, and the like.
The intra-prediction enhancement technique based on interpolation process may employ a variety of padding methods including, but not limited to, padding the attribute value of the first node, padding a fixed constant, padding an average value of surrounding points, and so on. The value of K can be any constant, if K is the power of 2, the division can adopt binary shift operation when calculating the attribute predicted value of the current node in the steps e 5) and e 6) of encoding and decoding.
The technical scheme of the embodiment of the application can be applied to the coding and decoding part of intra-frame prediction, fully utilizes the reference information around the current node, deduces the reconstruction attribute value of the unavailable prediction node of the current node by using an interpolation algorithm, optimizes the intra-frame prediction scheme, and improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
The technical solution of the embodiment of the present application is tested on the point cloud compression platform PCRM1.0 with the latest AVS, the test results obtained under the algorithm described in embodiment 1 are shown in tables 1 to 4, and the test results obtained under the algorithm described in embodiment 2 are shown in tables 5 to 8.
Wherein table 1 shows the test results of example 1 on two types of data sets, cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) with limited geometry and lossy attributes, as shown in table 1, example 1 has an improvement in EtE BD-rate in three dimensions of color attributes Y, cb and Cr compared to the performance of the PCRM benchmark platform. For example, for Cat1B test results, the EtE BD-rate improved performance over the PCRM benchmark platform by 2.8% over the Y attribute. As another example, for Cat3 test results, the EtE BD-rate was improved by 5.4% over the PCRM benchmark platform in performance on Cr properties.
TABLE 1 C1_limit-lossy geometry, lossy attributes
Table 2 shows the test results of example 1 on both Cat1B and Cat3 data sets under geometrically lossless and property lossy conditions C2 (C2-lossless geometry), as shown in table 2, the EtE BD-rate of example 1 in both the three dimensions of color properties Y, cb and Cr is improved compared to the performance of the PCRM benchmark platform. For example, for Cat1B test results, the EtE BD-rate improved by 1.6% over the performance of the PCRM benchmark platform on the Y attribute. As another example, for Cat3 test results, the EtE BD-rate was improved by 10% over the PCRM benchmark platform in performance on Cr properties.
TABLE 2 C2-lossless geometry, lossy attributes
Table 3 shows the test results of example 1 on both Cat1B and Cat3 data sets under geometrically lossless and finite property condition C3 (C3-lossless geometry), as shown in table 3, example 1 improved with respect to EtE BD-rate in both the three dimensions of color property Y, cb and Cr, compared to the performance of the PCRM benchmark platform. For example, for the test results of Cat1B, the EtE BD-rate was improved by 0.6% over the performance of the PCRM benchmark platform in Cb properties. As another example, for Cat3 test results, the EtE BD-rate was improved by 10.2% over the PCRM benchmark platform in performance on Cr properties.
TABLE 3 C3-lossless geometry limit-lossy attributes
Table 4 shows the test results for both Cat1B and Cat3 data sets of example 1 under geometrically lossless and attribute lossless conditions C4 (C4-lossless geometry, lossless attributes), as shown in table 4, with an improvement in bpip ratio over the performance of the PCRM benchmark platform for example 1 in terms of color attributes. For example, for the test result of Cat1B, the bpip ratio is 99.7% of the output bit stream of the PCRM reference platform, i.e., the size of the bit stream is reduced by 0.3% compared to the size of the bit stream output by the PCRM reference platform. As another example, for the test result of Cat3, the bpip ratio is 98.5% of the output bit stream of the PCRM reference platform, i.e., the size of the bit stream is reduced by 1.5% compared to the size of the bit stream output by the PCRM reference platform. It can be seen that embodiment 1 can obtain better distortion by fewer codewords.
TABLE 4 C4-lossless geometry, lossless attributes
Table 5 shows the results of example 2 on two types of data sets, cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) with limited geometry and with limited attributes.
TABLE 5 C1_limit-lossy geometry, lossy attributes
Table 6 shows the results of example 2 under conditions C2 (C2-lossless geometry, lossy attributes) for both Cat1B and Cat3 data sets
TABLE 6 C2-lossless geometry, lossy attributes
Table 7 shows the results of example 2 on two types of data sets, cat1B and Cat3, under the geometrically lossless and property limited condition C3 (C3-lossless geometry, limit-lossy attributes).
TABLE 7 C3-lossless geometry limit-lossy attributes
Table 8 shows the test results for example 2 on both Cat1B and Cat3 data sets under geometrically lossless and attribute lossless conditions C4 (C4-lossless geometry, lossless attributes).
TABLE 8 C4-lossless geometry, lossless attributes
As can be seen from the table above, there is a significant performance improvement over the PCRM benchmark platform for both embodiments.
According to the technical scheme, in the intra-frame prediction process, the attribute value of the prediction node of the current node is deduced by using an interpolation algorithm, the intra-frame prediction scheme is optimized, the accuracy of intra-frame prediction is improved, and the coding efficiency is effectively improved; wherein, the key lies in:
(1) Six coplanar nodes of the current node are proposed to be used as prediction nodes;
(2) Providing an attribute value of an unavailable node by adopting an interpolation method;
(3) Providing a collinear node of the current node to interpolate to obtain an unavailable node of the current node;
(4) Providing a fixed number of prediction nodes, and adopting filling operation for the insufficient number of the prediction nodes;
(5) Based on the above 4, it is proposed that when the fixed number is a power of 2, division can be reduced to a binary shift operation when calculating the attribute prediction value of the current node.
In some embodiments, the interpolation method of embodiment 1 using weighted average may be used for other methods of generating interpolation, such as near point copy, padding fixed values, etc.;
in some embodiments, the constant weight value in embodiment 1 is set to other values, such as a euclidean distance based weight, or the like;
in some embodiments, the method of filling the attribute value of the first node in embodiment 2 is fixed value filling, average filling, neighbor filling, or the like.
Based on the foregoing embodiments, the intra-prediction apparatus provided in the embodiments of the present application, including each module included, and each unit included in each module, may be implemented by an encoder or a processor in an electronic device; of course, the implementation can also be realized by specific logic circuits; in an implementation, the processor may 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. 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 determining module 161, an interpolating module 162, and a predicting module 163, where:
a determining module 161, configured to determine whether the coplanar node of the current node meets a condition; the condition is a non-null node encoded before the current node; if yes, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value; otherwise, the interpolation module 162 is executed;
the interpolation module 162 is configured to obtain an attribute value of the coplanar node that does not satisfy a condition according to an attribute reconstruction value of an interpolation node, where the interpolation node is a coplanar node of the coplanar node that does not satisfy a condition or a collinear node of the current node, and the condition is a non-null node encoded before the current node; or obtaining the attribute value of the coplanar node which does not meet the condition according to a preset first constant, wherein the condition is that the node is not empty and is coded before the current node
A prediction module 163, configured to obtain attribute predicted values of a current node according to attribute values of M coplanar nodes of the current node, where M is a positive integer
In some embodiments, interpolation module 162 is configured to: determining a weight value of each interpolation node; and carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
In some embodiments, interpolation module 162 is configured to: determining the weight value of the interpolation node which does not meet the condition as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant.
In some embodiments, the preset second constant is 0 and the preset third constant is 1.
In some embodiments, the interpolation node satisfies the condition.
In some embodiments, interpolation module 162 is configured to: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
In some embodiments, prediction module 163 is to: taking the M coplanar nodes as prediction nodes; and 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.
In some embodiments, prediction module 163 is to: obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0; and 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.
In some embodiments, wherein K is a power of 2.
In some embodiments, prediction module 163 is to: obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition, which is satisfied by at least one interpolation node, the coplanar node is determined as the prediction node; when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
In some embodiments, prediction module 163 is to: determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or determining a preset fourth constant as the attribute value of the filling node.
In some embodiments, prediction module 163 is to: determining a weight value of each prediction node under the condition that any prediction node meets the condition, or under the condition that any prediction node is the coplanar node which does not meet the condition and at least one interpolation node of the coplanar node which does not meet the condition meets the condition; and carrying out 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.
In some embodiments, prediction module 163 is to: determining the weight value of each prediction node meeting the conditions as a preset fifth constant; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
In some embodiments, the preset fifth constant is greater than or equal to the preset seventh constant.
In some embodiments, prediction module 163 is to: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
In some embodiments, prediction module 163 is further to: and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which finishes encoding before the current node.
In some embodiments, prediction module 163 is to: and determining the attribute reconstruction value of the node which finishes encoding before the current node as the attribute prediction value of the current node.
In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
The description of the embodiments of the apparatus 16 above is similar to the description of the intra prediction method embodiments at the encoding end above, with similar benefits as those of the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, please refer to the description of the embodiments of the intra prediction method at the encoding end of the present application for understanding.
Based on the foregoing embodiments, the encoding apparatus provided in the embodiments of the present application, including each module included, and each unit included in each module, may be implemented by an encoder or a processor in an electronic device; of course, the implementation can also be realized by specific logic circuits; in an implementation, the processor may 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 device according to an embodiment of the present application, as shown in fig. 17, where the device 17 includes: an intra prediction module 171, a determination module 172, and an encoding module 173; wherein,
an intra prediction module 171 for: obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
For the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node coded before the current node; or,
and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node coded before the current node.
A determining module 172, configured to determine a residual error between the attribute prediction value of the current node and the original attribute value of the current node;
and the encoding module 173 is configured to encode the residual error of the current node into an attribute code stream.
The description of the embodiment of the apparatus 17 above is similar to the description of the embodiment of the apparatus 16 above and the embodiment of the intra prediction method at the encoding end above, with similar advantageous effects as those of the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, please refer to the description of the embodiments of the intra prediction method at the encoding end of the present application for understanding.
Based on the foregoing embodiments, the intra-prediction apparatus provided in the embodiments of the present application, including each module included, and each unit included in each module, may be implemented by a decoder or a processor in an electronic device; of course, the implementation can also be realized by specific logic circuits; in an implementation, the processor may 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. 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 determining module 181, an interpolating module 182, and a predicting module 183, where:
a determining module 181, configured to determine whether the coplanar node of the current node meets a condition; the condition is a non-null node decoded before the current node; if yes, taking the attribute reconstruction value of the coplanar node meeting the condition as an attribute value; otherwise, the interpolation module 182 is executed;
the interpolation module 182 is configured to obtain, according to the attribute reconstruction value of the interpolation node, an attribute value of the coplanar node that does not satisfy a condition, where the interpolation node is a coplanar node of the coplanar node that does not satisfy a condition or a collinear node of the current node, and the condition is a non-null node decoded before the current node; or obtaining the attribute value of the coplanar node which does not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node
The prediction module 183 is configured to obtain, according to attribute values of M coplanar nodes of a current node, an attribute predicted value of the current node, where M is a positive integer
In some embodiments, interpolation module 182 is configured to: determining a weight value of each interpolation node; and carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
In some embodiments, interpolation module 182 is configured to: determining the weight value of the interpolation node which does not meet the condition as a preset second constant; and determining the weight value of the interpolation node meeting the condition as a preset third constant.
In some embodiments, the preset second constant is 0 and the preset third constant is 1.
In some embodiments, the interpolation node satisfies the condition.
In some embodiments, interpolation module 182 is configured to: and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
In some embodiments, the prediction module 183 is configured to: taking the M coplanar nodes as prediction nodes; and 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.
In some embodiments, the prediction module 183 is configured to: obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0; and 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.
In some embodiments, wherein K is a power of 2.
In some embodiments, the prediction module 183 is configured to: obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition, which is satisfied by at least one interpolation node, the coplanar node is determined as the prediction node; when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes; determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
In some embodiments, the prediction module 183 is configured to: determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or determining a preset fourth constant as the attribute value of the filling node.
In some embodiments, the prediction module 183 is configured to: determining a weight value of each prediction node under the condition that any prediction node meets the condition, or under the condition that any prediction node is the coplanar node which does not meet the condition and at least one interpolation node of the coplanar node which does not meet the condition meets the condition; and carrying out 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.
In some embodiments, the prediction module 183 is configured to: determining the weight value of each prediction node meeting the conditions as a preset fifth constant; determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant; and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
In some embodiments, the preset fifth constant is greater than or equal to the preset seventh constant.
In some embodiments, the prediction module 183 is configured to: under the condition that the number of the prediction nodes is the power of 2, multiplying the attribute value of each prediction node and the corresponding weight value by a multiplier to obtain a first operation result; performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result; and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
In some embodiments, the prediction module 183 is further configured to: and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which completes decoding before the current node.
In some embodiments, the prediction module 183 is configured to: and determining the attribute reconstruction value of the node which finishes decoding before the current node as the attribute prediction value of the current node.
In some embodiments, the M coplanar nodes are all coplanar nodes of the current node.
In some embodiments, the determining module 181 is further configured to: analyzing residual errors of the current node from the received attribute code stream; and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
The description of the embodiment of the apparatus 18 above is similar to the description of the intra prediction method embodiments at the decoding end above, with similar benefits as those of the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, please refer to the description of the embodiments of the intra prediction method at the decoding end of the present application for understanding.
Based on the foregoing embodiments, the decoding apparatus provided in the embodiments of the present application, including each module included, and each unit included in each module, may be implemented by a decoder or a processor in an electronic device; of course, the implementation can also be realized by specific logic circuits; in an implementation, the processor may 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 device according to an embodiment of the present application, as shown in fig. 19, where the device 19 includes: parsing module 191, intra prediction module 192, and decoding module 193; wherein,
the parsing module 191 is configured to parse the received attribute code stream to obtain a residual error of the current node;
an intra prediction module 192 for: obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node; or,
and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node.
And the decoding module 193 is configured to determine an attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual error.
The description of the embodiment of the apparatus 19 above is similar to the description of the embodiment of the apparatus 18 above and the embodiment of the intra prediction method at the decoding end above, with similar advantageous effects as those of the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, please refer to the description of the embodiments of the intra prediction method at the decoding end of the present application for understanding.
In the embodiment of the present application, if the intra prediction method, the encoding method, or the decoding method described above is implemented in the form of a software functional module, and sold or used as a separate product, the intra prediction method, the encoding method, or the decoding method may also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially or part contributing to the related art, and the computer software product may be stored in a storage medium, including several instructions for causing an electronic device to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a magnetic disk, an optical disk, or other various media capable of storing program codes. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
Correspondingly, an electronic device is provided in the embodiment of the present application, fig. 20 is a schematic diagram of a hardware entity of the electronic device in the embodiment of the present application, as shown in fig. 20, the electronic device 20 includes a memory 201 and a processor 202, where the memory 201 stores a computer program that can be run on the processor 202, and the processor 202 implements steps in the method provided in the embodiment described above when executing the program.
Fig. 21 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the present application, where the encoder 21 includes a memory 211 and a processor 212; wherein the memory 211 is used for storing a computer program capable of running on the processor 212; the processor 212 is adapted to perform the steps of the method 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, where the decoder 22 includes a memory 221 and a processor 222; wherein the memory 221 is used for storing a computer program capable of running on the processor 222; the processor 222 is configured to perform the steps of the method provided in the above embodiments when the computer program is run.
It should be noted that the memory is configured to store instructions and applications executable by the processor, and may also cache data (e.g., point cloud data, image data, audio data, voice communication data, and video communication data) to be processed or already processed by each module in the processor and the corresponding device, which may be implemented by a FLASH memory (FLASH) or a random access memory (Random Access Memory, RAM).
Accordingly, embodiments of the present application provide a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the methods provided in the above embodiments.
It should be noted here that: the above description of the electronic device, encoder, decoder and storage medium embodiments is similar to that of the method embodiments described above, with similar advantageous effects as the method embodiments. For technical details not disclosed in the embodiments of the electronic device, encoder, decoder and storage medium of the present application, reference may be made to the description of the embodiments of the method of the present application.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" or "some embodiments" or "other embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "in some embodiments" or "in other embodiments" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic thereof, and should not constitute any limitation on the implementation process of the embodiments of the present application. The foregoing embodiment numbers of the present application are merely for describing, and do not represent advantages or disadvantages of the embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described embodiment of the apparatus is merely illustrative, and for example, the division of the modules is merely a logic function division, and there may be other division manners in actual implementation, such as: multiple modules or components may be combined, or may be integrated into another system, or some features may be omitted, or not performed. In addition, the various components shown or discussed may be coupled or directly coupled or communicatively coupled to each other via some interface, whether indirectly coupled or communicatively coupled to devices or modules, whether electrically, mechanically, or otherwise.
The modules described above as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules; can be located in one place or distributed to a plurality of network units; some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional module in each embodiment of the present application may be integrated in one processing unit, or each module may be separately used as one unit, or two or more modules may be integrated in one unit; the integrated modules may be implemented in hardware or in hardware plus software functional units.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the above method embodiments may be implemented by hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, where the program, when executed, performs steps including the above method embodiments; and the aforementioned storage medium includes: a mobile storage device, a Read Only Memory (ROM), a magnetic disk or an optical disk, or the like, which can store program codes.
Alternatively, the integrated units described above may be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product. Based on such understanding, the technical solutions of the embodiments of the present application may be embodied in essence or a part contributing to the related art in the form of a software product stored in a storage medium, including several instructions for causing an electronic device or an encoder or a decoder to perform all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.
The methods disclosed in the several method embodiments provided in the present application may be arbitrarily combined without collision to obtain a new method embodiment.
The features disclosed in the several product embodiments provided in the present application may be combined arbitrarily without conflict to obtain new product embodiments.
The features disclosed in the several method or apparatus embodiments provided in the present application may be arbitrarily combined without conflict to obtain new method embodiments or apparatus embodiments.
The foregoing is merely an embodiment of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (48)

  1. An intra-prediction method, the method comprising:
    obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
    for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node; or,
    and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node.
  2. The method according to claim 1, wherein the obtaining the attribute value of the coplanar node that does not satisfy the condition according to the attribute reconstruction value of the interpolation node includes:
    determining a weight value of each interpolation node;
    and carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
  3. The method of claim 2, wherein the determining the weight value of each of the interpolation nodes comprises:
    determining the weight value of the interpolation node which does not meet the condition as a preset second constant;
    and determining the weight value of the interpolation node meeting the condition as a preset third constant.
  4. A method according to claim 3, wherein the preset second constant is 0 and the preset third constant is 1.
  5. The method of claim 2, wherein the interpolation node satisfies the condition.
  6. The method according to claim 1, wherein the obtaining the attribute value of the coplanar node that does not satisfy the condition according to the attribute reconstruction value of the interpolation node includes:
    and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
  7. The method of claim 1, wherein the obtaining the attribute prediction value of the current node according to the attribute values of M coplanar nodes of the current node includes:
    taking the M coplanar nodes as prediction nodes;
    and 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.
  8. The method of claim 1, wherein the obtaining the attribute prediction value of the current node according to the attribute values of M coplanar nodes of the current node includes:
    obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0;
    and 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.
  9. The method of claim 8, wherein K is a power of 2.
  10. The method of claim 8, wherein the deriving K predicted nodes from the M coplanar nodes comprises:
    obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein,
    determining the coplanar node as the predicted node when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition with at least one interpolation node satisfying the condition;
    When the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes;
    determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
  11. The method of claim 10, wherein the determining the attribute value of the filler node comprises:
    determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or,
    determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or,
    determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or,
    and determining a preset fourth constant as an attribute value of the filling node.
  12. The method according to claim 7 or 8, wherein 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, includes:
    in the case that any one of the prediction nodes satisfies the condition, or in the case that any one 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,
    determining a weight value of each prediction node;
    and carrying out 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.
  13. The method of claim 12, wherein the determining the weight value of each of the predicted nodes comprises:
    determining the weight value of each prediction node meeting the conditions as a preset fifth constant;
    determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and all interpolation nodes do not meet the condition as a preset sixth constant;
    and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
  14. The method of claim 13, wherein the preset fifth constant is greater than or equal to the preset seventh constant.
  15. The method of claim 12, wherein the performing a weighted average calculation on the attribute value of each of the prediction nodes according to the weight value of each of the prediction nodes to obtain the attribute prediction value of the current node includes:
    in case the number of the prediction nodes is a power of 2,
    multiplying the attribute value of each prediction node and the corresponding weight value through a multiplier to obtain a first operation result;
    performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result;
    and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
  16. The method according to claim 7 or 8, wherein predicting the attribute of the current node according to the attribute value of each of the predicted nodes to obtain the attribute predicted value of the current node, further comprises:
    and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which completes decoding before the current node.
  17. The method of claim 16, wherein the determining the attribute prediction value of the current node based on the attribute reconstruction value of at least one decoding completed node preceding the current node comprises:
    and determining the attribute reconstruction value of the node which finishes decoding before the current node as the attribute prediction value of the current node.
  18. A method according to any one of claims 1 to 17, wherein the M coplanar nodes are all coplanar nodes of the current node.
  19. The method of any one of claims 1 to 17, wherein the method further comprises:
    analyzing residual errors of the current node from the received attribute code stream;
    and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
  20. A method of point cloud decoding, the method comprising:
    analyzing the received attribute code stream to obtain the residual error of the current node;
    performing the steps of the method according to any one of claims 1 to 18 on the current node to obtain an attribute prediction value of the current node;
    and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
  21. An intra-prediction method, the method comprising:
    obtaining an attribute predicted value of a current node according to attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
    for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node coded before the current node; or,
    and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node coded before the current node.
  22. The method of claim 21, wherein 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 interpolation node;
    And carrying out weighted average calculation on the attribute reconstruction value of each interpolation node according to the weight value of each interpolation node to obtain the attribute value of the coplanar node which does not meet the condition.
  23. The method of claim 22, wherein said determining a weight value for each of the interpolation nodes comprises:
    determining the weight value of the interpolation node which does not meet the condition as a preset second constant;
    and determining the weight value of the interpolation node meeting the condition as a preset third constant.
  24. The method of claim 23, wherein the predetermined second constant is 0 and the predetermined third constant is 1.
  25. The method of claim 22, wherein the interpolation node satisfies the condition.
  26. The method of claim 21, wherein the obtaining the attribute value of the co-planar node that does not satisfy the condition according to the attribute reconstruction value of the interpolation node includes:
    and taking the attribute reconstruction value of one node in all interpolation nodes of the coplanar nodes which do not meet the condition as the attribute value of the coplanar nodes which do not meet the condition.
  27. The method of claim 21, wherein the obtaining the attribute prediction value of the current node according to the attribute values of M coplanar nodes of the current node includes:
    Taking the M coplanar nodes as prediction nodes;
    and 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.
  28. The method of claim 21, wherein the obtaining the attribute prediction value of the current node according to the attribute values of M coplanar nodes of the current node includes:
    obtaining K prediction nodes according to the M coplanar nodes; wherein K is an integer greater than 0;
    and 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.
  29. The method of claim 28, wherein K is a power of 2.
  30. The method of claim 28, wherein the deriving K predicted nodes from the M coplanar nodes comprises:
    obtaining K prediction nodes according to the specific coding sequence of the M coplanar nodes; wherein,
    determining the coplanar node as the predicted node when the coplanar node is the coplanar node satisfying the condition or the coplanar node not satisfying the condition with at least one interpolation node satisfying the condition;
    when the total number of the coplanar nodes meeting the condition and the coplanar nodes not meeting the condition, of which at least one interpolation node meets the condition, is larger than or equal to K, determining the first K nodes in the nodes corresponding to the total number of the nodes and sequenced according to a specific coding sequence as the prediction nodes;
    Determining attribute values of filling nodes under the condition that the total number of the nodes is more than 0 and less than K; and determining the nodes corresponding to the total number of the nodes and the filling nodes as the prediction nodes.
  31. The method of claim 30, wherein the determining the attribute value of the filler node comprises:
    determining the attribute value of the first node in the nodes corresponding to the total number of the nodes according to the specific coding sequence as the attribute value of the filling node; or,
    determining the average value of the attribute values of the nodes corresponding to the total number of the nodes as the attribute value of the filling node; or,
    determining the average value of the attribute values of the coplanar nodes and/or the collinear nodes of the first node as the attribute value of the filling node; or,
    and determining a preset fourth constant as an attribute value of the filling node.
  32. The method according to claim 27 or 28, wherein 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, includes:
    in the case that any one of the prediction nodes satisfies the condition, or in the case that any one 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,
    Determining a weight value of each prediction node;
    and carrying out 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.
  33. The method of claim 32, wherein the determining the weight value of each of the predicted nodes comprises:
    determining the weight value of each prediction node meeting the conditions as a preset fifth constant;
    determining the weight value of a prediction node which belongs to the coplanar node which does not meet the condition and does not meet the condition as a preset sixth constant;
    and determining the weight value of the prediction node which belongs to the coplanar node which does not meet the condition and at least one interpolation node which meets the condition as the preset seventh constant.
  34. The method of claim 33, wherein the preset fifth constant is greater than or equal to the preset seventh constant.
  35. The method of claim 32, wherein the performing a weighted average calculation on the attribute value of each of the prediction nodes according to the weight value of each of the prediction nodes to obtain the attribute prediction value of the current node includes:
    In case the number of the prediction nodes is a power of 2,
    multiplying the attribute value of each prediction node and the corresponding weight value through a multiplier to obtain a first operation result;
    performing addition operation on the first operation result corresponding to each prediction node through an adder to obtain a second operation result;
    and performing shift operation on the second operation result and the number of the predicted nodes through a shifter to obtain the attribute predicted value of the current node.
  36. The method according to claim 27 or 28, wherein predicting the attribute of the current node according to the attribute value of each of the predicted nodes, to obtain the attribute predicted value of the current node, further comprises:
    and under the condition that each prediction node belongs to the coplanar node which does not meet the condition and all interpolation nodes of each prediction node do not meet the condition, determining the attribute prediction value of the current node according to the attribute reconstruction value of at least one node which finishes encoding before the current node.
  37. The method of claim 36, wherein the determining the attribute prediction value of the current node based on the attribute reconstruction value of at least one encoding-completed node preceding the current node comprises:
    And determining the attribute reconstruction value of the node which finishes encoding before the current node as the attribute prediction value of the current node.
  38. A method according to any one of claims 21 to 37, wherein the M coplanar nodes are all coplanar nodes of the current node.
  39. The method of any one of claims 21 to 37, wherein the method further comprises:
    determining a residual error between the attribute predicted value of the current node and the original attribute value of the current node;
    and determining an attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
  40. A method of point cloud encoding, the method comprising:
    performing the steps in the method of any one of claims 21 to 38 on a current node of a point cloud to obtain an attribute prediction value of the current node;
    determining a residual error between the attribute predicted value of the current node and the original attribute value of the current node;
    and encoding the residual error of the current node into an attribute code stream.
  41. An intra prediction apparatus, comprising:
    the prediction module is used for obtaining the attribute predicted value of the current node according to the attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
    For the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node decoded before the current node; or,
    and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node decoded before the current node. .
  42. A decoding apparatus comprising:
    the analysis module is used for analyzing the received attribute code stream to obtain the residual error of the current node;
    an intra-frame prediction module, configured to perform the steps in the method of any one of claims 1 to 18, to obtain an attribute prediction value of the current node;
    and the decoding module is used for determining the attribute reconstruction value of the current node according to the attribute predicted value of the current node and the residual error.
  43. A decoder comprising a memory and a processor; wherein,
    the memory is used for storing a computer program capable of running on the processor;
    the processor being configured to perform the method of any one of claims 1 to 20 when the computer program is run.
  44. An intra prediction apparatus, comprising:
    the prediction module is used for obtaining the attribute predicted value of the current node according to the attribute values of M coplanar nodes of the current node, wherein M is a positive integer;
    for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to the attribute reconstruction values of the interpolation nodes, wherein the interpolation nodes are the coplanar nodes of the coplanar nodes which do not meet the condition and the collinear nodes of the current node, and the condition is a non-empty node coded before the current node; or,
    and for the coplanar nodes which do not meet the condition, obtaining the attribute values of the coplanar nodes which do not meet the condition according to a preset first constant, wherein the condition is a non-empty node coded before the current node.
  45. An encoding apparatus, comprising:
    an intra-frame prediction module for performing the steps of the method according to any of claims 21 to 38 to obtain an attribute prediction value for the current node;
    a determining module, configured to determine a residual error between an attribute prediction value of the current node and an original attribute value of the current node;
    and the encoding module is used for encoding the residual error of the current node into an attribute code stream.
  46. An encoder, the encoder comprising a memory and a processor; wherein,
    the memory is used for storing a computer program capable of running on the processor;
    the processor being adapted to perform the method of any of claims 21 to 40 when the computer program is run.
  47. An electronic device includes a memory and a processor; wherein,
    the memory is used for storing a computer program capable of running on the processor;
    the processor being adapted to perform the method of any of claims 1 to 40 when the computer program is run.
  48. A computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of any of claims 1 to 40.
CN202080107272.5A 2020-12-03 2020-12-03 Intra-frame prediction method and device, codec, device, and storage medium Pending CN116458158A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/133712 WO2022116122A1 (en) 2020-12-03 2020-12-03 Intra-frame prediction method and apparatus, codec, device, and storage medium

Publications (1)

Publication Number Publication Date
CN116458158A true CN116458158A (en) 2023-07-18

Family

ID=81852877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080107272.5A Pending CN116458158A (en) 2020-12-03 2020-12-03 Intra-frame prediction method and device, codec, device, and storage medium

Country Status (2)

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

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110418135A (en) * 2019-08-05 2019-11-05 北京大学深圳研究生院 A kind of the point cloud intra-frame prediction method and equipment of the weight optimization based on neighbours
US20200107048A1 (en) * 2018-10-02 2020-04-02 Tencent America LLC Method and apparatus for video coding
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding
CN111095929A (en) * 2017-09-14 2020-05-01 苹果公司 Point cloud compression
CN111145090A (en) * 2019-11-29 2020-05-12 鹏城实验室 Point cloud attribute encoding method, point cloud attribute decoding method, point cloud attribute encoding equipment and point cloud attribute decoding equipment
WO2020123469A1 (en) * 2018-12-11 2020-06-18 Futurewei Technologies, Inc. Hierarchical tree attribute coding by median points in point cloud coding
CN111405284A (en) * 2020-03-30 2020-07-10 北京大学深圳研究生院 Point cloud density-based attribute prediction method and device
CN111432210A (en) * 2020-04-30 2020-07-17 中山大学 Point cloud attribute compression method based on filling
US20200302651A1 (en) * 2019-03-18 2020-09-24 Blackberry Limited Methods and devices for predictive point cloud attribute coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
EP3429206A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
CN108322742B (en) * 2018-02-11 2019-08-16 北京大学深圳研究生院 A kind of point cloud genera compression method based on intra prediction
US10657689B2 (en) * 2018-04-13 2020-05-19 Sony Corporation Method and apparatus for point cloud color processing
CN111953998B (en) * 2020-08-16 2022-11-11 西安电子科技大学 Point cloud attribute coding and decoding method, device and system based on DCT (discrete cosine transformation)

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111095929A (en) * 2017-09-14 2020-05-01 苹果公司 Point cloud compression
US20200107048A1 (en) * 2018-10-02 2020-04-02 Tencent America LLC Method and apparatus for video coding
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding
WO2020123469A1 (en) * 2018-12-11 2020-06-18 Futurewei Technologies, Inc. Hierarchical tree attribute coding by median points in point cloud coding
US20200302651A1 (en) * 2019-03-18 2020-09-24 Blackberry Limited Methods and devices for predictive point cloud attribute coding
CN110418135A (en) * 2019-08-05 2019-11-05 北京大学深圳研究生院 A kind of the point cloud intra-frame prediction method and equipment of the weight optimization based on neighbours
CN111145090A (en) * 2019-11-29 2020-05-12 鹏城实验室 Point cloud attribute encoding method, point cloud attribute decoding method, point cloud attribute encoding equipment and point cloud attribute decoding equipment
CN111405284A (en) * 2020-03-30 2020-07-10 北京大学深圳研究生院 Point cloud density-based attribute prediction method and device
CN111432210A (en) * 2020-04-30 2020-07-17 中山大学 Point cloud attribute compression method based on filling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
代路伟;罗家融;: "H.264解码器中帧内预测模块的硬件设计", 网络新媒体技术, no. 02, 15 March 2016 (2016-03-15) *

Also Published As

Publication number Publication date
WO2022116122A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
EP3922035A1 (en) Point cloud geometry padding
JP2018534881A (en) How to compress a point cloud
JP2015504545A (en) Predictive position coding
US11711535B2 (en) Video-based point cloud compression model to world signaling information
WO2022121648A1 (en) Point cloud data encoding method, point cloud data decoding method, device, medium, and program product
US11983905B2 (en) Methods for level partition of point cloud, and decoder
CN114598891A (en) Point cloud data encoding method, point cloud data decoding method, point cloud data processing method and point cloud data processing device
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
CN117280680A (en) Parallel mode of dynamic grid alignment
CN116458158A (en) Intra-frame prediction method and device, codec, device, and storage medium
KR20230060534A (en) Point cloud encoding and decoding method and apparatus based on two-dimensional normalized plane projection
CN116941242A (en) Intra-frame prediction method and device, codec, device, and storage medium
WO2022257143A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium
WO2023023914A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, and encoder, decoder, device and medium
WO2023123284A1 (en) Decoding method, encoding method, decoder, encoder, and storage medium
WO2023097694A1 (en) Decoding method, encoding method, decoder, and encoder
WO2022257155A1 (en) Decoding method, encoding method, decoder, encoder, encoding device and decoding device
WO2024012381A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074123A1 (en) Method, apparatus, and medium for point cloud coding
WO2024074122A1 (en) Method, apparatus, and medium for point cloud coding
WO2024146644A1 (en) Method, apparatus, and medium for point cloud coding
WO2023173238A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2023023918A1 (en) Decoding method, encoding method, decoder and encoder
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230334719A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination