WO2022183611A1 - 帧内预测方法及装置、编解码器、设备、存储介质 - Google Patents
帧内预测方法及装置、编解码器、设备、存储介质 Download PDFInfo
- Publication number
- WO2022183611A1 WO2022183611A1 PCT/CN2021/097447 CN2021097447W WO2022183611A1 WO 2022183611 A1 WO2022183611 A1 WO 2022183611A1 CN 2021097447 W CN2021097447 W CN 2021097447W WO 2022183611 A1 WO2022183611 A1 WO 2022183611A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- attribute
- nodes
- prediction
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 225
- 238000004590 computer program Methods 0.000 claims description 26
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 28
- 230000006835 compression Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 23
- 238000012360 testing method Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 101150019148 Slc7a3 gene Proteins 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000013139 quantization Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical compound C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 108091026890 Coding region Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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
Definitions
- the embodiments of the present application relate to point cloud processing technologies, and relate to, but are not limited to, intra-frame prediction methods and apparatuses, codecs, devices, and storage media.
- a point cloud is a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of a three-dimensional object or scene.
- Point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
- Point clouds can express the spatial structure and surface properties of three-dimensional objects or scenes flexibly and conveniently, and because point clouds are obtained by directly sampling real objects, they can provide a strong sense of realism under the premise of ensuring accuracy, so they are widely used.
- Point clouds can express the spatial structure and surface properties of three-dimensional objects or scenes flexibly and conveniently, and because point clouds are obtained by directly sampling real objects, they can provide a strong sense of realism under the premise of ensuring accuracy, so they are widely used.
- point cloud compression has become a key issue to promote the development of the point cloud industry.
- Point cloud compression is mainly divided into geometric compression and attribute compression.
- the accuracy of intra-frame prediction (ie, the prediction of node attribute value) in attribute compression directly affects the efficiency of encoding and decoding.
- the intra-frame prediction method and device, codec, device, and storage medium provided by the embodiments of the present application are implemented as follows:
- An intra-frame prediction method provided by an embodiment of the present application, the method includes: obtaining a prediction node of the current node according to the adjacent nodes of the current node; performing a weighted average operation on the attribute values of the prediction node of the current node , obtain the attribute prediction value of the current node; wherein, the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used.
- the condition is a non-empty node coded before the current node
- the interpolation node is the adjacent node of the prediction node that does not meet the condition
- assigning a first weight to the attribute value of the prediction node that satisfies the condition assigning a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, at least based on the first weight and the second weight
- the weighted average operation is performed, and the first weight and the second weight are different.
- a point cloud encoding method provided by an embodiment of the present application, the method includes: performing the steps in the intra-frame prediction method described in the embodiment of the present application on a current node of the point cloud to obtain an attribute prediction value of the current node; Determine the residual between the attribute prediction value of the current node and the original attribute value of the current node; encode the residual of the current node into an attribute code stream.
- An intra-frame prediction method provided by an embodiment of the present application, the method includes: obtaining a prediction node of the current node according to the adjacent nodes of the current node; performing a weighted average operation on the attribute values of the prediction node of the current node , obtain the attribute prediction value of the current node; wherein, the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used.
- the condition is a non-empty node decoded before the current node
- the interpolation node is the adjacent node of the prediction node that does not meet the condition
- assigning a first weight to the attribute value of the prediction node that satisfies the condition
- assigning a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, at least based on the first weight and the second weight
- the weighted average operation is performed, and the first weight and the second weight are different.
- a point cloud decoding method provided by an embodiment of the present application, the method includes: parsing a received attribute code stream to obtain a residual of the current node; The steps in the prediction method are to obtain the predicted value of the attribute of the current node; and to determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
- An intra-frame prediction apparatus includes: an obtaining module, configured to obtain a prediction node of the current node according to the adjacent nodes of the current node; a prediction module, configured to predict the node of the current node Perform a weighted average operation on the attribute values of the current node to obtain the attribute predicted value of the current node; wherein, the attribute value of the predicted node that satisfies the condition is its attribute reconstruction value, and for the predicted node that does not meet the condition, the attribute reconstruction value is based on the interpolation node.
- the condition is the non-empty node coded before the current node
- the interpolation node is the prediction node that does not meet the condition
- the adjacent nodes of the The weight and the second weight perform the weighted average operation, and the first weight and the second weight are different.
- An encoding apparatus includes: an intra-frame prediction module, configured to perform the steps in the intra-frame prediction method described in the embodiment of the present application, to obtain an attribute prediction value of a current node; a determination module, configured to determine The residual between the attribute prediction value of the current node and the original attribute value of the current node; the encoding module is used for encoding the residual of the current node into an attribute code stream.
- An encoder provided by an embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can be run on the processor; the processor is used to When the computer program is run, the encoding-side method described in the embodiments of the present application is executed.
- An intra-frame prediction apparatus includes: an obtaining module, configured to obtain a prediction node of the current node according to the adjacent nodes of the current node; a prediction module, configured to predict the node of the current node Perform a weighted average operation on the attribute values of the current node to obtain the attribute predicted value of the current node; wherein, the attribute value of the predicted node that satisfies the condition is its attribute reconstruction value, and for the predicted node that does not meet the condition, the attribute reconstruction value is based on the interpolation node.
- the condition is the non-empty node decoded before the current node
- the interpolation node is the prediction node that does not meet the condition
- the adjacent nodes of the The weight and the second weight perform the weighted average operation, and the first weight and the second weight are different.
- a decoding apparatus includes: a parsing module, configured to parse a received attribute code stream to obtain a residual of the current node; an intra-frame prediction module, configured to perform an intra-frame prediction method at the decoding end The step is to obtain the attribute prediction value of the current node; the decoding module is configured to determine the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual difference.
- a decoder provided by an embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can be run on the processor; the processor is used to When the computer program is run, the methods described in the embodiments on the decoding side are executed.
- An electronic device provided by an embodiment of the present application includes a memory and a processor; wherein the memory is used to store a computer program that can be run on the processor; the processor is used to run the computer During the program, the methods described in the embodiments of the present application are executed.
- a computer-readable storage medium provided by an embodiment of the present application stores a computer program thereon, and the computer program implements the method described in the embodiment of the present application when the computer program is executed by a processor.
- FIG. 1 is a schematic diagram of a three-dimensional point cloud image and a partial enlarged view
- Fig. 2 is a schematic diagram of a point cloud image and its corresponding data storage format
- FIG. 3A is a schematic diagram of the coding framework of the point cloud compression reference platform provided by the Audio Video Standard (AVS) point cloud compression special group, that is, the point cloud reference model (Point Cloud Reference Model, PCRM);
- AVS Audio Video Standard
- PCRM Point Cloud Reference Model
- 3B is a schematic diagram of the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression special group;
- 4A is a schematic diagram of placing the entire point cloud in a cube bounding box
- 4B is a schematic diagram of an octree division process for point clouds
- Fig. 5 is the schematic diagram of the coding sequence of Morton code in two-dimensional space
- Fig. 6 is the schematic diagram of the coding sequence of Morton code in three-dimensional space
- 7A is a schematic diagram of a current node and its coplanar node
- 7B is a schematic diagram of a current node and its collinear node
- 7C is a schematic diagram of the current node and its co-located node
- FIG. 8 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
- FIG. 9 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application.
- 11 is a schematic diagram of an interpolation node of a coplanar node that does not satisfy the condition
- FIG. 12 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present application.
- FIG. 13 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present application.
- FIG. 14 is a schematic structural diagram of an intra-frame prediction apparatus according to an embodiment of the present application.
- FIG. 15 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present application.
- 16 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the application.
- 17 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the present application.
- FIG. 18 is a schematic diagram of a hardware entity of a decoder according to an embodiment of the present application.
- first ⁇ second ⁇ third involved in the embodiments of the present application do not represent a specific ordering of objects, and it is understood that “first ⁇ second ⁇ third” can be mutually
- the specific order or sequence may be changed to enable the embodiments of the application described herein to be implemented in sequences other than those illustrated or described herein.
- the coding/decoding framework and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
- Those of ordinary skill in the art know that, with the evolution of the coding and decoding framework and the emergence of new service scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
- the data form of the point cloud, the coding and decoding framework, and the regularization processing of the point cloud involved in the embodiments of the present application are described.
- the encoding and decoding frameworks and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute limitations on the technical solutions provided by the embodiments of the present application.
- Those of ordinary skill in the art know that, with the evolution of the coding and decoding framework and the emergence of new service scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
- a point cloud is a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of a three-dimensional object or scene.
- 101 is a three-dimensional point cloud image.
- 102 is a partial enlarged view of the point cloud image. It can be seen that the surface of the point cloud is composed of densely distributed points.
- point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
- Figure 2 shows a point cloud image and its corresponding data storage format, wherein 201 provides six viewing angles of the point cloud image; 202 shows the data storage format of the point cloud image, which is defined by the file header information part and the data part, the header information includes the data format, data representation type, the total number of points in the point cloud, and the content represented by the point cloud.
- the point cloud in 202 is in ".ply" format, represented by ASCII code, and the total number of points is 207242, each point has 3D position information xyz and 3D color information rgb.
- the acquisition of point clouds mainly includes the following methods: computer generation, 3D laser scanning and 3D photogrammetry.
- Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and millions of point clouds can be obtained per second; 3D photogrammetry can obtain three-dimensional objects in the dynamic real world. Or the point cloud of the scene, which can obtain tens of millions of point clouds per second.
- These techniques reduce the cost and time period of point cloud data acquisition and improve the accuracy of the data.
- the change in the acquisition method of point cloud data makes it possible to acquire a large amount of point cloud data.
- the processing of massive 3D point cloud data encounters the bottleneck of limited storage space and transmission bandwidth.
- the number of points in each frame of the point cloud is 700,000, and each point has the coordinate information of float (float) xyz and uchar (unsigned char) type.
- the YUV sampling format is 4:2: 0, 1280 ⁇ 720 2D video with frame rate of 24fps
- the data volume of 10s is about 1280 ⁇ 720 ⁇ 12bit ⁇ 24frames ⁇ 10s ⁇ 0.33GB
- Point cloud compression adopts the method of compressing point cloud geometric information and point cloud attribute information respectively.
- the geometric information of the point cloud is first encoded in the geometric encoder to obtain the reconstructed geometric information; then the reconstructed geometric information is input into the attribute encoder as additional information to assist the compression of the attribute information of the point cloud;
- the decoding end first The geometric information of the point cloud is decoded in the geometry decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist the compression of the attribute information of the point cloud.
- the entire codec consists of preprocessing/postprocessing, geometry encoding/decoding, and attribute encoding/decoding.
- FIG. 3A is the coding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression topic group
- FIG. 3B is the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression topic group.
- the collected geometric information is preprocessed, and the geometric origin is normalized to the minimum position in the point cloud space by coordinate translation.
- Coordinate quantization converts geometric information from floating point type to integer type, and obtains regularized geometric information, that is, regularized point cloud space, so as to facilitate subsequent regularization processing; then, the regularized geometric information is geometrically encoded.
- an octree structure can be used to recursively divide the regularized point cloud space, and each time the current node is divided into eight sub-blocks of the same size, and the occupied codeword status of each sub-block is determined. , when there is no point in the sub-block, it is recorded as empty, otherwise it is recorded as non-empty, and the occupied codeword information of all blocks is recorded in the last layer of recursive division and encoded.
- the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream on the one hand, and geometric reconstruction processing is performed in the encoder on the other hand, and the reconstructed geometric information is used as additional information into the attribute encoder.
- the collected attribute information is preprocessed first. Since the geometric information changes after the geometric coding, it is necessary to reassign the attribute value to each point after the geometric coding. This process is called attribute recoloring.
- the processed attribute information is color information
- the original color needs to be transformed into a color space to convert it into a YUV color space that is more in line with the visual characteristics of the human eye; and then attribute encoding is performed on the preprocessed attribute information.
- the point cloud needs to be reordered first, and the reordering method is Morton code. Therefore, the traversal order of attribute encoding is Morton order, and the attribute prediction method in PCRM is based on Morton order.
- the single-point prediction that is, backtracking one point from the current point to be encoded (current node) in Morton order, the found point is the prediction reference point (prediction node) of the current point to be encoded, and then the attributes of the prediction reference point are reconstructed
- the value is used as the attribute prediction value, and the attribute residual is the difference between the preprocessed attribute value of the current point to be encoded and the attribute predicted value; finally, the residual is quantized, and the quantized residual is input into the attribute entropy encoder to form attribute code stream.
- the method of decoding the geometric code stream and the attribute code stream is adopted respectively.
- the decoding part of the geometric code stream firstly, entropy decoding is performed on the geometric code stream to obtain the geometric information of each node, and then the octree structure is constructed in the same way as the geometric encoding, and the coordinate transformed, through the octree is reconstructed.
- the coordinate inverse quantization and inverse translation of the information are carried out to obtain the decoded geometric information, and on the other hand, the decoded geometric information is input into the attribute decoder as additional information.
- the Morton order is constructed in the same way as the encoding end.
- the attribute code stream is entropy decoded to obtain the quantized residual information; then the residual information is inversely quantized to obtain the residual value. ;
- the attribute prediction value of the current point to be decoded is obtained, and then the attribute prediction value and the residual value are added to restore the YUV attribute value of the current point to be decoded; finally, after the color
- the inverse spatial transformation obtains the decoded attribute information.
- the recursive octree structure is adopted to express the points in the point cloud as the center of the cube in a regular manner.
- x min min(x 0 , x 1 ,...x q-1 ) Formula (1);
- the size of the bounding box in the x, y, and z directions can be calculated according to the following equations (10) to (12):
- each voxel contains one or more points, normalize the geometric positions of these points to the center point (node) of the voxel, the The attribute value of the center point is the average of the attribute values of all points in the voxel (original attribute value).
- the Morton coding order of the "z" shape which constitutes the Morton coding order of the entire 8x8 block.
- the Morton coding order extended to the three-dimensional space is shown in Figure 6.
- the figure shows 16 nodes. Inside each "z” word, the Morton coding order between each "z” and “z” is First along the x-axis, then along the y-axis, and finally along the z-axis.
- the current node is mainly predicted with reference to the adjacent nodes of the current node, and the residual information is calculated according to the attribute predicted value and the original attribute value of the current node, and then quantized and other processes are carried out.
- the residual information is encoded into the code stream and transmitted to the decoding end; after the decoding end receives and parses the code stream, the residual information is obtained by inverse transformation and inverse quantization, and the decoding end predicts the attribute prediction value in the same process, which is the same as the residual error. After the information is superimposed, the attribute reconstruction value of the current node is obtained.
- attribute intra prediction uses the geometric relationship between nodes and uses the geometrically coplanar and collinear nodes of the current node as prediction nodes.
- the weight value is set to the reciprocal of the geometric Euclidean distance between the prediction node and the current node multiplied by 2, that is, the weight of the coplanar node is 2, the weight of the collinear node is 1, and the weighted average of the attribute reconstruction values of all prediction nodes is calculated as the attribute prediction value. (Especially, for the first node encoded, there is no reference point for prediction, and its attribute prediction value is directly set to 0).
- the prediction node is determined according to these two conditions, namely:
- Condition a) satisfies the coplanar and/or colinear relationship with the current node
- Condition b) is encoded before the current node.
- the current node O's serial number is 7, there are 6 faces, 12 edges, and 8 vertices.
- the coplanar nodes have 3, 5, 6, 14, 21 and 35;
- the collinear nodes have 1, 2, 4, 10, 12, 17, 20, 28, 33, 34, 42 and 49;
- the collinear nodes have 0, 8, 16, 24, 32, 40, 48 and 56.
- the attribute prediction value of the current node is calculated as the weighted average of the attribute reconstruction values of all predicted nodes:
- the Morton pre-order point of the current node (that is, the previous node in the Morton coding order, which must be coded before the current node) is used as the prediction node, and the attribute prediction value is Attribute reconstruction value of Morton preorder point.
- this technology acts on the intra-frame prediction part of the PCRM point cloud coding framework, and acts on both the coding and decoding ends. Since the coding and decoding framework of the relevant PCRM only involves a single frame, the attribute prediction features Refers to intra prediction.
- the implementation method of the property encoder of PCRM is as follows.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel respectively perform the intra-frame prediction process according to the Morton coding order to calculate the attribute prediction value, and execute the following a1) for the first node of the code. , c1), d1) process, and perform b1), c1), d1) process for the remaining nodes:
- the pre-Morton sequence point of the current node (that is, the previous node in Morton order, which is coded before the current node) is directly used as the prediction node, and the attribute prediction value is pre-Morton. Attribute reconstruction value of sequence point;
- the residual is the difference between the original attribute value of the current point and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
- the implementation method of the property decoder of PCRM is as follows.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process.
- the Morton pre-sequence point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node, and the attribute prediction value is Mo The attribute reconstruction value of the sequence point before the frame;
- the above-mentioned intra-frame prediction method adopted by PCRM partially uses the reference information around the current node, and only uses the coplanar nodes and collinear nodes to the left, front and below of the current node as the prediction nodes, and cannot use the information from the right side of the current node. , after, and the above reference information, resulting in inaccurate intra-frame prediction, which in turn affects the improvement of coding efficiency.
- an embodiment of the present application provides an intra-frame prediction method, which is suitable for an encoding end, and can be applied to an electronic device with information processing capability, and the electronic device may be a TV, a projector, a mobile phone , computer, tablet computer, virtual reality (Virtual Reality, VR) headset and any other device with point cloud video codec function or encoding function.
- the functions implemented by the intra-frame prediction method can be implemented by calling a program code by a processor in the electronic device, and of course the program code can be stored in a computer storage medium. It can be seen that the electronic device includes at least a processor and a storage medium.
- FIG. 8 is a schematic flowchart of an implementation of an intra-frame prediction method according to an embodiment of the present application. As shown in FIG. 8 , the method may include the following steps 81 to 82:
- Step 81 Obtain the predicted node of the current node according to the adjacent nodes of the current node.
- the adjacent nodes may include coplanar nodes of the current node, and K prediction nodes are determined from the coplanar nodes of the current node.
- the coplanar nodes of the current node include 6 coplanar nodes of the current node.
- the predicted node of the current node may be the 6 coplanar nodes, or may be a part of the 6 coplanar nodes.
- the adjacent nodes include at least one of the following: coplanar nodes, colinear nodes, and co-point nodes.
- the adjacent nodes include 3 coplanar nodes and/or 9 colinear nodes and/or 7 copoint nodes.
- the electronic device can determine the prediction node from 3 coplanar nodes, 9 collinear nodes and 7 co-located nodes; for another example, the electronic device can also determine the prediction node from 3 coplanar nodes and 9 collinear nodes node; for another example, the electronic device may also determine the prediction node from the 3 coplanar nodes and the 7 co-point nodes. No more exhaustive enumeration here.
- the three coplanar nodes are nodes that satisfy the condition.
- the numbers of the 3 coplanar nodes are 3, 5, 6, and the numbers of the 9 collinear nodes are: 1, 2, 4, 10, 12, 17, 20, 33, 34, the numbers of the seven common nodes are 0, 8, 16, 24, 32, 40, and 48.
- the electronic device may determine K prediction nodes according to the adjacent nodes of the current node; here, if the number of adjacent nodes that satisfy the condition (denoted as the first number here for the convenience of description) is less than K, Take these nodes as prediction nodes, and further use the adjacent nodes whose attribute values can be interpolated that do not meet the conditions as the prediction nodes (referred to as the second number here), at this time, if the first number and the second number
- the sum of K is still less than K, and is filled to K prediction nodes;
- the attribute value of the filled K prediction nodes can be any value, for example, it can be the attribute reconstruction value of any node in the prediction nodes corresponding to the first number , for another example, it may be the attribute reconstruction value of the first prediction node in a specific coding order among the prediction nodes corresponding to the first number; for another example, the attribute value of the filled prediction node may be a fixed constant, and the fixed constant is an empirical value; for another example, the attribute value of
- a coplanar node obtained by interpolation is preferentially used as the prediction node.
- the electronic device may determine K prediction nodes according to the adjacent nodes of the current node; here, if the number of adjacent nodes satisfying the condition is greater than K, take any of the K adjacent nodes as predictions Nodes, or, according to a specific coding order, take the first K adjacent nodes that meet the conditions as prediction nodes, or, according to a specific coding order, take the last K adjacent nodes that meet the conditions as prediction nodes.
- the number of adjacent nodes that satisfy the condition (referred to as the first number here for the convenience of description) is less than K, these nodes are used as prediction nodes, and the number of adjacent nodes that do not satisfy the condition can be obtained by attribute value interpolation If it is greater than the difference between K and the first number (denoted as ⁇ ), any ⁇ of these adjacent nodes that do not meet the conditions is selected as prediction nodes, so that enough K prediction nodes are selected. Of course, if the number of adjacent nodes that satisfy the condition (referred to as the first number here for the convenience of description) is less than K, these nodes are used as prediction nodes. If the attribute value is interpolated, the adjacent nodes that do not satisfy the condition can be obtained.
- the number of is less than the difference between K and the first number (denoted as ⁇ ), these adjacent nodes that do not meet the conditions are used as prediction nodes, and are filled to K prediction nodes; wherein, the attributes of the filled K prediction nodes
- the value can be any value.
- the attribute value of the filled prediction nodes may be the reconstructed attribute value of any one of the prediction nodes corresponding to the first number, and for another example, the attribute value of the filled prediction nodes may be the prediction node corresponding to the first number in a specific The attribute reconstruction value of the first prediction node in the coding order; for another example, the attribute value of the filled prediction node may be a fixed constant, and the fixed constant is an empirical value; for another example, the attribute value of the filled prediction node may be the second The attribute value of any one of the predicted nodes corresponding to the number.
- the selection priority of adjacent nodes may also be set.
- coplanar nodes have higher priority than colinear nodes, and colinear nodes have higher priority than colocated nodes. That is to say, the coplanar nodes are preferentially selected as the prediction nodes.
- the collinear nodes are preferentially selected as the prediction nodes.
- the attribute value of the filled prediction node can be any value, and the example will not be repeated here.
- step 81 it is not limited to obtain a fixed number of prediction nodes, and the adjacent nodes of the current node that satisfy the condition and the different obtained by interpolation can be obtained. Adjacent nodes that satisfy the conditions are used as prediction nodes.
- Step 82 performing a weighted average operation on the attribute value of the predicted node of the current node to obtain the predicted attribute value of the current node;
- the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used to obtain the prediction node that does not meet the condition.
- attribute value the condition is a non-empty node coded before the current node
- the interpolation node is the adjacent node of the prediction node that does not meet the condition; and the attribute value assignment for the prediction node that satisfies the condition
- the first weight is to assign a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, and the weighted average operation is performed based on at least the first weight and the second weight, and the first weight The weight is different from the second weight.
- the values of the first weight and the second weight are not limited, and may be any positive numbers.
- the first weight is greater than the second weight.
- the first weight is 2, the second weight is 1, and the weight of the attribute value of the prediction node that cannot be obtained by interpolation through the attribute reconstruction value of the interpolation node is 0.
- obtaining the attribute value of the prediction node that does not meet the condition according to the attribute reconstruction value of the interpolation node includes: performing a weighted average operation on the attribute reconstruction value of the interpolation node to obtain the unsatisfactory attribute value.
- the weights of the attribute reconstruction values of the interpolation nodes used for the weighted average operation may all be 1, or may be different weights.
- the filling manner may be various, that is, the filling value may be various.
- the filling value may be various.
- it may be the average value of the attribute reconstruction values of the adjacent nodes of the interpolation node that is replaced by the filled interpolation node that does not satisfy the condition, or it may be a fixed constant, and the fixed constant may be an empirical value.
- the method before performing the weighted average operation on the attribute reconstruction value of the interpolation node, the method further includes: if the number of the interpolation nodes satisfying the condition is not 2 n times square, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the total number of interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions is the nth power of 2; wherein , where n is a natural number.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , the method further includes: if the number of the interpolation nodes that meet the condition is equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the filling is used to determine the The total number of interpolation nodes for the attribute values of the predicted nodes that satisfy the condition is 4.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , the method further includes: if the number of the interpolation nodes that meet the condition is less than or equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the filling is used to determine all the interpolation nodes.
- the total number of interpolation nodes for the attribute values of the prediction nodes that do not meet the above conditions is 4.
- the filled value is obtained by reconstructing the value according to the attribute of the interpolation node that satisfies the condition.
- obtaining the filling value according to the attribute reconstruction value of the interpolation node that satisfies the condition includes: using the attribute reconstruction value of the last interpolation node that satisfies the condition in a specific coding order as the filling value recharge.
- an embodiment of the present application provides an intra-frame prediction method, which is suitable for a decoding end, and can be applied to an electronic device with information processing capability, and the electronic device may be a TV, a projector, a mobile phone, a computer , tablet computer, virtual reality (Virtual Reality, VR) headset and any other device with point cloud video encoding and decoding functions or decoding functions.
- the functions implemented by the intra-frame prediction method can be implemented by calling a program code by a processor in the electronic device, and of course the program code can be stored in a computer storage medium. It can be seen that the electronic device includes at least a processor and a storage medium.
- FIG. 9 is a schematic diagram of an implementation flowchart of an intra-frame prediction method according to an embodiment of the present application. As shown in FIG. 9 , the method may include the following steps 91 to 92:
- Step 91 Obtain the predicted node of the current node according to the adjacent nodes of the current node.
- the adjacent nodes may include coplanar nodes of the current node, and K prediction nodes are determined from the coplanar nodes of the current node.
- the coplanar nodes of the current node include 6 coplanar nodes of the current node.
- the predicted node of the current node may be the 6 coplanar nodes, or may be a part of the 6 coplanar nodes.
- the adjacent nodes include at least one of the following: coplanar nodes, colinear nodes, and co-point nodes.
- the adjacent nodes include 3 coplanar nodes and/or 9 colinear nodes and/or 7 copoint nodes.
- the electronic device can determine the prediction node from 3 coplanar nodes, 9 collinear nodes and 7 co-located nodes; for another example, the electronic device can also determine the prediction node from 3 coplanar nodes and 9 collinear nodes node; for another example, the electronic device may also determine the prediction node from the 3 coplanar nodes and the 7 co-point nodes. No more exhaustive enumeration here.
- the three coplanar nodes are nodes that satisfy the condition.
- the numbers of the 3 coplanar nodes are 3, 5, 6, and the numbers of the 9 collinear nodes are: 1, 2, 4, 10, 12, 17, 20, 33, 34, the numbers of the seven common nodes are 0, 8, 16, 24, 32, 40, and 48.
- the electronic device may determine K prediction nodes according to the adjacent nodes of the current node; here, if the number of adjacent nodes that satisfy the condition (denoted as the first number here for the convenience of description) is less than K, Take these nodes as prediction nodes, and further use the adjacent nodes whose attribute values can be interpolated that do not meet the conditions as the prediction nodes (referred to as the second number here), at this time, if the first number and the second number The sum of is still less than K, and is filled to K prediction nodes; wherein, the attribute values of the filled K prediction nodes can be any value.
- the attribute value of the filled prediction nodes may be the reconstructed attribute value of any one of the prediction nodes corresponding to the first number, and for another example, the attribute value of the filled prediction nodes may be the prediction node corresponding to the first number in a specific The attribute reconstruction value of the first prediction node in the coding order; for another example, the attribute value of the filled prediction node may be a fixed constant, and the fixed constant is an empirical value; for another example, the attribute value of the filled prediction node may be the second The attribute value of any one of the predicted nodes corresponding to the number.
- a coplanar node obtained by interpolation is preferentially used as the prediction node.
- the electronic device may determine the K prediction nodes according to the adjacent nodes of the current node. In some embodiments, if the number of adjacent nodes that satisfy the condition is greater than K, any K adjacent nodes among them are taken as prediction nodes; or, according to a specific coding order, the first K nodes that satisfy the condition are taken as the prediction node. The adjacent nodes are used as prediction nodes; or, according to a specific coding order, the last K adjacent nodes that satisfy the conditions are taken as prediction nodes. If the number of adjacent nodes that satisfy the condition (denoted as the first number for the convenience of description) is less than K, these nodes are used as prediction nodes.
- the difference between K and the first number select any ⁇ from these adjacent nodes that do not satisfy the condition as prediction nodes, so that enough K prediction nodes are selected.
- the first number here for the convenience of description
- these nodes are used as prediction nodes.
- the attribute value is interpolated, the adjacent nodes that do not satisfy the condition can be obtained.
- the number of is less than the difference between K and the first number (denoted as ⁇ ), these adjacent nodes that do not meet the conditions are used as prediction nodes, and are filled to K prediction nodes; wherein, the attributes of the filled K prediction nodes
- the value can be any value.
- the attribute value of the filled prediction nodes may be the attribute reconstruction value of any node in the prediction nodes corresponding to the first number; for another example, the attribute value of the filled prediction nodes may be the prediction node corresponding to the first number in a specific The attribute reconstruction value of the first prediction node in the coding order; for another example, the attribute value of the filled prediction node may be a fixed constant, and the fixed constant is an empirical value; for another example, the attribute value of the filled prediction node may be the second The attribute value of any one of the predicted nodes corresponding to the number.
- the selection priority of adjacent nodes may also be set.
- coplanar nodes have higher priority than colinear nodes, and colinear nodes have higher priority than colocated nodes. That is to say, the coplanar nodes are preferentially selected as the prediction nodes.
- the collinear nodes are preferentially selected as the prediction nodes.
- the attribute value of the filled prediction node can be any value, and the example will not be repeated here.
- step 81 it is not limited to obtain a fixed number of prediction nodes, and the adjacent nodes of the current node that satisfy the condition and the different obtained by interpolation can be obtained. Adjacent nodes that satisfy the conditions are used as prediction nodes.
- Step 92 performing a weighted average operation on the attribute value of the predicted node of the current node to obtain the predicted attribute value of the current node;
- the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used to obtain the prediction node that does not meet the condition.
- attribute value the condition is a non-empty node decoded before the current node
- the interpolation node is the adjacent node of the prediction node that does not meet the condition; and the attribute value assignment for the prediction node that satisfies the condition
- the first weight is to assign a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, and the weighted average operation is performed based on at least the first weight and the second weight, and the first weight The weight and the second weight are different or the same.
- the first weight is greater than the second weight.
- the first weight is 2
- the second weight is 1
- the weight of the attribute value of the prediction node that cannot be obtained by interpolation through the attribute reconstruction value of the interpolation node is 0.
- obtaining the attribute value of the prediction node that does not meet the condition according to the attribute reconstruction value of the interpolation node includes: performing a weighted average operation on the attribute reconstruction value of the interpolation node to obtain the unsatisfactory attribute value.
- the method before performing the weighted average operation on the attribute reconstruction value of the interpolation node, the method further includes: if the number of the interpolation nodes satisfying the condition is not the nth power of 2, filling The interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the total number of interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions is the nth power of 2; where n is Natural number.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , the method further includes: if the number of the interpolation nodes that meet the condition is equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the filling is used to determine the The total number of interpolation nodes for the attribute values of the predicted nodes that satisfy the condition is 4.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , the method further includes: if the number of the interpolation nodes that meet the condition is less than or equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that the filling is used to determine all the interpolation nodes.
- the total number of interpolation nodes for the attribute values of the prediction nodes that do not meet the above conditions is 4.
- the filled value is obtained by reconstructing the value according to the attribute of the interpolation node that satisfies the condition.
- obtaining the filling value according to the attribute reconstruction value of the interpolation node that satisfies the condition includes: using the attribute reconstruction value of the last interpolation node that satisfies the condition in a specific coding order as the filling value recharge.
- the description of the above embodiments of the intra-frame prediction method at the decoding end is similar to the description of the above-mentioned embodiments of the intra-frame prediction method at the encoding end, and has similar beneficial effects to the embodiments of the intra-frame prediction method at the encoding end.
- the description of the embodiments of the intra-frame prediction method at the decoding end of the present application please refer to the description of the embodiments of the intra-frame prediction method at the encoding end of the present application for understanding.
- An embodiment of the present application provides a point cloud encoding method, the method includes: performing the steps in the intra-frame prediction method described in the encoding end on a current node of the point cloud to obtain an attribute prediction value of the current node; the residual between the attribute prediction value of the current node and the original attribute value of the current node; and encoding the residual of the current node into an attribute code stream.
- An embodiment of the present application provides a point cloud decoding method, the method includes: parsing a received attribute code stream to obtain a residual of the current node; performing the method for intra-frame prediction as described in the decoding end on the current node. step of obtaining the attribute prediction value of the current node; and determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the residual.
- the technical solutions of the embodiments of the present application are implemented at the encoding and decoding ends, and the technical solutions of the embodiments of the present application are implemented during intra-frame prediction. For all points, the technical solutions propose an intra-frame prediction enhancement algorithm based on an interpolation process.
- the first concept that needs to be defined is the "availability" of the prediction node.
- the prediction node of the current node when the prediction node of the current node can be encoded before the current node and is a non-empty node, the prediction node is said to be available. If any of the conditions are met, it is not available.
- the prediction node of the current node when the prediction node of the current node can be decoded before the current node and is a non-empty node, the prediction node is said to be available, and it is not available if it does not satisfy any condition.
- Embodiment 1 An embodiment of the intra-frame prediction part at the coding end is as follows, which is referred to as Embodiment 1 below.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel are subjected to the intra-frame prediction process according to the Morton coding order, so as to calculate the attribute prediction value, and execute a3 for the first node of the code. ), e3) and f3) processes, and the remaining points perform b3), c3), d3), e3) and f3) processes:
- K nodes are determined as prediction nodes in all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node.
- the attribute values refer to the available prediction nodes
- the predicted node is unavailable and is a coplanar node, perform step c3) to interpolate the attribute value of the unobtainable predicted node;
- wi is the attribute value of the predicted node
- the Morton pre-sequence point of the current node (that is, the previous node in the Morton order, which must be coded before the current node) is used as the Prediction node, the attribute prediction value is the attribute reconstruction value of Morton's pre-order point;
- the residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
- Example 1 An example of the intra-frame prediction at the decoding end is as follows, which is referred to as Example 1 below.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process, so as to calculate the attribute prediction value.
- Each node performs the following a4) and e4) procedures, and the remaining points perform the following b4), c4), d4) and e4) procedures:
- step c4) Determine K nodes as prediction nodes from all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node.
- the attribute value refers to the attribute reconstruction value of the available predicted nodes.
- step c4) is performed to interpolate the attribute value of the unobtainable predicted node;
- the attribute value of the unobtainable predicted node is obtained by interpolating the attribute reconstruction value of the interpolation node of the unobtainable predicted node (which is also the collinear node of the current node).
- the interpolation method is shown in the following formula (18), and all interpolation values are calculated according to this formula. Weighted average of attribute reconstruction values for nodes:
- wi is the attribute value of the predicted node
- the Morton pre-sequence point of the current node (that is, the previous node in the Morton order, which must be decoded before the current node) is directly used as the prediction node.
- the attribute prediction value is the attribute reconstruction value of Morton's pre-order point;
- Embodiment 1 acts on the intra-frame prediction part in the coding and decoding framework shown in FIGS. 3A and 3B .
- the intra-frame prediction enhancement technology based on the interpolation process can adopt a variety of interpolation methods, including but not limited to weighted averaging, copying of adjacent points, filling fixed values, etc.;
- the intra-frame prediction enhancement technology based on the interpolation process can adopt various weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
- Another embodiment of the intra-frame prediction part at the coding end of the technical solution is as follows, that is, the following embodiment 2.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel are subjected to the intra-frame prediction process according to the Morton coding order, so as to calculate the attribute prediction value, and execute a5 for the first node of the code. ), e5) and f5) procedures, and the remaining points perform b5), c5), d5), e5) and f5) procedures:
- step c5) Determine K nodes as prediction nodes from all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node; when the prediction nodes are available, the attribute value refers to the attribute reconstruction value of the available prediction nodes, When the prediction node is unavailable and is a coplanar node, step c5) is performed to interpolate the attribute value of the unavailable prediction node;
- the attribute value of the unobtainable prediction node is obtained by interpolation of the attribute reconstruction value of the interpolation node of the unobtainable prediction node (which is also the collinear node of the current node).
- the interpolation method is shown in the following formula (20), according to the calculation Weighted average of attribute reconstruction values for all interpolated nodes:
- the filling value can also be filled with a fixed constant, or the average value of surrounding nodes.
- wi is the attribute value of the predicted node
- the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
- Attributes The predicted value is the attribute reconstruction value of Morton's pre-order point;
- the residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then the residual is transformed, quantized, and other operations;
- the intra-frame prediction embodiment at the decoding end is as follows, that is, the following embodiment 2.
- the geometrically reconstructed point cloud is recursively divided into several cube voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process in the same Morton order as the encoding process. a6) and e6) procedures, and the remaining points perform b6), c6), d6), and e6) procedures:
- step b6) Determine K nodes as prediction nodes from all coplanar nodes 3, 5, 6, 14, 21 and 35 of the current node; when the prediction nodes are available, the attribute value refers to the attribute reconstruction value of the available prediction nodes, When the prediction node is unavailable and is a coplanar node, perform the interpolation of step c6) to obtain the attribute value of the unavailable prediction node;
- the attribute value of the unobtainable prediction node is obtained by interpolation of the attribute reconstruction value of the interpolation node of the unobtainable prediction node (which is also the collinear node of the current node).
- the interpolation method is shown in the following formula (22), according to the calculation Weighted average of attribute reconstruction values for all interpolated nodes:
- the filling value can also be filled with a fixed constant, or the average value of surrounding nodes.
- wi is the attribute value of the predicted node
- the Morton pre-order point of the current node (that is, the previous node in Morton order, which must be decoded before the current node) is directly used as the prediction node.
- Attributes The predicted value is the attribute reconstruction value of Morton's pre-order point;
- Embodiment 2 acts on the intra-frame prediction part in the coding and decoding framework shown in FIG. 3A and FIG. 3B .
- the determination range of prediction nodes of the intra-frame prediction enhancement technology based on the interpolation process includes but is not limited to 6 coplanar nodes, and the selection range can also be 3 coplanar nodes, 9 collinear nodes and 7 co-point nodes, the selection range can also be 3 co-planar nodes and 9 co-linear nodes, or the selection range can also be 3 co-planar nodes and 7 co-point nodes;
- the intra-frame prediction enhancement technology based on the interpolation process can adopt a variety of interpolation methods, including but not limited to weighted averaging, copying of adjacent points, filling fixed values, etc.;
- the intra-frame prediction enhancement technology based on the interpolation process can adopt various weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
- the intra-frame prediction enhancement technology based on the interpolation process can adopt various filling methods, including but not limited to filling the attribute value of the first node, filling a fixed constant, filling the average value of surrounding points, and so on.
- the value of K can be an arbitrary constant. If K is a power of 2, when calculating the attribute prediction value of the current node in steps e5) and e6) of encoding and decoding, the division can use a binary shift operation.
- the technical solutions of the embodiments of the present application can be applied to the encoding and decoding part of intra-frame prediction, making full use of the reference information around the current node, using interpolation algorithm to derive the reconstruction attribute value of the unobtainable prediction node of the current node, and optimizing the intra-frame prediction
- This solution improves the accuracy of intra-frame prediction, thereby improving coding efficiency.
- Table 1 shows the test results of the two types of data sets, Cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) of the embodiment 1 under the condition of finite lossy geometry and lossy attributes, as shown in Table 1
- the EtE BD-rate of Example 1 is improved in all three dimensions of color attributes Y, Cb and Cr compared to the performance of the PCRM benchmark platform.
- the performance of EtE BD-rate compared to the PCRM benchmark platform was improved by 5.3% on the Y attribute.
- the performance of EtE BD-rate was improved by 11.2% compared to the PCRM benchmark platform.
- Table 2 shows the test results of Example 1 on two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
- C2 C2-lossless geometry, lossy attributes
- Table 2 shows the test results of Example 1 on two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
- C2 C2-lossless geometry, lossy attributes
- Table 3 shows the test results of Example 1 on the two types of datasets, Cat1B and Cat3, under the condition C3 (C3-lossless geometry, limit-lossy attributes) that the geometry is lossless and the attribute is limited and lossy, as shown in Table 3,
- C3 C3-lossless geometry, limit-lossy attributes
- the EtE BD-rate of Example 1 is improved in the three dimensions of the color attributes Y, Cb and Cr.
- the performance of EtE BD-rate compared to the PCRM benchmark platform was improved by 0.6% on the Cb property.
- the performance of EtE BD-rate is improved by 10.2% compared to the PCRM benchmark platform.
- Table 4 shows the test results of the two types of datasets, Cat1B and Cat3, under the condition C4 (C4-lossless geometry, lossless attributes) of Example 1 with lossless geometry and lossless attributes, as shown in Table 4, compared with PCRM
- the performance of the benchmark platform, Example 1 has improved bpip ratio on color attributes.
- the bpip ratio is 99.7% of the bit stream output by the PCRM benchmark platform, that is, the size of the bit stream is reduced by 0.3% compared to the bit stream size output by the PCRM benchmark platform.
- the bpip ratio is 98.5% of the bit stream output by the PCRM benchmark platform, that is, the size of the bit stream is reduced by 1.5% compared to the size of the bit stream output by the PCRM benchmark platform. It can be seen that Embodiment 1 can obtain better distortion with fewer code words.
- Table 5 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C1 (C1-limit-lossy geometry, lossy attributes) of limited geometry lossy and attribute lossy.
- Table 6 shows the test results of Example 2 on the two types of datasets, Cat1B and Cat3, under the condition C2 (C2-lossless geometry, lossy attributes) with lossless geometry and lossy attributes.
- Table 7 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C3 (C3-lossless geometry, limit-lossy attributes), which is geometrically lossless and attribute limited and lossy.
- Table 8 shows the test results of Example 2 on two types of datasets, Cat1B and Cat3, under the condition C4 (C4-lossless geometry, lossless attributes) with lossless geometry and lossless attributes.
- the prediction node determination range of the intra-frame prediction enhancement technology based on the interpolation process in the above-mentioned embodiments is changed, such as 6 coplanar nodes, or 3 coplanar nodes, 9 collinear nodes and 7 coplanar nodes. Point nodes, or, 3 coplanar nodes and 9 collinear nodes, or, or, 3 coplanar nodes and 7 copoint nodes.
- the interpolation method using weighted average in Embodiment 1 is changed to other methods for generating interpolation values, such as copying adjacent points, filling fixed values, etc.;
- the constant weight value in Embodiment 1 is set to other values, such as weights based on Euclidean distance, etc.;
- the method used in Embodiment 2 to reconstruct the value of the last coplanar interpolation node of the currently unavailable prediction node or the method of filling with fixed value, filling with average value, filling with adjacent points, and the like.
- the intra-frame prediction apparatus can be implemented by an encoder or a processor in an electronic device; of course, it can also be It is realized by a specific logic circuit; in the process of implementation, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
- the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
- FIG. 12 is a schematic structural diagram of an intra-frame prediction apparatus according to an embodiment of the present application. As shown in FIG. 12 , the apparatus 12 includes an obtaining module 121 and a prediction module 122, wherein:
- Obtaining module 121 for obtaining the predicted node of the current node according to the adjacent nodes of the current node;
- a prediction module 122 configured to perform a weighted average operation on the attribute values of the predicted nodes of the current node to obtain the predicted attribute values of the current node;
- the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used to obtain the prediction node that does not meet the condition.
- attribute value the condition is a non-empty node coded before the current node
- the interpolation node is the adjacent node of the prediction node that does not meet the condition; and the attribute value assignment for the prediction node that satisfies the condition
- the first weight is to assign a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, and the weighted average operation is performed based on at least the first weight and the second weight, and the first weight The weight is different from the second weight.
- the first weight is greater than the second weight; in this way, the accuracy of intra-frame prediction can be improved, thereby improving the coding efficiency of the point cloud.
- the first weight is 2
- the second weight is 1
- the weight of the attribute value of the prediction node that cannot be obtained by interpolation through the attribute reconstruction value of the interpolation node is 0.
- obtaining the attribute value of the prediction node that does not meet the condition according to the attribute reconstruction value of the interpolation node includes: performing a weighted average operation on the attribute reconstruction value of the interpolation node to obtain the unsatisfactory attribute value.
- the attribute values of the prediction nodes that do not meet the conditions are more accurate, so that the accuracy of intra-frame prediction can be improved, and the coding efficiency of the point cloud can be improved.
- the method before performing the weighted average operation on the attribute reconstruction value of the interpolation node, the method further includes: if the number of the interpolation nodes satisfying the condition is not 2 to the nth power, filling is used to determine The interpolation nodes of the attribute values of the prediction nodes that do not meet the conditions, so that the total number of interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions is the nth power of 2; wherein, n is a natural number; so , when the weighted average operation is performed, since the denominator is the nth power of 2, the division operation can be realized through a simple shift operation, thereby reducing the computational complexity and improving the coding efficiency.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , and also includes: if the number of the interpolation nodes that satisfy the condition is equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that after filling, the interpolation nodes used to determine the The total number of interpolation nodes for the attribute value of the prediction node is 4.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , and also includes: if the number of the interpolation nodes that satisfy the condition is less than or equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the condition, so that the filling is used to determine the The total number of interpolation nodes for the attribute value of the condition's prediction node is 4.
- the filling value is obtained according to the attribute reconstruction value of the interpolation node that satisfies the condition; in this way, the accuracy of the attribute value of the prediction node that does not meet the condition can be improved, thereby improving the current node's attribute value.
- the accuracy of the attribute prediction value and then reduce the residual value and reduce the occupied bandwidth of the transmission code stream.
- obtaining the filling value according to the attribute reconstruction value of the interpolation node that satisfies the condition includes: using the attribute reconstruction value of the last interpolation node that satisfies the condition in a specific coding order as the filling value Recharge; in this way, compared to using the attribute reconstruction value of other interpolation nodes that satisfy the conditions as the filling value, there is no need to search, thereby saving search operations and improving coding efficiency.
- the adjacent nodes comprise coplanar nodes.
- the adjacent nodes include at least one of the following: co-planar nodes, co-linear nodes, and co-point nodes; in this way, the optional range of prediction nodes is expanded, thereby increasing the probability of obtaining more prediction nodes. possibility, thereby improving the accuracy of the attribute prediction value of the current node, reducing the residual value, and reducing the occupied bandwidth of the transmission code stream.
- the adjacent nodes include 6 coplanar nodes.
- the adjacent nodes include 3 co-planar nodes and/or 9 co-linear nodes and/or 7 co-point nodes.
- the numbers of the 3 coplanar nodes are 3, 5, 6, and the numbers of the 9 collinear nodes are: 1, 2, 4, 10, 12, 17, 20, 33, 34 , the numbers of the seven common-point nodes are 0, 8, 16, 24, 32, 40, and 48; since these nodes are more likely to satisfy the conditions, more nodes can be selected from these nodes.
- a prediction node with reference value thereby improving the attribute prediction value of the current node.
- the above description of the embodiment of the apparatus 12 is similar to the description of the above-mentioned embodiment of the intra-frame prediction method at the encoding end, and has similar beneficial effects as these method embodiments.
- For technical details not disclosed in the device embodiments of the present application please refer to the description of the embodiments of the intra-frame prediction method at the encoding end of the present application for understanding.
- the encoding apparatus can be implemented by an encoder or a processor in an electronic device; of course, it can also be implemented by a specific
- the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor ( Graphics Processing Unit, GPU), etc.
- FIG. 13 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present application. As shown in FIG. 13 , the apparatus 13 includes: an intra-frame prediction module 131, a determination module 132, and an encoding module 133; wherein,
- the intra-frame prediction module 131 is configured to obtain the prediction node of the current node according to the adjacent nodes of the current node; and perform a weighted average operation on the attribute values of the prediction node of the current node to obtain the attribute prediction of the current node value; wherein, the attribute value of the prediction node that satisfies the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the prediction that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node or the preset first constant
- the attribute value of the node, the condition is the non-empty node coded before the current node, the interpolation node is the adjacent node of the prediction node that does not meet the condition; and the attribute of the prediction node that satisfies the condition assigning a first weight to the value, assigning a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, and performing the weighted average operation based on at
- a determining module 132 configured to determine a residual between the predicted attribute value of the current node and the original attribute value of the current node
- the encoding module 133 is configured to encode the residual of the current node into an attribute code stream.
- the intra-frame prediction apparatus can be implemented by a decoder or processor in an electronic device; of course, it can also be It is realized by a specific logic circuit; in the process of implementation, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
- the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor processor (Graphics Processing Unit, GPU), etc.
- FIG. 14 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present application. As shown in FIG. 14 , the apparatus 14 includes an obtaining module 141 and a prediction module 142, wherein:
- Obtaining module 141 for obtaining the predicted node of the current node according to the adjacent nodes of the current node;
- the prediction module 142 is configured to perform a weighted average operation on the attribute values of the predicted nodes of the current node to obtain the predicted attribute values of the current node;
- the attribute value of the prediction node that meets the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the attribute reconstruction value of the interpolation node or the preset first constant is used to obtain the prediction node that does not meet the condition.
- an attribute value the condition is a non-empty node decoded before the current node, and the interpolation node is a neighbor node of the predicted node that does not satisfy the condition;
- the weight performs the weighted average operation, and the first weight and the second weight are different.
- the first weight is greater than the second weight; in this way, the accuracy of intra-frame prediction can be improved, thereby improving the decoding efficiency of the point cloud.
- the first weight is 2
- the second weight is 1
- the weight of the attribute value of the prediction node that cannot be obtained by interpolation through the attribute reconstruction value of the interpolation node is 0.
- obtaining the attribute value of the prediction node that does not meet the condition according to the attribute reconstruction value of the interpolation node includes: performing a weighted average operation on the attribute reconstruction value of the interpolation node to obtain the unsatisfactory attribute value.
- the attribute values of the prediction nodes that do not meet the conditions are more accurate, so that the accuracy of intra-frame prediction can be improved, thereby improving the decoding efficiency of point clouds.
- the method before performing the weighted average operation on the attribute reconstruction value of the interpolation node, the method further includes: if the number of the interpolation nodes satisfying the condition is not 2 to the nth power, filling is used to determine The interpolation nodes of the attribute values of the prediction nodes that do not meet the conditions, so that the total number of interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions is the nth power of 2; wherein, n is a natural number; so , when the weighted average operation is performed, since the denominator is the nth power of 2, the division operation can be realized through a simple shift operation, thereby reducing the computational complexity and improving the decoding efficiency.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , and also includes: if the number of the interpolation nodes that satisfy the condition is equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the conditions, so that after filling, the interpolation nodes used to determine the The total number of interpolation nodes for the attribute value of the prediction node is 4.
- the interpolation node is both a coplanar node of the prediction node that does not meet the condition and a collinear node of the current node; before performing the weighted average operation on the attribute reconstruction value of the interpolation node , and also includes: if the number of the interpolation nodes that satisfy the condition is less than or equal to 3, filling the interpolation nodes used to determine the attribute values of the prediction nodes that do not meet the condition, so that the filling is used to determine the The total number of interpolation nodes for the attribute value of the condition's prediction node is 4.
- the filling value is obtained according to the attribute reconstruction value of the interpolation node that satisfies the condition; in this way, the accuracy of the attribute value of the prediction node that does not meet the condition can be improved, thereby improving the current node's attribute value. The accuracy of the attribute prediction value, thereby improving the decoding efficiency.
- obtaining the filling value according to the attribute reconstruction value of the interpolation node that satisfies the condition includes: using the attribute reconstruction value of the last interpolation node that satisfies the condition in a specific coding order as the filling value Recharge; in this way, compared to using the attribute reconstruction value of other interpolation nodes that satisfy the conditions as the filling value, there is no need to search, thereby saving search operations and improving decoding efficiency.
- the adjacent nodes comprise coplanar nodes.
- the adjacent nodes include at least one of the following: co-planar nodes, co-linear nodes, and co-point nodes; in this way, the optional range of prediction nodes is expanded, thereby increasing the probability of obtaining more prediction nodes. possibility, thereby improving the accuracy of the attribute prediction value of the current node and improving the decoding efficiency.
- the adjacent nodes include 6 coplanar nodes.
- the adjacent nodes include 3 co-planar nodes and/or 9 co-linear nodes and/or 7 co-point nodes.
- the numbers of the 3 coplanar nodes are 3, 5, and 6, and the numbers of the 9 collinear nodes are: 1, 2, 4, 10, 12, 17, 20, 33, 34 , the numbers of the seven common-point nodes are 0, 8, 16, 24, 32, 40, and 48; since these nodes are more likely to satisfy the conditions, more nodes can be selected from these nodes.
- a prediction node with reference value thereby improving the attribute prediction value of the current node.
- the above description of the embodiment of the apparatus 14 is similar to the description of the above-mentioned embodiment of the intra-frame prediction method at the decoding end, and has similar beneficial effects as these method embodiments.
- For technical details that are not disclosed in the embodiments of the apparatus of the present application please refer to the description of the embodiments of the intra-frame prediction method at the decoding end of the present application for understanding.
- the decoding apparatus can be implemented by a decoder or processor in an electronic device; of course, it can also be implemented by a specific
- the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), a field programmable gate array (FPGA) or a graphics processor ( Graphics Processing Unit, GPU), etc.
- FIG. 15 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present application. As shown in FIG. 15 , the apparatus 15 includes: a parsing module 151, an intra-frame prediction module 152, and a decoding module 153; wherein,
- the parsing module 151 is used for parsing the received attribute code stream to obtain the residual of the current node;
- the intra-frame prediction module 152 is configured to obtain the prediction node of the current node according to the adjacent nodes of the current node; and perform a weighted average operation on the attribute values of the prediction node of the current node to obtain the attribute prediction of the current node value; wherein, the attribute value of the prediction node that satisfies the condition is its attribute reconstruction value, and for the prediction node that does not meet the condition, the prediction that does not meet the condition is obtained according to the attribute reconstruction value of the interpolation node or the preset first constant
- the attribute value of the node, the condition is the non-empty node decoded before the current node, the interpolation node is the adjacent node of the prediction node that does not meet the condition; and the attribute of the prediction node that satisfies the condition assigning a first weight to the value, assigning a second weight to the attribute value of the prediction node obtained according to the attribute reconstruction value of the interpolation node, and performing the weighted average operation based on
- the decoding module 153 is configured to determine the reconstructed value of the attribute of the current node according to the predicted value of the attribute of the current node and the residual.
- the above-mentioned intra-frame prediction method, encoding method or decoding method is implemented in the form of a software function module, and sold or used as an independent product, it can also be stored in a computer-readable to the storage medium.
- the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that contribute to related technologies.
- the computer software products are stored in a storage medium and include several instructions to make
- the electronic device executes all or part of the methods described in the various embodiments of the present application.
- the aforementioned storage medium includes: a U disk, a mobile hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
- ROM Read Only Memory
- the aforementioned storage medium includes: a U disk, a mobile hard disk, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
- the embodiments of the present application are not limited to any specific combination of hardware and software.
- FIG. 16 is a schematic diagram of a hardware entity of the electronic device according to an embodiment of the present application.
- the electronic device 16 includes a memory 161 and a processor 162 , and the memory 161 stores a computer program executable on the processor 162, and the processor 162 implements the steps in the methods provided in the above embodiments when the processor 162 executes the program.
- FIG. 17 is a schematic diagram of a hardware entity of the encoder according to an embodiment of the present application.
- the encoder 17 includes a memory 171 and a processor 172; A computer program running on the processor 172; the processor 172 is configured to execute the steps in the methods provided in the above embodiments when the computer program is run.
- FIG. 18 is a schematic diagram of a hardware entity of the decoder according to the embodiment of the present application.
- the decoder 18 includes a memory 181 and a processor 182; A computer program running on the processor 182; the processor 182 is configured to execute the steps in the methods provided in the above embodiments when the computer program is run.
- the memory is configured to store instructions and applications executable by the processor, and can also cache data to be processed or processed by each module in the corresponding device (for example, point cloud data, image data, audio data, etc.). , voice communication data and video communication data), which can be realized by flash memory (FLASH) or random access memory (Random Access Memory, RAM).
- the embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps in the methods provided in the foregoing embodiments.
- references throughout the specification to "one embodiment” or “an embodiment” or “some embodiments” or “other embodiments” mean that a particular feature, structure or characteristic associated with the embodiments is included herein in at least one embodiment of the application.
- appearances of "in one embodiment” or “in an embodiment” or “in some embodiments” or “in other embodiments” in various places throughout this specification are not necessarily necessarily referring to the same embodiment.
- the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
- the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application.
- implementation constitutes any limitation.
- the above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages or disadvantages of the embodiments.
- the disclosed apparatus and method may be implemented in other manners.
- the apparatus embodiments described above are only illustrative.
- the division of the modules is only a logical function division.
- there may be other division methods for example, multiple modules or components may be combined, or Can be integrated into another system, or some features can be ignored, or not implemented.
- the coupling, or direct coupling, or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be electrical, mechanical or other forms. of.
- modules described above as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules; they may be located in one place or distributed to multiple network units; Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional module in each embodiment of the present application may all be integrated in one processing unit, or each module may be separately used as a unit, or two or more modules may be integrated in one unit; the above integration
- the module can be implemented in the form of hardware, or it can be implemented in the form of hardware plus software functional units.
- the aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, the execution includes: The steps of the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
- ROM Read Only Memory
- the above-mentioned integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
- the technical solutions of the embodiments of the present application may be embodied in the form of software products in essence or the parts that contribute to related technologies.
- the computer software products are stored in a storage medium and include several instructions to make The electronic device or the encoder or the decoder performs all or part of the methods described in the various embodiments of the present application.
- the aforementioned storage medium includes various media that can store program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种帧内预测方法及装置、编解码器、设备、存储介质;方法包括:根据当前节点的相邻节点,得到当前节点的预测节点(81,91);对当前节点的预测节点的属性值进行加权平均运算,得到当前节点的属性预测值(82,92);对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到不满足条件的预测节点的属性值,条件为在当前节点之前编码的非空节点,插值节点为不满足条件的预测节点的相邻节点;以及为满足条件的预测节点的属性值分配第一权重,为根据插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于第一权重和第二权重进行加权平均运算,第一权重和第二权重不同。
Description
相关申请的交叉引用
本申请基于申请号为202110241152.0、申请日为2021年03月04日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以全文引入的方式引入本申请。
本申请实施例涉及点云处理技术,涉及但不限于帧内预测方法及装置、编解码器、设备、存储介质。
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能够提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息***、自动导航***、数字文化遗产、自由视点广播、三维沉浸远程呈现和生物组织器官三维重建等。
伴随着应用需求的增长,海量三维(three Dimensional,3D)点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩主要分为几何压缩和属性压缩,其中属性压缩中的帧内预测(即节点的属性值预测)的准确性的高低,直接影响着编解码效率。
发明内容
本申请实施例提供的帧内预测方法及装置、编解码器、设备、存储介质,是这样实现的:
本申请实施例提供的一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种点云编码方法,所述方法包括:对点云的当前节点执行本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属 性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种编码装置,包括:帧内预测模块,用于执行本申请实施例所述的帧内预测方法中的步骤,得到当前节点的属性预测值;确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;编码模块,用于将所述当前节点的残差编码为属性码流。
本申请实施例提供的一种编码器,所述编码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的编码侧的方法。
本申请实施例提供的一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
本申请实施例提供的一种解码装置,包括:解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;帧内预测模块,用于执行解码端的帧内预测方法中的步骤,得到当前节点的属性预测值;解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
本申请实施例提供的一种解码器,所述解码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行解码侧实施例所述的方法。
本申请实施例提供的一种电子设备,包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行本申请实施例所述的方法。
本申请实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的方法。
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为三维点云图像和局部放大图的示意图;
图2为一幅点云图像及其对应的数据存储格式的示意图;
图3A为音视频编码标准(Audio Video Standard,AVS)点云压缩专题组所提供的点云压缩参考平台,也即点云参考模型(Point Cloud Reference Model,PCRM)的编码框架示意图;
图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架示意图;
图4A为将整幅点云放置在一个正方体包围盒的示意图;
图4B为对点云的八叉树划分过程示意图;
图5为莫顿码在二维空间中的编码顺序的示意图;
图6为莫顿码在三维空间中的编码顺序的示意图;
图7A为当前节点与其共面节点的示意图;
图7B为当前节点与其共线节点的示意图;
图7C为当前节点与其共点节点的示意图;
图8为本申请实施例帧内预测方法的实现流程示意图;
图9为本申请实施例帧内预测方法的实现流程示意图;
图10为当前节点的所有共面节点的示意图;
图11为不满足条件的共面节点的插值节点的示意图;
图12为本申请实施例帧内预测装置的结构示意图;
图13为本申请实施例编码装置的结构示意图;
图14为本申请实施例帧内预测装置的结构示意图;
图15为本申请实施例解码装置的结构示意图;
图16为本申请实施例的电子设备的硬件实体示意图;
图17为本申请实施例的编码器的硬件实体示意图;
图18为本申请实施例的解码器的硬件实体示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在对本申请实施例进行进一步说明之前,对本申请实施例涉及的点云的数据形式、编解码框架和点云的规则化处理等进行说明。其中,本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
(1)点云的数据形式
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。举例来说,如图1所示,其中,101为三维点云图像。102为该点云图像的局部放大图,可以看到,点云表面是由分布稠密的点所组成的。
点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。每一个位置均有对应的属性信息,通常为红绿蓝(Red Green Blue,RGB)颜色值,颜色值反映的是物体的色彩;反射率(reflectance)也是比较常见的属性信息,反射率反映的是物体的表面材质。因此,点云数据通常包括三维位置信息所组成的几何信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。
如图2所示为一幅点云图像及其对应的数据存储格式,其中,201提供了点云图像的六个观看角度;202展示了该点云图像的数据存储格式,由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容,如202中的点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维位置信息xyz和三维颜色信息rgb。
(2)点云压缩的相关介绍
点云的采集主要有以下途径:计算机生成、3D激光扫描和3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界中的三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据的获取方式的变革,使得大量点云数据的获取成为可能。然而,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有浮点型(float)的坐标信息xyz和uchar(unsigned char)类型的颜色信息RGB,则10秒(second,s)的点云视频的数据量大约为0.7million×(4Byte×3+1Byte×3)×30fps×10s=3.15GB,而YUV采样格式为4:2:0,帧率为24fps 的1280×720二维视频,其10s的数据量约为1280×720×12bit×24frames×10s≈0.33GB,10s的两视角3D视频的数据量约为0.33×2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为了更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩采用对点云几何信息和点云属性信息分别进行压缩的方式。在编码端,首先在几何编码器中编码点云几何信息,得到重建几何信息;然后将重建几何信息作为附加信息输入到属性编码器中,从而辅助点云属性信息的压缩;在解码端,首先在几何解码器中解码点云几何信息,然后将解码后的几何信息作为附加信息输入到属性解码器中,辅助点云属性信息的压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。
图3A为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的编码框架,图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架。
对于PCRM参考软件,如图3A所示,在编码端的几何编码部分,首先,对采集得到的几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点型转化为整型,得到规则化的几何信息,即得到规则化的点云空间,从而便于后续的规则化处理;然后,对规则化的几何信息进行几何编码。例如,在一些实施例中,可以采用八叉树结构对规则化的点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占***字情况,当子块内没有点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占***字信息,并进行编码。
如图3A所示,通过八叉树结构表达的几何信息,一方面输入到几何熵编码器中形成几何码流,另一方面在编码器内进行几何重建处理,重建后的几何信息作为附加信息输入到属性编码器中。在属性编码部分,首先对采集得到的属性信息进行预处理,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色。此外,如果处理的属性信息为颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间;然后对预处理后的属性信息进行属性编码。在一些实施例中,对于属性编码,首先需要将点云进行重排序,重排序的方式是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点(当前节点)向前回溯一个点,找到的点为当前待编码点的预测参考点(预测节点),然后将预测参考点的属性重建值作为属性预测值,属性残差为当前待编码点的预处理后的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。
在解码端,如图3B所示,采用对几何码流和属性码流分别进行解码的方式。在几何码流的解码部分,首先对几何码流进行熵解码,得到每个节点的几何信息,然后按照与几何编码相同的方式构建八叉树结构,重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码后的几何信息,另一方面将解码后的几何信息作为附加信息输入到属性解码器中。在属性码流的解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后对残差信息进行反量化,得到残差值;类似地,按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码后的属性信息。
(3)点云的规则化处理
由于点云在空间中无规则分布的特性,给编码过程带来了挑战,因此采用递归八叉树的结构,将点云中的点规则化地表达成立方体的中心。如图4A所示,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x
q,y
q,z
q),q=0,...,Q-1,其中,Q是点云的总点数,点云在x、y、z方向上的边界值,如下式(1)至式(6)所示,分别为:
x
min=min(x
0,x
1,...x
q-1) 式(1);
y
min=min(y
0,y
1,...y
q-1) 式(2);
z
min=min(z
0,z
1,...z
q-1) 式(3);
x
max=max(x
0,x
1,...x
q-1) 式(4);
y
max=max(y
0,y
1,...y
q-1) 式(5);
z
max=max(z
0,z
1,...z
q-1) 式(6);
则包围盒的原点(x
origin,y
origin,z
origin)可以根据下式(7)至式(9)计算得到:
x
origin=int(floor(x
min)) 式(7);
y
origin=int(floor(y
min)) 式(8);
z
origin=int(floor(z
min)) 式(9);
包围盒在x、y、z方向上的尺寸可以根据下式(10)至式(12)计算得到:
BoudingBoxSize
x=int(x
max-x
origin)+1 式(10);
BoudingBoxSize
y=int(y
max-y
origin)+1 式(11);
BoudingBoxSize
z=int(z
max-z
origin)+1 式(12);
然后,如图4B所示,首先对正方体包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(即包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作voxel,每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点(节点),该中心点的属性值取voxel中所有点的属性值的平均值(原始属性值)。
可以理解地,将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个voxel,即编码voxel所代表的点(或称“节点”)。一种常用的编码顺序为交叉分离式的莫顿顺序,图5展示了莫顿码在二维空间中的编码顺序,以8×8大小的块为例,其中箭头的顺序表示莫顿顺序下节点的编码顺序。501为块中2×2个像素的“z”字形莫顿编码顺序,502为4个2×2块之间的“z”字形莫顿编码顺序,503为4个4×4块之间的“z”字形莫顿编码顺序,组成为整个8×8块的莫顿编码顺序。扩展到三维空间中的莫顿编码顺序如图6所示,图中展示了16个节点,每个“z”字内部,每个“z”与“z”之间的莫顿编码顺序都是先沿x轴方向编码,再沿y轴,最后沿z轴。
(4)点云压缩中的属性帧内预测
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前节点的相邻节点对当前节点进行预测,根据属性预测值与当前节点的原始属性值计算残差信息后经量化等过程,将残差信息编入码流后传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前节点的属性重建值。
在此过程中,属性帧内预测利用节点与节点之间的几何关系,以当前节点的几何共面、共线节点作为预测节点,同时预测节点需要满足的条件是在当前节点之前编码,然后将权重值设为预测节点与当前节点的几何欧氏距离的倒数乘2,即共面节点权重为2,共线节点权重为1,计算所有预测节点的属性重建值的加权平均值为属性预测值(特别地,对于编码的第一个节点,没有参考点进行预测,其属性预测值直接设为0)。根据以下这两个条件确定预测节点,即:
条件a)与当前节点满足共面和/或共线关系;
条件b)在当前节点之前编码。
如图7A至7C所示,假设当前节点O的序号为7,共有6个面,12条边,8个顶点,如图7A所示,共面节点有3、5、6、14、21和35;如图7B所示,共线节点有1、2、4、10、12、17、20、28、33、34、42和49;如图7C所示,共点节点有0、8、16、24、32、40、48和56。
在所有这些共面节点和共线节点中,无论当前节点的位置如何,始终满足“在当前节点之前编码”条件的节点为共面节点3、5和6以及共线节点1、2和4,因此预测节点为共面节点3、5和6以及共线节点1、2和4,根据下式(13)计算得到当前节点的属性预测值为所有预测节点的属性重建值的加权平均值:
假设所有预测节点都为空节点,则直接以当前节点的莫顿前序点(即莫顿编码顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值。
(5)属性帧内预测在点云编码框架中的位置
如图3A和图3B所示,该技术作用于PCRM点云编码框架中的帧内预测部分,对编码端和解码端同时作用,由于相关PCRM的编解码框架仅涉及单帧,因此属性预测特指帧内预测。
PCRM的属性编码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个 voxel中的节点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个节点执行如下的a1)、c1)、d1)过程,对于其余节点执行b1)、c1)、d1)过程:
a1)当前节点为编码的第一个节点时,此时没有参考点进行预测,其属性预测值直接设为0;
b1)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(14)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c1)残差为当前点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
d1)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值用来作为后续编码单元的参考信息。
PCRM的属性解码器的实施方法如下。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a2)、c2)过程,其余点执行b2)、c2)过程:
a2)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b2)以当前节点的共面节点3、5和6以及共线节点1、2和4作为预测节点,根据下式(15)计算所有预测节点的属性重建值的加权平均值,将该值作为当前节点的属性预测值:
当所有预测节点都为空节点时,直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
c2)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值可以用来作为后续编码单元的参考信息。
然而,PCRM所采用的上述帧内预测方法,局部使用到了当前节点周围的参考信息,仅以当前节点的左、前和下方的共面节点以及共线节点作为预测节点,无法使用到来自其右、后、上方的参考信息,从而导致帧内预测不够准确,进而影响到编码效率的提升。
有鉴于此,本申请实施例提供一种帧内预测方法,所述方法适用于编码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有编码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图8为本申请实施例帧内预测方法的实现流程示意图,如图8所示,所述方法可以包括以下步骤81至步骤82:
步骤81,根据当前节点的相邻节点,得到所述当前节点的预测节点。
在本申请实施例中,对于相邻节点是当前节点的何种节点不做限定。在一些实施例中,相邻节点可以包括当前节点的共面节点,从当前节点的共面节点中,确定K个预测节点。例如,当前节点的共面节点包括当前节点的6个共面节点。当前节点的预测节点可以是这6个共面节点,也可以是这6个共面节点中的部分节点。
当然,在另一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。例如,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。例如,电子设备可以从3个共面节点、9个共线节点和7个共点节点中确定预测节点;又如,电子设备还可以从3个共面节点和9个共线节点中确定预测节点;再如,电子设备还可以从3个共面节点和7个共点节点中确定预测节点。在此不再进行穷举。在一些实施例中,所述3个共面节点为满足条件的节点。
具体地,在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,并进一步 地将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点(这里记为第二数目),此时若第一数目和第二数目的加和仍然小于K,填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值,例如,可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
进一步地,在一些实施例中,在将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点时,优先将可插值得到的共面节点作为所述预测节点。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目大于K,取其中的K个任意相邻节点作为预测节点,或者,按照特定编码顺序,取前K个满足所述条件的相邻节点作为预测节点,或者,按照特定编码顺序,取最后K个满足所述条件的相邻节点作为预测节点。若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目大于K与第一数目的差值(记为Δ),则从这些不满足所述条件的相邻节点中选取任意Δ个作为预测节点,从而选够K个预测节点。当然,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目小于K与第一数目的差值(记为Δ),将这些不满足所述条件的相邻节点作为预测节点,并填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
对于上述选取哪些相邻节点作为预测节点的方案,在一些实施例中,也可以设定相邻节点的选取优先级。例如,共面节点的优先级高于共线节点的优先级,共线节点的优先级高于共点节点的优先级。也就是说,优先选取共面节点作为预测节点,在此情况下,如果还不够K个,则优先选取共线节点作为预测节点,在此情况下,如果仍然不够K个,则从共点节点中继续选取预测节点,当然如果还不够K个,则可以填充至K个,填充的预测节点的属性值可以是任意值,这里不再重复举例。
当然,在一些实施例中,对于步骤81的进一步实施例,也不限定要得到固定数目的预测节点,可以将当前节点的相邻节点中满足所述条件的相邻节点和插值可得到的不满足所述条件的相邻节点作为预测节点。
步骤82,对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在本申请实施例中,对于第一权重和第二权重的数值不做限定,可以是任意正数。在一些实施例中,所述第一权重大于所述第二权重。例如,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。其中,加权平均运算时,用以加权平均运算的插值节点的属性重建值的权重可以均为1,或者为不同的权重。
在本申请实施例中,填充的方式可以是多种多样的,即填充值可以是多种多样的。例如,可以是所述填充的插值节点代替的不满足所述条件的插值节点的相邻节点的属性重建值的平均值,还可以是固定常数,该固定常数可以是一经验值。又如,在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填 充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
相应地,本申请实施例提供一种帧内预测方法,该方法适用于解码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有解码功能的设备。所述帧内预测方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中。可见,所述电子设备至少包括处理器和存储介质。
图9为本申请实施例帧内预测方法的实现流程示意图,如图9所示,该方法可以包括以下步骤91至步骤92:
步骤91,根据当前节点的相邻节点,得到所述当前节点的预测节点。
在本申请实施例中,对于相邻节点是当前节点的何种节点不做限定。在一些实施例中,相邻节点可以包括当前节点的共面节点,从当前节点的共面节点中,确定K个预测节点。例如,当前节点的共面节点包括当前节点的6个共面节点。当前节点的预测节点可以是这6个共面节点,也可以是这6个共面节点中的部分节点。
当然,在另一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。例如,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。例如,电子设备可以从3个共面节点、9个共线节点和7个共点节点中确定预测节点;又如,电子设备还可以从3个共面节点和9个共线节点中确定预测节点;再如,电子设备还可以从3个共面节点和7个共点节点中确定预测节点。在此不再进行穷举。在一些实施例中,所述3个共面节点为满足条件的节点。
进一步地,在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点;这里,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,并进一步地将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点(这里记为第二数目),此时若第一数目和第二数目的加和仍然小于K,填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值,又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
进一步地,在一些实施例中,在将属性值可插值得到的不满足所述条件的相邻节点作为所述预测节点时,优先将可插值得到的共面节点作为所述预测节点。
在一些实施例中,电子设备可以根据当前节点的相邻节点,确定K个预测节点。在一些实施例中,若满足所述条件的相邻节点的数目大于K,取其中的K个任意相邻节点作为预测节点;或者,按照特定编码顺序,取前K个满足所述条件的相邻节点作为预测节点;或者,按照特定编码顺序,取最后K个满足所述条件的相邻节点作为预测节点。若满足所述条件的相邻节点的数目(为便于描述记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目大于K与第一数目的差值(记为Δ),则从这些不满足所述条件的相邻节点中选取任意Δ个作为预测节点,从而选够K个预测节点。当然,若满足所述条件的相邻节点的数目(为便于描述这里记为第一数目)小于K,将这些节点作为预测节点,若属性值插值可得到的不满足所述条件的相邻节点的数目小于K与第一数目的差值(记为Δ),将这些不满足所述条件的相邻节点作为预测节点,并填充至K个预测节点;其中,填充的K个预测节点的属性值可以是任意值。例如,填充的预测节点的属性值可以是第一数目对应的预测节点中的任一节点的属性重建值;又如,填充的预测节点的属性值可以是第一数目对应的预测节点中在特定编码顺序的第一个预测节点的属性重建值;又如,填充的预测节点的属性值可以是固定常数,该固定常数为一经验值;又如,填充的预测节点的属性值可以是第二数目对应的预测节点中的任一节点的属性值。
对于上述选取哪些相邻节点作为预测节点的方案,在一些实施例中,也可以设定相邻节点的选取优 先级。例如,共面节点的优先级高于共线节点的优先级,共线节点的优先级高于共点节点的优先级。也就是说,优先选取共面节点作为预测节点,在此情况下,如果还不够K个,则优先选取共线节点作为预测节点,在此情况下,如果仍然不够K个,则从共点节点中继续选取预测节点,当然如果还不够K个,则可以填充至K个,填充的预测节点的属性值可以是任意值,这里不再重复举例。
当然,在一些实施例中,对于步骤81的进一步实施例,也不限定要得到固定数目的预测节点,可以将当前节点的相邻节点中满足所述条件的相邻节点和插值可得到的不满足所述条件的相邻节点作为预测节点。
步骤92,对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同,或者是相同的。
在一些实施例中,所述第一权重大于所述第二权重。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
需要说明的是,以上解码端的帧内预测方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同编码端的帧内预测方法实施例相似的有益效果。对于本申请解码端的帧内预测方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
本申请实施例提供一种点云编码方法,所述方法包括:对点云的当前节点执行如编码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
需要说明的是,以上编码方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请编码方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
本申请实施例提供一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如解码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
需要说明的是,以上解码方法的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请解码方法实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
还需要说明的是,对本申请实施例的技术方案适用的平台类型不做限定,本申请实施例的技术方案 不仅适用于点云压缩参考平台PCRM,还适用于其他各种类型的点云压缩参考平台。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例的技术方案在编解码端均实行,在进行帧内预测时实行本申请实施例的技术方案,针对所有点,本技术方案提出一种基于插值过程的帧内预测增强算法。
首先需要定义的概念是预测节点的“可得性”,对于编码端,当当前节点的预测节点既能在当前节点之前编码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。对于解码端,当当前节点的预测节点既能在当前节点之前解码,且为非空节点时,称此预测节点是可得的,不满足任一条件即为不可得。
在编码端帧内预测部分的一种实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a3)、e3)和f3)过程,其余点执行b3)、c3)、d3)、e3)和f3)过程:
a3)当前节点为编码的第一个节点时,没有参考点进行预测,该当前节点的属性预测值直接设为0;
b3)如图10所示,在当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点,当预测节点可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得时且为共面节点时,执行步骤c3)以插值出不可得预测节点的属性值;
c3)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值,插值得到不可得预测节点的属性值,插值方法下式(16)所示,根据该式计算所有插值节点的属性重建值的加权平均值。其中,不可得预测节点的插值节点如图11所示。
其中,
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w
j=0,否则w
j=1。当不可得预测节点的所有插值节点都不可得时,则插值失败,此不可得预测节点的权重为0;
当∑
j=Rw
j为2的幂次时,公式(16)的除法可用移位操作替代,以减少时间复杂度。
d3)根据下式(17),计算所有预测节点的属性值的加权平均值作为当前节点的属性预测值:
其中,
为预测节点的属性值,w
i为预测节点的权重,当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。在另一些实施例中,当预测节点为可得的3、5、6时w
i=2;当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。
假设所有预测节点都为不满足条件的共面节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前编码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e3)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
f3)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值作为后续编码单元的参考信息。
在解码端的帧内预测实施例如下,即如下所称的实施例1。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程,从而计算得到属性预测值,对于解码的第一个节点执行以下a4)和e4)过程,其余点执行以下b4)、c4)、d4)和e4)过程:
a4)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b4)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点,当预测节点 可得时,属性值参考可得预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c4)以插值出不可得预测节点的属性值;
c4)通过不可得预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得预测节点的属性值,插值方法如下式(18)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中,
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得预测节点i来说,其插值节点j不可得,则有w
j=0,否则w
j=1。当不可得预测节点的所有插值节点都不可得时,则插值失败,此不可得预测节点的权重为0;
当∑
j=Rw
j为2的幂次时,公式(18)的除法可用移位操作替代,以减少时间复杂度。
d4)根据下式(19)计算所有预测节点的属性值的加权平均值,该值作为当前节点的属性预测值:
其中,
为预测节点的属性值,w
i为预测节点的权重,当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。在一些实施例中,当预测节点为可得的3、5、6时w
i=2;当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码完成)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e4)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
需要说明的是,上述实施例1的技术方案作用在图3A和3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
本技术方案在编码端帧内预测部分另一种实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程,从而计算得到属性预测值,对于编码的第一个节点执行a5)、e5)和f5)过程,其余点执行b5)、c5)、d5)、e5)和f5)过程:
a5)当前节点为编码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b5)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点;当预测节点可得时,属性值参考可得的预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c5)以插值出不可得的预测节点的属性值;
c5)通过不可得的预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得的预测节点的属性值,插值方法如下式(20)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中,
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得的预测节点i来说,其插值节点j不可得,则有w
j=0,否则w
j=1。当不可得的预测节点的所有插值节点都不可得时,则插值失败,此不可得的预测节点的权重为0;
当∑
j=Rw
j=3时,则以当前不可得的预测节点的最后一个插值节点作为填充值,使得∑
j=Rw
j=4;例如公式(20),当前不可得的预测节点为i=3,可得的插值节点为1、2和10,则以插值节点10的属性重建值作为填充值。当然,也可以以固定常数、或者周围节点的平均值等来进行填充。
当∑
j=Rw
j为2的幂次时,公式(20)的除法可用移位操作替代,以减少时间复杂度。
d5)根据下式(21)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
其中,
为预测节点的属性值,w
i为预测节点的权重,当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。在一些实施例中,当预测节点为可得的3、5、6时w
i=2;当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
e5)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;
f5)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值作为后续编码单元的参考信息。
本技术方案在解码端帧内预测实施例如下,即如下所称的实施例2。几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a6)和e6)过程,其余点执行b6)、c6)、d6)、和e6)过程:
a6)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为0;
b6)从当前节点的所有共面节点3、5、6、14、21和35中确定K个节点作为预测节点;当预测节点可得时,属性值参考可得的预测节点的属性重建值,当预测节点不可得且为共面节点时,执行步骤c6)的插值出不可得的预测节点的属性值;
c6)通过不可得的预测节点的插值节点(同时也是当前节点的共线节点)的属性重建值插值得到不可得的预测节点的属性值,插值方法如下式(22)所示,根据该式计算所有插值节点的属性重建值的加权平均值:
其中,
为插值节点j的属性重建值;权重值的取值方法为:若对于某不可得的预测节点i来说,其插值节点j不可得,则有w
j=0,否则w
j=1。当不可得的预测节点的所有插值节点都不可得时,则插值失败,此不可得的预测节点的权重为0;
当∑
j=Rw
j=3时,则以当前不可得的预测节点的最后一个插值节点作为填充值,使得∑
j=Rw
j=4;例如公式(22),当前不可得的预测节点为i=3,可得的插值节点为1、2和10,则以插值节点10的属性重建值作为填充值。当然,也可以以固定常数、或者周围节点的平均值等来进行填充。
当∑
j=Rw
j为2的幂次时,公式(22)的除法可用移位操作替代,以减少时间复杂度。
d6)根据下式(23)计算所有预测节点的属性值的加权平均值,将该值作为当前节点的属性预测值:
其中,
为预测节点的属性值,w
i为预测节点的权重,当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。在一些实施例中,当预测节点为可得的3、5、6时w
i=2;当预测节点为不可得节点且插值失败时,w
i=0,否则w
i=1。
假设所有预测节点都为不可得节点且插值失败,则直接以当前节点的莫顿前序点(即莫顿顺序下的前一个节点,该节点一定满足在当前节点之前解码)作为预测节点,属性预测值为莫顿前序点的属性重建值;
f6)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值作为后续解码单元的参考信息。
实施例2的技术方案作用在图3A和图3B所示的编解码框架中的帧内预测部分。
基于插值过程的帧内预测增强技术的预测节点的确定范围,即预测节点的选择范围,包括但不限于6个共面节点,选择范围还可以是3个共面节点、9个共线节点和7个共点节点,选择范围还可以是3个共面节点和9个共线节点,或者选择范围还可以是3个共面节点和7个共点节点;
基于插值过程的帧内预测增强技术可以采用多种插值方法,包括但不限于加权平均、临近点拷贝、填充固定值等;
基于插值过程的帧内预测增强技术可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
基于插值过程的帧内预测增强技术可以采用多种填充方法,包括但不限于填充第一个节点的属性值、填充固定常数、填充周围点的平均值等。其中K的取值可以为任意常数,若K为2的幂次,在编解码的步骤e5)和e6)计算当前节点的属性预测值时,除法可以采用二进制的移位操作。
本申请实施例的技术方案可以适用于帧内预测的编解码部分,充分利用到当前节点周围的参考信息,使用插值算法推导出当前节点的不可得的预测节点的重建属性值,优化帧内预测方案,提高帧内预测的准确性,从而能够提升编码效率。
本申请实施例的技术方案在AVS最新的点云压缩平台PCRM2.0上进行了测试,在实施例1所描述的算法下取得的测试结果如表1至4所示,这里w
i=1;在实施例2所描述的算法下取得的测试结果如表5至8所示,这里w
i=1。
其中,表1示出了实施例1在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表1所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了5.3%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了11.2%。
表1 C1-limit-lossy geometry lossy attributes
表2示出了实施例1在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表2所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了1.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了11.2%。
表2 C2-lossless geometry,lossy attributes
表3示出了实施例1在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表3所示,相比于PCRM基准平台的性能,实施例1在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Cb属性上,EtE BD-rate相比于PCRM基准平台的性能改善了0.6%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了10.2%。
表3 C3-lossless geometry,limit-lossy attributes
表4示出了实施例1在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表4所示,相比于PCRM基准平台的性能,实施例1在颜色属性上的bpip ratio有改善。例如,对于Cat1B的测试结果,bpip ratio是PCRM基准平台的输出的比特流的99.7%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了0.3%。又如,对于Cat3的测试结果,bpip ratio是PCRM基准平台的输出的比特流的98.5%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了1.5%。可见,实施例1能够通过更少的码字获得更好的失真。
表4 C4-lossless geometry,lossless attributes
表5示出了实施例2在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表5 C1-limit-lossy geometry,lossy attributes
表6示出了实施例2在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果
表6 C2-lossless geometry,lossy attributes
表7示出了实施例2在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表7 C3-lossless geometry,limit-lossy attributes
表8示出了实施例2在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果。
表8 C4-lossless geometry,lossless attributes
从上表中可以看出,在两个实施例下相比于PCRM基准平台,都具有明显的性能提升。
本申请实施例的技术方案提出在帧内预测过程中,使用插值算法推导出当前节点的预测节点属性值,优化帧内预测方案,提高帧内预测的准确性,有效提升编码效率;其中,关键在于:
(1)提出从当前节点的六个共面节点中选择预测节点;
(2)提出采用插值方法获得不可得的预测节点的属性值;
(3)提出采用当前节点的共线节点来插值得到当前节点的不可得的预测节点;
(4)提出当可得的插值节点数为3时,将插值节点数填充为4个,以方便后续将除法改为移位操作;
(5)提出当插值节点数为2的幂次时,将除法用移位操作替换。
在一些实施例中,改变上述实施例中基于插值过程的帧内预测增强技术的预测节点确定范围,如6个共面节点,或,3个共面节点、9个共线节点和7个共点节点,或,3个共面节点和9个共线节点,或,3个共面节点和7个共点节点。
在一些实施例中,将实施例1中采用加权平均的插值方法改为其他生成插值的方法,如临近点拷贝、填充固定值等;
在一些实施例中,将实施例1中的常数权重值设为其他值,如基于欧式距离的权重等;
在一些实施例中,将实施例2中采用当前不可得预测节点的最后一个共面插值节点的属性重建值填充的方法,或者固定值填充、平均值填充、临近点填充等。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图12为本申请实施例帧内预测装置的结构示意图,如图12所示,所述装置12包括获得模块121和预测模块122,其中:
获得模块121,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
预测模块122,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在一些实施例中,所述第一权重大于所述第二权重;如此,能够提高帧内预测的准确性,进而提高点云的编码效率。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值;如此,使得插值得到的所述不满足条件的预测节点的属性值更准确,从而能够提高帧内预测的准确性,进而提高点云的编码效率。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插 值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数;如此,在进行加权平均运算时,由于分母是2的n次方,因此能够通过简单的移位操作实现除法运算,从而降低运算复杂度,进而提高编码效率。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的;如此,能够提高所述不满足条件的预测节点的属性值的准确性,从而提高当前节点的属性预测值的准确性,进而减小残差值,减小传输码流的占用带宽。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值;如此,无需相比于使用其他满足所述条件的插值节点的属性重建值作为填充值,无需进行查找,从而节约查找操作,提高编码效率。
在一些实施例中,所述相邻节点包括共面节点。
在一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点;如此,扩大了预测节点的可选范围,从而增加了获得更多的预测节点的可能性,进而提高当前节点的属性预测值的准确性,减小残差值,减小传输码流的占用带宽。
在一些实施例中,所述相邻节点包括6个共面节点。
在一些实施例中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48;由于这些节点为满足所述条件的节点的可能性较大,因此从这些节点中能够选出更具有参考价值的预测节点,从而提高当前节点的属性预测值。
以上装置12的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的编码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图13为本申请实施例编码装置的结构示意图,如图13所示,所述装置13包括:帧内预测模块131、确定模块132和编码模块133;其中,
帧内预测模块131,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;以及对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同;
确定模块132,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;
编码模块133,用于将所述当前节点的残差编码为属性码流。
以上装置13的实施例的描述,与上述装置12实施例和上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编 程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图14为本申请实施例帧内预测装置的结构示意图,如图14所示,所述装置14包括获得模块141和预测模块142,其中:
获得模块141,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;
预测模块142,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;
其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及
为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
在一些实施例中,所述第一权重大于所述第二权重;如此,能够提高帧内预测的准确性,进而提高点云的解码效率。
在一些实施例中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
在一些实施例中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值;如此,使得插值得到的所述不满足条件的预测节点的属性值更准确,从而能够提高帧内预测的准确性,进而提高点云的解码效率。
在一些实施例中,在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数;如此,在进行加权平均运算时,由于分母是2的n次方,因此能够通过简单的移位操作实现除法运算,从而降低运算复杂度,进而提高解码效率。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;在所述对所述插值节点的属性重建值进行加权平均运算之前,还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
在一些实施例中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的;如此,能够提高所述不满足条件的预测节点的属性值的准确性,从而提高当前节点的属性预测值的准确性,进而提高解码效率。
在一些实施例中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值;如此,无需相比于使用其他满足所述条件的插值节点的属性重建值作为填充值,无需进行查找,从而节约查找操作,提高解码效率。
在一些实施例中,所述相邻节点包括共面节点。
在一些实施例中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点;如此,扩大了预测节点的可选范围,从而增加了获得更多的预测节点的可能性,进而提高当前节点的属性预测值的准确性,提高解码效率。
在一些实施例中,所述相邻节点包括6个共面节点。
在一些实施例中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
在一些实施例中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48;由于这些节点为满足所述条件的节点的可能性较大,因此从这些节点中能够选出更具有参考价值的预测节点,从而提高当前节点的属性预测值。
以上装置14的实施例的描述,与上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预 测方法实施例的描述而理解。
基于前述的实施例,本申请实施例提供的解码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。
图15为本申请实施例解码装置的结构示意图,如图15所示,所述装置15包括:解析模块151、帧内预测模块152和解码模块153;其中,
解析模块151,用于对接收的属性码流进行解析,得到当前节点的残差;
帧内预测模块152,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;以及对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
解码模块153,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
以上装置15的实施例的描述,与上述装置14实施例和上述解码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请解码端的帧内预测方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的帧内预测方法、编码方法或解码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图16为本申请实施例的电子设备的硬件实体示意图,如图16所示,所述电子设备16包括存储器161和处理器162,所述存储器161存储有可在处理器162上运行的计算机程序,所述处理器162执行所述程序时实现上述实施例中提供的方法中的步骤。
本申请实施例一种编码器,图17为本申请实施例的编码器的硬件实体示意图,所述编码器17包括存储器171和处理器172;其中,所述存储器171,用于存储能够在所述处理器172上运行的计算机程序;所述处理器172,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
本申请实施例一种解码器,图18为本申请实施例的解码器的硬件实体示意图,所述解码器18包括存储器181和处理器182;其中,所述存储器181,用于存储能够在所述处理器182上运行的计算机程序;所述处理器182,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。
需要说明的是,存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及相应设备中各模块待处理或已经处理的数据(例如,点云数据、图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
这里需要指出的是:以上电子设备、编码器、解码器和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请电子设备、编码器、解码器和存储介质实施例中未披露的技术细节,可以参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”或“另一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”或“在另一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下, 由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其他形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备或编码器或解码器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (38)
- 一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
- 根据权利要求1所述的方法,其中,所述第一权重大于所述第二权重。
- 根据权利要求2所述的方法,其中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
- 根据权利要求1所述的方法,其中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
- 根据权利要求4所述的方法,其中,在所述对所述插值节点的属性重建值进行加权平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
- 根据权利要求4或5所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
- 根据权利要求4或5所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
- 根据权利要求4所述的方法,其中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
- 根据权利要求8所述的方法,其中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
- 根据权利要求1至9任一项所述的方法,其中,所述相邻节点包括共面节点。
- 根据权利要求1至9任一项所述的方法,其中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。
- 根据权利要求10所述的方法,其中,所述相邻节点包括6个共面节点。
- 根据权利要求11所述的方法,其中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
- 根据权利要求13所述的方法,其中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
- 一种点云编码方法,所述方法包括:对点云的当前节点执行如权利要求1至14任一项所述的方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。
- 一种帧内预测方法,所述方法包括:根据当前节点的相邻节点,得到所述当前节点的预测节点;对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
- 根据权利要求16所述的方法,其中,所述第一权重大于所述第二权重。
- 根据权利要求17所述的方法,其中,所述第一权重为2,所述第二权重为1,通过所述插值节点的属性重建值无法插值得到的预测节点的属性值的权重为0。
- 根据权利要求16所述的方法,其中,根据所述插值节点的属性重建值,得到所述不满足条件的预测节点的属性值,包括:对所述插值节点的属性重建值进行加权平均运算,得到所述不满足条件的预测节点的属性值;其中,所述插值节点包括填充的插值节点和满足所述条件的插值节点,所述填充的插值节点的属性重建值为填充值。
- 根据权利要求19所述的方法,其中,在所述对所述插值节点的属性重建值进行平均运算之前,所述方法还包括:若满足所述条件的所述插值节点的数目不是2的n次方,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为2的n次方;其中,n为自然数。
- 根据权利要求19或20所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;所述方法还包括:若满足所述条件的所述插值节点的数目等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
- 根据权利要求19或20所述的方法,其中,所述插值节点既是所述不满足条件的预测节点的共面节点也是所述当前节点的共线节点;所述方法还包括:若满足所述条件的所述插值节点的数目小于或等于3,填充用以确定所述不满足条件的预测节点的属性值的插值节点,使得填充后用以确定所述不满足条件的预测节点的属性值的插值节点总数为4。
- 根据权利要求19所述的方法,其中,所述填充值是根据满足所述条件的插值节点的属性重建值得到的。
- 根据权利要求23所述的方法,其中,根据满足所述条件的插值节点的属性重建值,得到所述填充值,包括:将在特定编码顺序的最后一个满足所述条件的插值节点的属性重建值作为所述填充值。
- 根据权利要求16至24任一项所述的方法,其中,所述相邻节点包括共面节点。
- 根据权利要求16至24任一项所述的方法,其中,所述相邻节点包括以下至少之一:共面节点、共线节点、共点节点。
- 根据权利要求25所述的方法,其中,所述相邻节点包括6个共面节点。
- 根据权利要求26所述的方法,其中,所述相邻节点包括3个共面节点和/或9个共线节点和/或7个共点节点。
- 根据权利要求28所述的方法,其中,所述3个共面节点的编号为3、5、6,所述9个共线节点的编号为:1、2、4、10、12、17、20、33、34,所述7个共点节点的编号为0、8、16、24、32、40、48。
- 一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的残差;对所述当前节点执行如权利要求16至29任一项所述的方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
- 一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前编码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
- 一种编码装置,包括:帧内预测模块,用于执行如权利要求1至14任一项所述的帧内预测方法中的步骤,得到当前节点的属性预测值;确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;编码模块,用于将所述当前节点的残差编码为属性码流。
- 一种编码器,所述编码器包括存储器和处理器;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求1至14任一项所述的帧内预测方法,或者执行如权利要求15所述的方法。
- 一种帧内预测装置,包括:获得模块,用于根据当前节点的相邻节点,得到所述当前节点的预测节点;预测模块,用于对所述当前节点的预测节点的属性值进行加权平均运算,得到所述当前节点的属性预测值;其中,对于满足条件的预测节点的属性值为其属性重建值,对于不满足条件的预测节点,根据插值节点的属性重建值或者预设的第一常数,得到所述不满足条件的预测节点的属性值,所述条件为在所述当前节点之前解码的非空节点,所述插值节点为所述不满足条件的预测节点的相邻节点;以及为满足所述条件的预测节点的属性值分配第一权重,为根据所述插值节点的属性重建值得到的预测节点的属性值分配第二权重,至少基于所述第一权重和所述第二权重进行所述加权平均运算,所述第一权重和所述第二权重不同。
- 一种解码装置,包括:解析模块,用于对接收的属性码流进行解析,得到当前节点的残差;帧内预测模块,用于执行权利要求16至29任一项所述的帧内预测方法中的步骤,得到当前节点的属性预测值;解码模块,用于根据所述当前节点的属性预测值与所述残差,确定所述当前节点的属性重建值。
- 一种解码器,所述解码器包括存储器和处理器;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求16至29任一项所述的帧内预测方法,或者执行如权利要求30所述的方法。
- 一种电子设备,包括存储器和处理器;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求1至14任一项所述的帧内预测方法,或者执行如权利要求15所述的点云编码方法,或者执行如权利要求16至29任一项所述的帧内预测方法,或者执行如权利要求30所述的点云解码方法。
- 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至14任一项所述的帧内预测方法,或者,该计算机程序被处理器执行时实现权利要求15所述的点云编码方法,或者,该计算机程序被处理器执行时实现如权利要求16至29任一项所述的帧内预测方法,该计算机程序被处理器执行时实现权利要求30所述的点云解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180095046.4A CN116941242A (zh) | 2021-03-04 | 2021-05-31 | 帧内预测方法及装置、编解码器、设备、存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110241152 | 2021-03-04 | ||
CN202110241152.0 | 2021-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022183611A1 true WO2022183611A1 (zh) | 2022-09-09 |
Family
ID=83153830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/097447 WO2022183611A1 (zh) | 2021-03-04 | 2021-05-31 | 帧内预测方法及装置、编解码器、设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116941242A (zh) |
WO (1) | WO2022183611A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163249A (zh) * | 2007-11-20 | 2008-04-16 | 北京工业大学 | 直流模式预测方法 |
WO2018199675A1 (ko) * | 2017-04-28 | 2018-11-01 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN109889840A (zh) * | 2019-03-20 | 2019-06-14 | 北京大学深圳研究生院 | 点云编码和解码的方法、编码设备和解码设备 |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655A (zh) * | 2019-09-30 | 2019-12-13 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
-
2021
- 2021-05-31 CN CN202180095046.4A patent/CN116941242A/zh active Pending
- 2021-05-31 WO PCT/CN2021/097447 patent/WO2022183611A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163249A (zh) * | 2007-11-20 | 2008-04-16 | 北京工业大学 | 直流模式预测方法 |
WO2018199675A1 (ko) * | 2017-04-28 | 2018-11-01 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN109889840A (zh) * | 2019-03-20 | 2019-06-14 | 北京大学深圳研究生院 | 点云编码和解码的方法、编码设备和解码设备 |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655A (zh) * | 2019-09-30 | 2019-12-13 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116941242A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12020461B2 (en) | Method and apparatus for Haar-based point cloud coding | |
KR20220128388A (ko) | V-pcc용 스케일링 파라미터 | |
Yang et al. | Real-time 3d video compression for tele-immersive environments | |
CN117280680A (zh) | 动态网格对齐的并行方式 | |
WO2022183611A1 (zh) | 帧内预测方法及装置、编解码器、设备、存储介质 | |
WO2022116122A1 (zh) | 帧内预测方法及装置、编解码器、设备、存储介质 | |
TW202249488A (zh) | 點雲屬性的預測方法、裝置及編解碼器 | |
WO2022257143A1 (zh) | 帧内预测、编解码方法及装置、编解码器、设备、介质 | |
WO2023023914A1 (zh) | 帧内预测、编解码方法及装置、编解码器、设备、介质 | |
US20230412837A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
WO2022257155A1 (zh) | 解码方法、编码方法、解码器、编码器以及编解码设备 | |
WO2023123284A1 (zh) | 一种解码方法、编码方法、解码器、编码器及存储介质 | |
US20230334719A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20230345008A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
WO2023024842A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
US20230412849A1 (en) | Mesh vertex displacements coding | |
US20240020885A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
WO2023173238A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2023173237A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024065272A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2022257150A1 (zh) | 点云编解码方法、装置、点云编解码器及存储介质 | |
WO2024119518A1 (zh) | 编解码方法、解码器、编码器、码流及存储介质 | |
WO2024065269A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2023097694A1 (zh) | 解码方法、编码方法、解码器以及编码器 | |
US20240064334A1 (en) | Motion field coding in dynamic mesh compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21928691 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180095046.4 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21928691 Country of ref document: EP Kind code of ref document: A1 |