WO2022257143A1 - Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium - Google Patents

Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium Download PDF

Info

Publication number
WO2022257143A1
WO2022257143A1 PCT/CN2021/099855 CN2021099855W WO2022257143A1 WO 2022257143 A1 WO2022257143 A1 WO 2022257143A1 CN 2021099855 W CN2021099855 W CN 2021099855W WO 2022257143 A1 WO2022257143 A1 WO 2022257143A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
current
prediction
predicted
nodes
Prior art date
Application number
PCT/CN2021/099855
Other languages
French (fr)
Chinese (zh)
Inventor
魏红莲
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2021/099855 priority Critical patent/WO2022257143A1/en
Priority to CN202180098259.2A priority patent/CN117321996A/en
Publication of WO2022257143A1 publication Critical patent/WO2022257143A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiment of the present application relates to point cloud processing technology, and relates to but not limited to intra prediction, codec method and device, codec, equipment, and medium.
  • a point cloud is a set of discrete point sets randomly distributed in space that express the spatial structure and surface properties of a three-dimensional object or scene.
  • Point cloud data usually includes attribute information composed of three-dimensional position information (x, y, z), three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
  • Point cloud can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes, and because point cloud is obtained by directly sampling real objects, it can provide a strong sense of reality under the premise of ensuring accuracy, so it is 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 prediction in attribute compression directly affects the encoding and decoding efficiency.
  • the intra prediction, encoding and decoding method and device, codec, equipment, and medium provided by the embodiments of the present application can improve the accuracy of intra prediction, thereby improving the encoding and decoding efficiency of point clouds.
  • the intra-frame prediction, codec method and device, codec, equipment, and medium provided by the embodiments of the present application are implemented in the following way:
  • the intra prediction method provided by the embodiment of the present application is applied to the decoding end, and the method includes: determining the first prediction node of the current node from the first candidate nodes within the first range of the current node; When the number of the first predicted nodes is less than the first threshold, determine the second predicted node of the current node from the second candidate nodes within the second range of the current node; wherein the second The range is greater than the first range; when the total number of the first prediction node and the second prediction node is less than the first threshold, the first K third candidates in the decoding order of the current node In the node, determine the third predicted node of the current node; wherein, K is greater than 0; according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node, the current node's property predictions.
  • the point cloud decoding method provided by the embodiment of the present application, the method includes: analyzing the received attribute code stream to obtain the reconstruction residual of the current node; performing intra-frame prediction as described in the embodiment of the present application on the current node The steps in the method are obtaining the attribute prediction value of the current node; determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the reconstruction residual of the current node.
  • the intra prediction method provided by the embodiment of the present application is applied to the encoding end, and the method includes: determining the first prediction node of the current node from the first candidate nodes within the first range of the current node; When the number of the first predicted nodes is less than the first threshold, determine the second predicted node of the current node from the second candidate nodes within the second range of the current node; wherein the second The range is greater than the first range; when the total number of the first prediction node and the second prediction node is less than the first threshold, the first K third candidates in the encoding order of the current node In the node, determine the third predicted node of the current node; wherein, K is greater than 0; according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node, the current node's property predictions.
  • the point cloud encoding method provided by the embodiment of the present application is applied to the encoding end, and the method includes: performing the steps in the intra prediction method as described in the embodiment of the present application on the current node of the point cloud to obtain the current node An attribute prediction value; determining a residual between the current node's attribute prediction value and the current node's original attribute value; encoding the current node's residual into an attribute code stream.
  • the intra prediction device is applied to the decoding end, and includes: a first determination module, configured to determine the first prediction of the current node from the first candidate nodes within the first range of the current node A node; a second determination module, configured to determine the current node from second candidate nodes within a second range of the current node when the number of the first predicted nodes is less than a first threshold The second prediction node; wherein, the second range is greater than the first range; a third determination module, used for the case where the total number of the first prediction node and the second prediction node is less than the first threshold Next, determine the third prediction node of the current node from the first K third candidate nodes in the decoding order of the current node; wherein, K is greater than 0; the first intra-frame prediction module is used for according to the The attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node are obtained to obtain the predicted attribute value of the current node.
  • the decoding device provided by the embodiment of the present application includes: an analysis module for analyzing the received attribute code stream to obtain the reconstruction residual of the current node;
  • the steps in the intra prediction method applicable to the decoding end described in the embodiment of the application are to obtain the predicted attribute value of the current node;
  • the reconstruction module is used to obtain the predicted attribute value of the current node and the reconstruction residue of the current node Poor, determine the attribute reconstruction value of the current node.
  • the decoder provided in the embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra prediction method applicable to the decoding end as described in the embodiment of the present application, or execute the point cloud decoding method as described in the embodiment of the present application.
  • the intra prediction device is applied to the coding end, and includes: a fourth determination module, configured to determine the first prediction of the current node from the first candidate nodes within the first range of the current node node; a fifth determination module, configured to determine the current node from second candidate nodes within a second range of the current node when the number of the first predicted nodes is less than a first threshold The second prediction node; wherein, the second range is greater than the first range; a sixth determination module, used when the total number of the first prediction node and the second prediction node is less than the first threshold Next, from the first K third candidate nodes under the coding order of the current node, determine the third prediction node of the current node; wherein, K is greater than 0; the third intra-frame prediction module is used for according to the The attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node are obtained to obtain the predicted attribute value of the current node.
  • the encoding device provided in the embodiment of the present application includes: a fourth intra-frame prediction module, configured to perform the steps in the intra-frame prediction method applicable to the encoding end as described in the embodiment of the present application on the current node of the point cloud, to obtain the The attribute prediction value of the current node; the seventh determination module is used to determine the residual difference between the attribute prediction value of the current node and the original attribute value of the current node; the encoding module is used to convert the residual value of the current node The difference is coded as an attribute code stream.
  • An encoder provided in an embodiment of the present application includes a memory and a processor; the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra-frame prediction method applicable to the encoding end as described in the embodiment of the present application, or execute the point cloud encoding method as described in the embodiment of the present application.
  • An electronic device provided by an embodiment of the present application includes a memory and a processor; the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra-frame prediction method applicable to the decoding end as described in the embodiment of the application, or execute the point cloud decoding method as described in the embodiment of the application, or execute the intra-frame prediction method applicable to the encoding end as described in the embodiment of the application prediction method, or execute the point cloud encoding method as described in the embodiment of the present application.
  • the computer-readable storage medium provided by the embodiment of the present application has a computer program stored thereon, and when the computer program is executed by the processor, the intra prediction method applicable to the decoding end as described in the embodiment of the present application is implemented, or the computer program is executed by When executed by the processor, the point cloud decoding method described in the embodiment of the present application is realized, or, when the computer program is executed by the processor, the intra-frame prediction method applicable to the encoding end described in the embodiment of the present application is realized, and the computer program is executed by the processor During execution, the point cloud encoding method described in the embodiment of the present application is realized.
  • the first prediction node of the current node is determined from the first candidate nodes within the first range of the current node; when the number of the first prediction nodes is less than the first threshold, the The first K third candidate nodes under the coding order of the current node are used to select other prediction nodes of the current node, but first locate the second range of the current node, and search for the second prediction node that satisfies the conditions.
  • the total number of predicted nodes is still less than the first threshold, and then the full search is performed among the first K third candidate nodes; in this way, the finally found predicted nodes can include the nodes closest to the current node as much as possible, thereby improving the performance of intra-frame prediction. Accuracy, and then indirectly improve the coding efficiency, so that the residual occupies less bandwidth.
  • 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 point cloud compression reference platform provided by the Audio Video Standard (AVS) Point Cloud Compression Task Force, that is, the coding framework of the Point Cloud Reference Model (PCRM);
  • AVS Audio Video Standard
  • PCM Point Cloud Reference Model
  • Figure 3B is a schematic diagram of the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression task force;
  • Figure 4A is a schematic diagram of placing the entire point cloud in a cube bounding box
  • Fig. 4B is a schematic diagram of the octree division process of the point cloud
  • Fig. 5 is the schematic diagram of the encoding order of Morton code in two-dimensional space
  • Fig. 6 is the schematic diagram of the encoding order of Morton code in three-dimensional space
  • FIG. 7A is a schematic diagram of the current node and its coplanar node
  • FIG. 7B is a schematic diagram of the current node and its collinear node
  • FIG. 7C is a schematic diagram of the current node and its common node
  • FIG. 8 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a second candidate node within the second scope of the embodiment of the present application.
  • FIG. 10 is a schematic diagram of the positions of the second candidate nodes within the second scope of the embodiment of the present application.
  • FIG. 11 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram of the positions of the first candidate nodes within the first scope of the embodiment of the present application.
  • Fig. 13 is a schematic diagram of an example of the first range and the second range of the embodiment of the present application.
  • Fig. 14 is a schematic diagram of an example of a second candidate node within the second scope of the embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of an intra prediction device according to an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of an encoding device according to an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of an intra prediction device according to an embodiment of the present application.
  • FIG. 18 is a schematic structural diagram of a decoding device according to an embodiment of the present application.
  • FIG. 19 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the present application.
  • FIG. 20 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the present application.
  • FIG. 21 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 embodiment of this application is to distinguish similar or different objects, and does not represent a specific ordering of objects. Understandably, “first ⁇ second ⁇ third The specific order or sequence of "three” can be interchanged where permitted so that the embodiments of the application described herein can be practiced in other orders than those illustrated or described herein.
  • a point cloud is a set of discrete point sets randomly distributed in space that 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 partially enlarged view of the point cloud image, and it can be seen that the surface of the point cloud is composed of densely distributed points.
  • point cloud data usually includes attribute information composed of three-dimensional position information (x, y, z), three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
  • FIG. 2 it is 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, by the file header information part and the data part, the header information includes the data format, data representation type, total points of the point cloud, and the content represented by the point cloud, such as the point cloud in 202 is in ".ply" format, represented by ASCII code, and the total points are 207242, each point has three-dimensional position information (x, y, z) and three-dimensional color information (r, g, b).
  • the collection of point clouds mainly has the following methods: computer generation, 3D laser scanning and 3D photogrammetry, etc.
  • 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 can obtain millions of point clouds per second; 3D photogrammetry can obtain dynamic real-world three-dimensional objects or scenes The point cloud of tens of millions of points can be obtained per second.
  • These technologies reduce the cost and time period of point cloud data acquisition, and improve the accuracy of the data.
  • the transformation of the acquisition method of point cloud data makes it possible to obtain a large amount of point cloud data.
  • the processing of massive 3D point cloud data encounters the bottleneck of storage space and transmission bandwidth limitations.
  • the number of points in each frame of point cloud is 700,000, and each point has three-dimensional position information (x, y, z) and
  • the YUV sampling format is 4:2:0, 1280 ⁇ 720 two-dimensional video with a frame rate of 24fps
  • the data volume of 10s is about 1280 ⁇ 720 ⁇ 12bit ⁇ 24frames ⁇ 10s ⁇ 0.33GB
  • point cloud video far exceeds the data volume of 2D video and 3D video of the same duration. Therefore, in order to better realize data management, save server storage space, reduce transmission traffic and transmission time between server and client, point cloud compression has become a key issue to promote the development of point cloud industry.
  • Point cloud compression usually adopts the method of separately compressing the three-dimensional position information of the point and the attribute information of the point.
  • first encode the 3D position information of the point in the geometric encoder to obtain the reconstructed 3D position information; then input the reconstructed 3D position information into the attribute encoder as additional information, thereby assisting the compression of the attribute information of the point;
  • the 3D position information of the point is first decoded in the geometric decoder, and then the decoded 3D position information is input into the attribute decoder as additional information to assist in the compression of the point attribute information.
  • the entire codec consists of preprocessing/postprocessing, geometric encoding/decoding, and attribute encoding/decoding.
  • Figure 3A is the encoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression group
  • Figure 3B is the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression group. It should be noted that there is no limitation on the type of platform applicable to the technical solution of the embodiment of the present application. The technical solution of the embodiment of the present application is not only applicable to the point cloud compression reference platform PCRM, but also applicable to other types of point cloud compression reference platforms .
  • the collected three-dimensional position information is preprocessed, and the geometric origin is normalized to the minimum value position in the point cloud space through coordinate translation. Convert the 3D position information from floating point type to integer type through coordinate quantization to obtain regularized 3D position information, that is, to obtain regularized point cloud space, so as to facilitate subsequent regularized processing; then, the regularized 3D position information Do geometric encoding.
  • the octree structure can be used to recursively divide the regularized point cloud space, each time the current node is divided into eight sub-blocks of the same size, and the occupancy codeword of each sub-block is judged , 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 and encoded in the last layer of recursive division.
  • the three-dimensional position information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream; on the other hand, geometric reconstruction is performed in the encoder, and the reconstructed three-dimensional position information is used as Information is fed into attribute encoders.
  • the collected attribute information is firstly preprocessed. Since the three-dimensional position information changes after geometric encoding, it is necessary to reassign attribute values for each point after geometric encoding. This process is called attribute recoloring.
  • the attribute information to be processed is three-dimensional color information, it is necessary to transform the original color into a YUV color space that is more in line with the visual characteristics of the human eye; and then perform attribute encoding on the preprocessed attribute information.
  • the point cloud needs to be reordered first, and the reordering method is Morton code, so 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 of that is, trace back a point from the current point to be encoded (also called the current node) according to the Morton order, and the found point is the prediction reference point (also called the prediction node) of the current point to be encoded, and then the prediction reference
  • the attribute reconstruction value of the point is used as the attribute prediction value, and the attribute residual is the difference between the preprocessed attribute value and the attribute prediction value of the current point to be encoded; finally, the residual is quantized, and the quantized residual is input into the attribute entropy
  • the attribute code stream is formed in the encoder.
  • the attribute prediction refers specifically to intra-frame prediction.
  • the geometric code stream is first entropy decoded to obtain the three-dimensional position information of each node, and then the octree structure is constructed in the same way as the geometric code, and the coordinate transformation is reconstructed through the octree.
  • the Morton sequence is constructed in the same way as the encoding end, and the attribute code stream is entropy decoded to obtain the quantized residual information; then the residual information is dequantized to obtain the residual value ;
  • the attribute prediction value of the current point to be decoded also called the current node
  • the attribute prediction value and the residual value are added to restore the YUV attribute of the current point to be decoded value; finally, the decoded attribute information is obtained through inverse color space transformation.
  • 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 formula (10) to formula (12):
  • the cube bounding box is divided into octrees, and eight sub-blocks are obtained each time, and then the non-empty blocks in the sub-blocks (ie, the blocks containing points) are divided into octrees again , so recursively divided until a certain depth, the non-empty sub-block of the final size is called a voxel (voxel), each voxel contains one or more points, and the geometric positions of these points are normalized to the center point of the voxel ( node), the attribute value of the center point is the average value of the attribute values of all points in the voxel (ie the original attribute value).
  • voxel voxel
  • each voxel contains one or more points
  • the geometric positions of these points are normalized to the center point of the voxel ( node)
  • the attribute value of the center point is the average value of the attribute values of all points in the voxel (ie the
  • 501 is the "z"-shaped Morton coding sequence of 2 ⁇ 2 pixels in the block
  • 502 is the “z”-shaped Morton coding sequence between four 2 ⁇ 2 blocks
  • 503 is the coding sequence between four 4 ⁇ 4 blocks
  • the Morton coding sequence of the "z” shape constitutes the Morton coding sequence of the entire 8 ⁇ 8 block.
  • the Morton coding sequence extended to the three-dimensional space is shown in Figure 6, which shows 16 nodes, and the Morton coding sequence between each "z” and “z” inside each "z” is First encode along the x-axis, then along the y-axis, and finally along the z-axis.
  • the attribute intra-frame prediction part in point cloud compression for the color attribute, mainly refers to the adjacent nodes of the current node to predict the current node, calculates the residual information according to the attribute prediction value and the original attribute value of the current node, and then quantifies it.
  • the residual information is encoded into the code stream and then transmitted to the decoder; after receiving and analyzing the code stream, the decoder obtains the residual information through steps such as inverse transformation and inverse quantization, and the decoder uses the same process to predict the attribute prediction value, and the residual After the information is superimposed, the attribute reconstruction value of the current node is obtained.
  • the attribute intra-frame prediction uses the geometric relationship between nodes, and uses the geometric coplanar, collinear and/or co-point nodes of the current node as the prediction node, and the condition that the prediction node needs to meet is that the current node
  • the weight value is set to the reciprocal of the geometric Manhattan distance between the predicted node and the current node, that is, the weight of the coplanar node is 1, the weight of the collinear node is 1/2, and the weight of the co-point node is 1/3.
  • the weighted average of the attribute reconstruction values of the predicted nodes is the attribute prediction value (especially, for the coded first node, there is no reference point for prediction, and its attribute prediction value is set to 0). According to these two conditions:
  • Condition b) is coded before the current node.
  • collinear nodes and copoint nodes no matter what the position of the current node is, the ones that may satisfy the condition of "coding completed before the current node" are coplanar nodes 3, 5 and 6, and collinear node 1 , 2, 4, 10, 12, 17, 20, 33, and 34, and co-point nodes 0, 8, 16, 24, 32, 40, and 48, so the predicted nodes are at Line nodes 1, 2, 4, 10, 12, 17, 20, 33, and 34, and common point nodes 0, 8, 16, 24, 32, 40, and 48 are generated.
  • this technology acts on the intra-frame prediction part of the PCRM point cloud coding framework, and acts on both the encoding end and the decoding end.
  • An embodiment of the present application provides an intra-frame prediction method, the method is applicable to the encoding end, and the method can be applied to an electronic device with information processing capabilities, and the electronic device can be a TV, a projector, a mobile phone, a computer, a tablet Computers, virtual reality (Virtual Reality, VR) headsets, and any other devices that have point cloud video codec functions or have encoding functions.
  • the electronic device can be a TV, a projector, a mobile phone, a computer, a tablet Computers, virtual reality (Virtual Reality, VR) headsets, and any other devices that have point cloud video codec functions or have encoding functions.
  • VR Virtual Reality
  • FIG. 8 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application. As shown in FIG. 8, the method may include the following steps 801 to 804:
  • Step 801 Determine a first predicted node of the current node from first candidate nodes within a first range of the current node.
  • a node satisfying a condition among the first candidate nodes may be used as the first prediction node; wherein, the condition is a non-empty node coded before the current node.
  • all the first candidate nodes may not be traversed yet, and the total number of the currently determined first predicted nodes has reached the second threshold, and the search can be ended at this time, Get the attribute prediction value of the current node directly based on the attribute values of these predicted nodes, and continue to search for the next first candidate node, if the next first candidate node is a non-empty node coded before the current node and the distance from the current node is (for example, the Manhattan distance) is smaller than the maximum distance between the current first prediction node and the current node, then the first candidate node is used as the first prediction node to replace the first prediction node corresponding to the maximum distance.
  • the total number of determined first prediction nodes is greater than or equal to the first threshold but less than the second threshold, at this point, it is not necessary to continue to search for more If there are too many prediction nodes, the attribute prediction value of the current node is obtained based on the currently obtained attribute value of the first prediction node; or, step 802 can also be executed to continue to determine the second prediction node.
  • step 801 when determining the first prediction node among the first candidate nodes in the first range, the first candidate nodes in the first range can be searched traversally, or the Traversal searches are performed in order of distance from near to far.
  • the first candidate node whose distance to the current node is first traversed and searched for is the first sub-distance, if the total number of the first predicted nodes determined within this range satisfies the end search condition (for example, the end search condition is the currently determined prediction node The total number is greater than or equal to the first threshold, or equal to the second threshold), then no longer continue to expand the range search, that is, no longer search for other first candidate nodes within the first range, based on the currently obtained attribute value of the first predicted node , to get the attribute prediction value of the current node; if the total number of the first predicted nodes determined within the range of the first sub-distance does not meet the end search condition, then further expand the search range, based on the distance between the traversal search and the current node as the second sub- distance to the first candidate node, and so on.
  • the end search condition is the currently determined prediction node The total number is greater than or equal to the first threshold, or equal to the second threshold
  • the current node is the Mth node to be coded; wherein, M is greater than or equal to the first threshold, so that when the node before the current node is not less than the first threshold, it is ensured to find out as much as possible Accurately predict the node, so as to improve the accuracy of the attribute prediction value of the current node, and then make the corresponding residual occupy less bandwidth.
  • a specific attribute value is set as the attribute prediction value of the first node; in the If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the encoded attribute reconstruction value of the node.
  • the specific attribute value may be any value, which is not limited in this embodiment of the present application.
  • the specific attribute value is (0, 0, 0); another example, the specific attribute value is (128, 128, 128); another example, the specific attribute value is (0, 64, 0); another example, the specific attribute value is (128, 0, 0).
  • the three components for a specific attribute value may or may not be equal.
  • the mean value of the reconstructed attribute values of the coded nodes can be used as the predicted attribute value of the subsequent nodes.
  • the weighted average of the reconstructed attribute values of the encoded nodes can also be used as the predicted attribute value of the subsequent node; wherein, the weight of the encoded node is negatively correlated with the distance of the node relative to the current node. For example, the weight of an encoded node is the reciprocal of the distance from the node to the current node.
  • Step 802 when the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein , the second range is greater than the first range.
  • a node satisfying the condition among the second candidate nodes may be used as the second prediction node; wherein, the condition is a non-empty node encoded before the current node.
  • the search can be ended at this time, Get the attribute prediction value of the current node directly based on the attribute values of these predicted nodes, and continue to search for the next second candidate node, if the next second candidate node is a non-empty node encoded before the current node and the distance from the current node is (for example, the Manhattan distance) is smaller than the maximum distance between the current second prediction node and the current node, then the second candidate node is used as the second prediction node to replace the second prediction node corresponding to the maximum distance.
  • the attribute prediction value of the current node can be obtained based on the attribute value of the first prediction node and the currently obtained attribute value of the second prediction node; or, step 803 can also be executed to continue to determine Second prediction node.
  • step 802 when step 802 is implemented, that is, when the second prediction node is determined among the second candidate nodes in the second range, the second candidate nodes in the second range can be searched traversally, or the current node can be Traversal searches are performed in order of distance from near to far.
  • the search range is further expanded, based on the traversal search and The distance of the current node is the second candidate node of the fourth sub-distance, and so on.
  • step 803 when the number of the first predicted node is greater than or equal to the first threshold, the following step 803 may not be performed, but the predicted attribute value of the current node is directly obtained according to the attribute value of the first predicted node;
  • step 802 and/or step 803 when the number of the first prediction nodes is greater than or equal to the first threshold, step 802 and/or step 803 may be used to continue searching for the second prediction node and/or the third prediction node, However, the total number of predicted nodes cannot exceed the second threshold; then, based on the attribute reconstruction values of all predicted nodes obtained through the final search, the predicted attribute value of the current node is obtained.
  • a node satisfying a condition in the second range may be determined as the second prediction node; wherein the condition is a non-empty node encoded before the current node.
  • the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
  • the type of the distance which can be Manhattan distance, Euclidean distance or vertical distance, etc.; the so-called vertical distance refers to the distance from the node to the plane where the surface of the current node is located. distance.
  • the first candidate node includes a co-planar node of the current node, a collinear node of the current node, and/or a co-point node of the current node.
  • both the first candidate node and the second candidate node are nodes that may complete encoding before the current node.
  • the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34 nodes, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
  • the types of the first distance and the second distance are not limited, they can be the Manhattan distance, or the distance from the plane where the surface of the current node is located. Taking the Manhattan distance as an example, as shown in Figure 9, the second distance is greater than or equal to 3, for example, as shown in Figure 9, the second distance is 6 (correspondingly, from the perspective of vertical distance, the second distance is 2 , the unit is a node, that is, the distance from the candidate node to the plane where the surface of the current node is located is 2 nodes), and the second candidate node is a node whose Manhattan distance from the current node is 2 and/or 3.
  • the second candidate nodes include indexes 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52 , 84, 98, 140, 161, 266, 273 nodes.
  • Step 803 when the total number of the first prediction node and the second prediction node is less than the first threshold, determine the first K third candidate nodes in the coding order of the current node.
  • step 803 may be used to continue searching for the third prediction node, or the search for the prediction node may be terminated, according to the first The attribute values of the predicted node and the second predicted node are obtained to obtain the predicted value of the attribute of the current node.
  • the encoding order may be Morton order, Hilbert order or other encoding order, etc.
  • step 803 can be implemented as follows:
  • the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node;
  • the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the predicted nodes and the current node and the current third candidate node is coded before the predicted node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
  • the specific numerical values of the first threshold and the second threshold are not limited, and may be in any range.
  • the first threshold is 3, and the second threshold is 6; in this way, without greatly increasing the search complexity, using more prediction nodes can improve the accuracy of intra prediction, thereby reducing the residual bandwidth used.
  • the second threshold is enough to enter step 804 again, according to the attribute values of all predicted nodes (including the filled predicted nodes), the predicted attribute value of the current node is obtained; wherein, the filled predicted node's attribute value can be any value, for example, its
  • the attribute value is the attribute reconstruction value of any determined prediction node.
  • its attribute value is a fixed constant.
  • its attribute value is the prediction node with the closest distance to the current prediction node among the determined prediction nodes attribute value.
  • Step 804 Obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node.
  • the predicted value of the attribute of the current node may be obtained according to reconstructed values of attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
  • the average or weighted average of the attribute reconstruction values of the above-mentioned predicted nodes can be used as the predicted attribute value of the current node; wherein, the weight value of the predicted node is negatively correlated with the distance from the current node , for example, the weight value is the reciprocal of the distance between the predicted node and the current node.
  • the first prediction node of the current node is determined from the first candidate nodes within the first range of the current node; when the number of the first prediction nodes is less than the first threshold, the The first K third candidate nodes under the coding order of the current node are used to select other prediction nodes of the current node, but first locate the second range of the current node, and search for the second prediction node that satisfies the conditions.
  • the total number of predicted nodes is still less than the first threshold, and then the full search is performed among the first K third candidate nodes; in this way, the finally found predicted nodes can include the nodes closest to the current node as much as possible, thereby improving the performance of intra-frame prediction. Accuracy, and then indirectly improve the coding efficiency, so that the residual occupies less bandwidth.
  • the search for the predictive node is ended, and no full search is performed among the first K third candidate nodes, directly according to
  • the attribute values of the first prediction node and the second prediction node are used to obtain the attribute prediction value of the current node; in this way, the prediction node closest to the current node can be found with maximum efficiency, thereby improving coding efficiency.
  • K may be any value, and the range of K is not limited.
  • K is 32.
  • An embodiment of the present application provides a point cloud encoding method, the method comprising: performing the steps in the intra-frame prediction method of the encoding end on the current node of the point cloud to obtain the attribute prediction value of the current node; determining the current node The residual between the predicted attribute value of the current node and the original attribute value of the current node; encoding the residual of the current node into an attribute code stream.
  • the reconstruction residual of the current node is determined; and the reconstruction residual is superimposed on the predicted attribute value of the current node to obtain the reconstructed attribute value of the current node.
  • processing such as transformation and/or quantization may be performed on the residual of the current node, and then post-processing such as inverse quantization and/or inverse transformation may be performed on the processed residual to obtain the reconstructed residual of the current node.
  • the description of the above embodiment of the point cloud encoding method is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects as the method embodiment.
  • the technical details not disclosed in the embodiment of the point cloud encoding method of the present application please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
  • the embodiment of the present application provides an intra-frame prediction method, which is applicable to the decoding end, and the method can be applied to electronic equipment with information processing capabilities, and the electronic equipment can be a TV, a projector, a mobile phone, a computer, etc. , tablets, virtual reality (Virtual Reality, VR) headsets and any other devices with point cloud video encoding and decoding functions or decoding functions.
  • electronic equipment can be a TV, a projector, a mobile phone, a computer, etc. , tablets, virtual reality (Virtual Reality, VR) headsets and any other devices with point cloud video encoding and decoding functions or decoding functions.
  • VR Virtual Reality
  • FIG. 11 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application. As shown in FIG. 11 , the method may include the following steps 111 to 114:
  • Step 111 from the first candidate nodes within the first range of the current node, determine the first predicted node of the current node.
  • the current node is the Mth node; wherein, M is greater than or equal to the first threshold.
  • M is greater than or equal to the first threshold.
  • the current node when the current node is the first node, set the specific attribute value as the attribute prediction value of the first node; when the current node is the subsequent node of the first node and the node before the Mth node In the case of , the predicted value of the attribute of the subsequent node is obtained according to the reconstructed value of the attribute of the decoded node.
  • Step 112 when the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein , the second range is greater than the first range.
  • the method further includes: when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, ending the search for the prediction node, according to the first A predicted node and the attribute value of the second predicted node to obtain the attribute value of the current node.
  • a node satisfying a condition in the second range may be determined as the second prediction node; wherein, the condition is a non-empty node decoded before the current node.
  • the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
  • the first candidate node includes a co-planar node of the current node, a collinear node of the current node, and/or a co-point node of the current node.
  • both the first candidate node and the second candidate node are nodes that may complete decoding before the current node.
  • the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33, and 34.
  • the co-point nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
  • the first distance and the second distance are Manhattan distances.
  • the second distance is greater than or equal to 3
  • the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
  • the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140, 161, 266 , 273 nodes.
  • Step 113 when the total number of the first prediction node and the second prediction node is less than the first threshold, determine the first K third candidate nodes in the decoding order of the current node.
  • step 113 can be implemented as follows:
  • the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node;
  • the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the prediction nodes and the current node and the current third candidate node is decoded before the prediction node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
  • the specific numerical values of the first threshold and the second threshold are not limited, and may be in any range.
  • the first threshold is 3, and the second threshold is 6; in this way, without greatly increasing the search complexity, using more prediction nodes can improve the accuracy of intra prediction, thereby reducing the residual bandwidth used.
  • Step 114 Obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
  • the predicted value of the attribute of the current node may be obtained according to reconstructed values of attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
  • the intra prediction method at the decoding end is the same as the intra prediction method at the encoding end. Therefore, the description of the above embodiment of the intra prediction method at the decoding end is similar to the description of the above embodiment of the intra prediction method at the encoding end. and have similar beneficial effects to those of the embodiment of the intra-frame prediction method at the encoding end.
  • the description of the embodiment of the intra prediction method at the encoding end of this application please refer to the description of the embodiment of the intra prediction method at the encoding end of this application for understanding.
  • the embodiment of the present application provides a point cloud decoding method, the method includes: analyzing the received attribute code stream to obtain the reconstruction residual of the current node; Step, obtain the predicted value of the attribute of the current node; 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 reconstruction residual.
  • Embodiment 1 the geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the Morton encoding order, and for the first node of the encoding Execute the following a1), c1), and d1) processes, and perform b1), c1), and d1) processes for the remaining nodes:
  • the residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then perform operations such as transformation and quantization on the residual;
  • the attribute prediction value is superimposed with the residual information after operations such as inverse quantization and inverse transformation to obtain the attribute reconstruction value of the current node, which is used as reference information for subsequent coding units.
  • the implementation method of the attribute decoder of PCRM is as follows.
  • the geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and execute a2 for the first node decoded ), c2) process, other points execute b2), c2) process:
  • the intra prediction method adopted by PCRM is divided into two steps:
  • the technical solution of the embodiment of the present application is implemented at the codec end, and the technical solution is implemented when intra-frame prediction is performed.
  • an intra-frame prediction algorithm based on distance priority is provided. Compared with the above-mentioned embodiment 1, the prediction node with the closest distance can be found with maximum efficiency.
  • a specific realization of the intra-frame prediction part of the technical solution of Embodiment 2 at the coding end is as follows.
  • the geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the Morton coding order, and execute a for the first, second and third nodes of the code ), f), g) process, the remaining points execute b), c), d), e), f), g) process.
  • the index of the current node is 56
  • the predicted node search range is nodes 24, 40, and 48 with a Manhattan distance of 2 from the current node, and nodes 10, 12, 17, 20, and 25 with a Manhattan distance of 3 from the current node.
  • 26, 33, 34, 41, 44, 50, 52, 84, 98, 140, 161, 266, and 273 (under the second distance, there are 79 nodes that may be coded before the current node, but considering The more points selected, the complexity of encoding and decoding will increase accordingly, so 21 of the 79 nodes are selected), and within the range of these 21 nodes (that is, an example of the second range), a minimum of 3 and a maximum of 6 node as a prediction node.
  • FIG. 10 it is a schematic diagram of the search range of the predicted node in the left, front, bottom, right, back, and top directions of the current node, respectively.
  • the candidate node is selected as the predicted node, and then all predicted nodes are compared with the current node
  • the Manhattan distance of is rearranged in ascending order
  • the number of predicted nodes is equal to 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, or, the Manhattan distance of the current third candidate node is equal to the Manhattan distance of the last predicted node and the current third candidate node If the index is smaller than the index of the predicted node at the end, replace the predicted node at the end with the candidate node, and then rearrange all the predicted nodes in order of Manhattan distance from small to large;
  • R is the prediction node set, is the attribute reconstruction value of the predicted node, w i is the weight of the predicted node, and the weight value is the reciprocal of the geometric Manhattan distance between the predicted node and the current node;
  • the residual is the difference between the original attribute value of the current node and the predicted value, and then the residual is transformed, quantized, etc.;
  • the specific flow of the intra-frame prediction at the decoding end in the technical solution of Embodiment 2 is as follows.
  • the geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and execute a for the first decoded node ), f) process, and other nodes perform b), c), d), e), f) process:
  • the candidate node is selected as the predicted node, and then all predicted nodes are compared with the current node
  • the Manhattan distance of is rearranged in ascending order
  • the number of predicted nodes is equal to 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, or, the Manhattan distance of the current third candidate node is equal to the Manhattan distance of the last predicted node and the current third candidate node If the index is smaller than the index of the predicted node at the end, replace the predicted node at the end with the candidate node, and then rearrange all the predicted nodes in order of Manhattan distance from small to large;
  • R is the prediction node set, is the attribute reconstruction value of the predicted node, w i is the weight of the predicted node, and the weight value is the reciprocal of the geometric Manhattan distance between the predicted node and the current node;
  • Embodiment 2 is applied to the intra-frame prediction part in the codec framework.
  • the depth-first-based intra prediction algorithm can adopt a variety of coding orders, including but not limited to Morton order or Hilbert order, etc.;
  • the depth-first-based intra-frame prediction algorithm can expand the search range of prediction nodes under the second distance (that is, the second range) to 79;
  • the intra-frame prediction algorithm based on distance priority may adopt various methods for selecting weight values, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
  • Embodiment 2 will be applicable to the intra-frame prediction codec part.
  • the node closest to the current node is first located, and when it cannot be found, it is in the Morton order
  • a full search is performed among the first 32 nodes, so that the prediction node closest to the current node can be found with maximum efficiency, thereby improving the coding efficiency.
  • Example 2 The technical solution of Example 2 was tested on the latest point cloud compression platform PCRM3.0 of AVS, and the test results are shown in Table 1 to Table 4.
  • Table 1 shows the test results of this embodiment on the two types of data sets of Cat1B and Cat3 under the condition C1 (C1-limit-lossy geometry, lossy attributes) of geometrically limited loss and lossy attributes, as shown in Table 1
  • this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr.
  • the performance of EtE BD-rate is improved by 0.1% compared with the PCRM benchmark platform.
  • the performance of EtE BD-rate is improved by 1.5% compared with the PCRM benchmark platform.
  • Table 2 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C2 (C2-lossless geometry, lossy attributes) that the geometry is lossless and the property is damaged, as shown in Table 2, compared to The performance of the PCRM benchmark platform, this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr.
  • EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr.
  • the performance of EtE BD-rate is improved by 4.4% compared with the PCRM benchmark platform.
  • the performance of EtE BD-rate is improved by 4.2% compared with the PCRM benchmark platform.
  • Table 3 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C3 (C3-lossless geometry, limit-lossy attributes) that the geometry is lossless and the property is limited, as shown in table 3, Compared with the performance of the PCRM benchmark platform, this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr. For example, for the test results of Cat1B, on the Cb attribute, EtE BD-rate has a performance improvement of 4.1% compared to the PCRM benchmark platform. As another example, for the test results of Cat3, in terms of Cr attribute, the performance of EtE BD-rate is improved by 3.5% compared with the PCRM benchmark platform.
  • C3 C3-lossless geometry, limit-lossy attributes
  • Table 4 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C4 (C4-lossless geometry, lossless attributes) that the geometry is lossless and the property is lossless, as shown in Table 4, compared to PCRM Benchmark platform performance, this example has an improved bpip ratio on the color attribute.
  • the bpipratio is 99.6% of the output bitstream of the PCRM benchmark platform, that is, the size of the bitstream is reduced by 0.4% compared to the output bitstream of the PCRM benchmark platform.
  • bpipratio is 99.9% of the output bitstream of the PCRM benchmark platform, that is, the size of the bitstream is reduced by 0.1% compared to the size of the bitstream output by the PCRM benchmark platform. It can be seen that this embodiment can obtain better distortion with fewer codewords.
  • Embodiment 2 provides a prediction node search method based on distance priority in the intra prediction process, which can find the prediction node closest to the current node with maximum efficiency, thereby improving coding efficiency, as follows:
  • the encoding method using the Morton order in the above embodiments can be changed to other encoding orders, such as the Hilbert order, etc.;
  • the predicted node search range under the second distance in the above embodiment can be expanded to 79 nodes, as shown in Figure 14, plus the index is 0, 1 , 2, 3, 4, 5, 6, 8, 9, 11, 13, 16, 18, 19, 22, 27, 32, 36, 37, 38, 45, 54, 64, 66, 68, 70, 80 ,82,86,96,100,102,128,129,132,133,136,137,141,160,164,165,192,196,256,257,258,259,264,265,267,272 , 274, 275, 320, 322, 384 and 385 nodes.
  • the Manhattan distance-based weighted average in this embodiment is changed to other methods, such as Euclidean distance-based weighted average, fixed constant-based weighted average, and the like.
  • the intra 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 processing unit.
  • 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 processing unit.
  • DSP digital signal processor
  • FPGA field programmable gate array
  • GPU Graphics Processing Unit
  • FIG. 15 is a schematic structural diagram of an intra-frame prediction device according to an embodiment of the present application. As shown in FIG. 15 , the intra-frame prediction device 150 is applied to the encoding end and includes:
  • a fourth determining module 151 configured to determine a first predicted node of the current node from the first candidate nodes within the first range of the current node;
  • the fifth determination module 152 is configured to determine the number of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than a first threshold Two prediction nodes; wherein the second range is greater than the first range;
  • the sixth determination module 153 is configured to, when the total number of the first prediction node and the second prediction node is less than the first threshold, select the first K third candidates in the encoding order of the current node Among the nodes, determine the third prediction node of the current node; wherein, K is greater than 0;
  • the third intra prediction module 154 is configured to obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
  • the third intra prediction module 154 is further configured to: when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, end the prediction node The search is to obtain the attribute value of the current node according to the attribute values of the first predicted node and the second predicted node.
  • the current node is an Mth node; wherein, M is greater than or equal to the first threshold.
  • the third intra-frame prediction module 154 is further configured to: when the current node is the first node, set a specific attribute value as the predicted attribute value of the first node; If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the encoded attribute reconstruction value of the node.
  • the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
  • the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
  • both the first candidate node and the second candidate node are nodes that may complete encoding before the current node.
  • the coplanar nodes of the current node include nodes with indexes 3, 5, and 6 and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
  • the first distance and the second distance are Manhattan distances.
  • the second distance is greater than or equal to 3
  • the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
  • the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140 , 161, 266, 273 nodes.
  • the fifth determination module 152 is configured to: determine a node satisfying a condition in the second range as the second prediction node; wherein the condition is coded before the current node non-empty node.
  • the sixth determination module 153 is configured to: sequentially traverse the first K third candidate nodes according to the encoding order: when the current total number of predicted nodes is less than the first threshold, the current No. Three candidate nodes are determined as the third prediction node; when the current total number of prediction nodes is greater than or equal to the first threshold and less than the second threshold, if the distance between the current third candidate node and the current node is less than that of the prediction nodes The maximum distance from the current node determines the current third candidate node as the third predicted node; wherein the predicted node includes the currently obtained first predicted node, second predicted node, and third predicted node; when the predicted node When the current total number of is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and the current node The distance of the node is equal to the maximum distance between the predicted node and the current node and the current node and the
  • the first threshold is 3, and the second threshold is 6.
  • the third intra-frame prediction module 154 is configured to: obtain the attribute prediction of the current node according to the attribute reconstruction values of the first prediction node, the second prediction node, and the third prediction node of the current node value.
  • the above description of the embodiment of the apparatus 150 is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects to those of the method embodiment.
  • For technical details not disclosed in the device embodiments of the present application please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
  • the encoding device provided by the embodiments of the present application, including the included modules, and each unit included in each module, can be implemented by an encoder or a processor in an electronic device; of course, it can also be implemented by a specific Logic circuit implementation; 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 processing unit ( Graphics Processing Unit, GPU), etc.
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • GPU Graphics Processing Unit
  • Fig. 16 is a schematic structural diagram of an encoding device according to an embodiment of the present application. As shown in Fig. 16, an encoding device 160 includes:
  • the fourth intra-frame prediction module 161 is configured to perform the steps in the intra-frame prediction method described in the encoding side of the embodiment of the present application on the current node of the point cloud to obtain the attribute prediction value of the current node;
  • a seventh determining module 162 configured to determine a residual between the predicted attribute value of the current node and the original attribute value of the current node;
  • An encoding module 163, configured to encode the residual of the current node into an attribute code stream.
  • the encoding device 160 further includes: an eighth determination module, configured to determine the reconstruction residual of the current node; a reconstruction module, configured to superimpose the reconstruction residual with the attribute prediction value of the current node, to obtain The property reconstruction value of the current node.
  • the above description of the embodiment of the apparatus 160 is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects to those of the method embodiment.
  • For technical details not disclosed in the device embodiments of the present application please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
  • FIG. 17 is a schematic structural diagram of an intra-frame prediction device according to an embodiment of the present application. As shown in FIG. 17 , the intra-frame prediction device 170 is applied to the decoding end, including:
  • the first determination module 171 is configured to determine a first predicted node of the current node from the first candidate nodes within the first range of the current node;
  • the second determining module 172 is configured to determine the second candidate node of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than a first threshold Two prediction nodes; wherein the second range is greater than the first range;
  • the third determination module 173 is configured to select the first K third candidates in the decoding order of the current node when the total number of the first prediction node and the second prediction node is less than the first threshold Among the nodes, determine the third prediction node of the current node; wherein, K is greater than 0;
  • the first intra prediction module 174 is configured to obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
  • the first intra-frame prediction module 174 is configured to: end the search of the prediction node when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold , obtaining the attribute value of the current node according to the attribute values of the first predicted node and the second predicted node.
  • the current node is an Mth node; wherein, M is greater than or equal to the first threshold.
  • the first intra-frame prediction module 174 is configured to: when the current node is the first node, set a specific attribute value as the attribute prediction value of the first node; If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the decoded attribute reconstruction value of the node.
  • the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
  • the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
  • both the first candidate node and the second candidate node are nodes that may complete decoding before the current node.
  • the coplanar nodes of the current node include nodes with indexes 3, 5, and 6 and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
  • the first distance and the second distance are Manhattan distances.
  • the second distance is greater than or equal to 3
  • the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
  • the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140 , 161, 266, 273 nodes.
  • the second determining module 172 is configured to: determine a node in the second range that satisfies the condition as the second prediction node; wherein, the condition is decoded before the current node non-empty node.
  • the third determination module 173 is configured to: sequentially traverse the first K third candidate nodes according to the decoding order: when the current total number of predicted nodes is less than the first threshold, the current No. Three candidate nodes are determined as the third prediction node; when the current total number of prediction nodes is greater than or equal to the first threshold and less than the second threshold, if the distance between the current third candidate node and the current node is less than that of the prediction nodes The maximum distance from the current node determines the current third candidate node as the third predicted node; wherein the predicted node includes the currently obtained first predicted node, second predicted node, and third predicted node; when the predicted node When the current total number of is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and the current node The distance of the node is equal to the maximum distance between the predicted node and the current node and the current third
  • the first threshold is 3, and the second threshold is 6.
  • the first intra-frame prediction module 174 is configured to obtain the attribute prediction of the current node according to the attribute reconstruction values of the first prediction node, the second prediction node and the third prediction node of the current node value.
  • the above description of the embodiment of the intra-frame prediction device 170 is similar to the description of the above-mentioned embodiment of the intra-frame prediction method, and has similar beneficial effects as those of these method embodiments.
  • For technical details not disclosed in the device embodiments of the present application please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
  • the decoding device provided in the embodiments of the present application, including the included modules, and the units included in each module, can be implemented by a decoder or processor in an electronic device; of course, it can also be implemented through a specific Logic circuit implementation; 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 processing unit ( Graphics Processing Unit, GPU), etc.
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • GPU Graphics Processing Unit
  • Fig. 18 is a schematic structural diagram of a decoding device according to an embodiment of the present application. As shown in Fig. 18, a decoding device 180 includes:
  • the analysis module 181 is used to analyze the received attribute code stream to obtain the reconstruction residual of the current node;
  • the second intra-frame prediction module 182 is configured to perform the steps in the method according to any one of claims 1 to 15 on the current node to obtain the predicted attribute value of the current node;
  • the reconstruction module 183 is configured to determine the reconstruction value of the attribute of the current node according to the predicted value of the attribute of the current node and the reconstruction residual of the current node.
  • the above method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
  • 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: various media that can store program codes such as U disk, mobile hard disk, read-only memory (Read Only Memory, ROM), magnetic disk or optical disk.
  • embodiments of the present application are not limited to any specific combination of hardware and software.
  • FIG. 19 is a schematic diagram of hardware entities of the electronic device according to the embodiment of the present application.
  • the electronic device 190 includes a memory 191 and a processor 192, and the memory 191 stores a computer program that can run on the processor 192, and the processor 192 implements the steps in the methods provided in the above-mentioned embodiments when executing the program.
  • FIG. 20 is a schematic diagram of a hardware entity of the encoder according to an embodiment of the present application.
  • the encoder 20 includes a memory 201 and a processor 202; wherein the memory 201 is used to store the A computer program running on the processor 202; the processor 202 is configured to execute the steps in the methods provided in the above embodiments when running the computer program.
  • FIG. 21 is a schematic diagram of hardware entities of the decoder according to the embodiment of the present application.
  • the decoder 21 includes a memory 211 and a processor 212; wherein the memory 211 is used to store the A computer program running on the processor 212; the processor 212 is configured to execute the steps in the methods provided in the above-mentioned embodiments when running the computer program.
  • the memory is configured to store instructions and applications executable by the processor, and can also cache data to be processed by the processor and each module in the corresponding device (for example, point cloud data, image data, audio data, etc.) , voice communication data and video communication data), can be implemented by flash memory (FLASH) or random access memory (Random Access Memory, RAM).
  • FLASH FLASH
  • RAM Random Access Memory
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in the method provided in the foregoing embodiments are implemented.
  • the disclosed devices and methods may be implemented in other ways.
  • the above-described embodiments of the touch screen system are only illustrative.
  • the division of the modules is only a logical function division.
  • the mutual coupling, or direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be in electrical, mechanical or other forms of.
  • modules described above as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed to multiple network units; Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in each embodiment of the present application can be integrated into one processing unit, or each module can be used as a single unit, or two or more modules can be integrated into one unit; the above-mentioned integration
  • the modules can be implemented in the form of hardware, or in the form of hardware plus software functional units.
  • the above-mentioned integrated units of the present application are realized in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium.
  • 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 various media capable of storing program codes such as removable storage devices, ROMs, magnetic disks or optical disks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Disclosed in the embodiments of the present application are an intra-frame prediction method and apparatus, an encoding method and apparatus, a decoding method and apparatus, a codec, a device and a medium. The intra-frame prediction method comprises: determining first prediction nodes of the current node from among first candidate nodes within a first range of the current node; when the number of first prediction nodes is less than a first threshold value, determining second prediction nodes of the current node from among second candidate nodes within a second range of the current node, wherein the second range is greater than the first range; when the total number of first prediction nodes and second prediction nodes is less than the first threshold value, determining third prediction nodes of the current node from among the first K third candidate nodes in a decoding order of the current node, wherein K is greater than 0; and obtaining a predicted attribute value of the current node according to attribute values of the first prediction nodes, the second prediction nodes and the third prediction nodes of the current node.

Description

帧内预测、编解码方法及装置、编解码器、设备、介质Intra-frame prediction, codec method and device, codec, device, medium 技术领域technical field
本申请实施例涉及点云处理技术,涉及但不限于帧内预测、编解码方法及装置、编解码器、设备、介质。The embodiment of the present application relates to point cloud processing technology, and relates to but not limited to intra prediction, codec method and device, codec, equipment, and medium.
背景技术Background technique
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云数据通常包括三维位置信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。A point cloud is a set of discrete point sets randomly distributed in space that express the spatial structure and surface properties of a three-dimensional object or scene. Point cloud data usually includes attribute information composed of three-dimensional position information (x, y, z), three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能够提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息***、自动导航***、数字文化遗产、自由视点广播、三维沉浸远程呈现和生物组织器官三维重建等。Point cloud can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes, and because point cloud is obtained by directly sampling real objects, it can provide a strong sense of reality under the premise of ensuring accuracy, so it is widely used. Including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, 3D immersive telepresence and 3D reconstruction of biological tissues and organs, etc.
伴随着应用需求的增长,海量三维(three Dimensional,3D)点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。With the growth of application requirements, the processing of massive three-dimensional (3D) point cloud data encounters the bottleneck of storage space and transmission bandwidth limitations. In order to better realize data management, save the storage space of the server, and reduce the transmission traffic and transmission time between the server and the client, 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 prediction in attribute compression directly affects the encoding and decoding efficiency.
发明内容Contents of the invention
有鉴于此,本申请实施例提供的帧内预测、编解码方法及装置、编解码器、设备、介质,能够提高帧内预测的准确性,从而提高点云的编解码效率。本申请实施例提供的帧内预测、编解码方法及装置、编解码器、设备、介质,是这样实现的:In view of this, the intra prediction, encoding and decoding method and device, codec, equipment, and medium provided by the embodiments of the present application can improve the accuracy of intra prediction, thereby improving the encoding and decoding efficiency of point clouds. The intra-frame prediction, codec method and device, codec, equipment, and medium provided by the embodiments of the present application are implemented in the following way:
本申请实施例提供的帧内预测方法,应用于解码端,所述方法包括:从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The intra prediction method provided by the embodiment of the present application is applied to the decoding end, and the method includes: determining the first prediction node of the current node from the first candidate nodes within the first range of the current node; When the number of the first predicted nodes is less than the first threshold, determine the second predicted node of the current node from the second candidate nodes within the second range of the current node; wherein the second The range is greater than the first range; when the total number of the first prediction node and the second prediction node is less than the first threshold, the first K third candidates in the decoding order of the current node In the node, determine the third predicted node of the current node; wherein, K is greater than 0; according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node, the current node's property predictions.
本申请实施例提供的点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的重建残差;对所述当前节点执行如本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;根据所述当前节点的属性预测值与所述当前节点的重建残差,确定所述当前节点的属性重建值。The point cloud decoding method provided by the embodiment of the present application, the method includes: analyzing the received attribute code stream to obtain the reconstruction residual of the current node; performing intra-frame prediction as described in the embodiment of the present application on the current node The steps in the method are obtaining the attribute prediction value of the current node; determining the attribute reconstruction value of the current node according to the attribute prediction value of the current node and the reconstruction residual of the current node.
本申请实施例提供的帧内预测方法,应用于编码端,所述方法包括:从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The intra prediction method provided by the embodiment of the present application is applied to the encoding end, and the method includes: determining the first prediction node of the current node from the first candidate nodes within the first range of the current node; When the number of the first predicted nodes is less than the first threshold, determine the second predicted node of the current node from the second candidate nodes within the second range of the current node; wherein the second The range is greater than the first range; when the total number of the first prediction node and the second prediction node is less than the first threshold, the first K third candidates in the encoding order of the current node In the node, determine the third predicted node of the current node; wherein, K is greater than 0; according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node, the current node's property predictions.
本申请实施例提供的点云编码方法,应用于编码端,所述方法包括:对点云的当前节点执行如本申请实施例所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。The point cloud encoding method provided by the embodiment of the present application is applied to the encoding end, and the method includes: performing the steps in the intra prediction method as described in the embodiment of the present application on the current node of the point cloud to obtain the current node An attribute prediction value; determining a residual between the current node's attribute prediction value and the current node's original attribute value; encoding the current node's residual into an attribute code stream.
本申请实施例提供的帧内预测装置,应用于解码端,包括:第一确定模块,用于从处于当前节 点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;第二确定模块,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;第三确定模块,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;第一帧内预测模块,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The intra prediction device provided by the embodiment of the present application is applied to the decoding end, and includes: a first determination module, configured to determine the first prediction of the current node from the first candidate nodes within the first range of the current node A node; a second determination module, configured to determine the current node from second candidate nodes within a second range of the current node when the number of the first predicted nodes is less than a first threshold The second prediction node; wherein, the second range is greater than the first range; a third determination module, used for the case where the total number of the first prediction node and the second prediction node is less than the first threshold Next, determine the third prediction node of the current node from the first K third candidate nodes in the decoding order of the current node; wherein, K is greater than 0; the first intra-frame prediction module is used for according to the The attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node are obtained to obtain the predicted attribute value of the current node.
本申请实施例提供的解码装置,包括:解析模块,用于对接收的属性码流进行解析,得到当前节点的重建残差;第二帧内预测模块,用于对所述当前节点执行如本申请实施例所述的适用于解码端的帧内预测方法中的步骤,得到所述当前节点的属性预测值;重建模块,用于根据所述当前节点的属性预测值与所述当前节点的重建残差,确定所述当前节点的属性重建值。The decoding device provided by the embodiment of the present application includes: an analysis module for analyzing the received attribute code stream to obtain the reconstruction residual of the current node; The steps in the intra prediction method applicable to the decoding end described in the embodiment of the application are to obtain the predicted attribute value of the current node; the reconstruction module is used to obtain the predicted attribute value of the current node and the reconstruction residue of the current node Poor, determine the attribute reconstruction value of the current node.
本申请实施例提供的解码器,包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的适用于解码端的帧内预测方法,或者执行如本申请实施例所述的点云解码方法。The decoder provided in the embodiment of the present application includes a memory and a processor; wherein, the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra prediction method applicable to the decoding end as described in the embodiment of the present application, or execute the point cloud decoding method as described in the embodiment of the present application.
本申请实施例提供的帧内预测装置,应用于编码端,包括:第四确定模块,用于从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;第五确定模块,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;第六确定模块,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;第三帧内预测模块,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The intra prediction device provided by the embodiment of the present application is applied to the coding end, and includes: a fourth determination module, configured to determine the first prediction of the current node from the first candidate nodes within the first range of the current node node; a fifth determination module, configured to determine the current node from second candidate nodes within a second range of the current node when the number of the first predicted nodes is less than a first threshold The second prediction node; wherein, the second range is greater than the first range; a sixth determination module, used when the total number of the first prediction node and the second prediction node is less than the first threshold Next, from the first K third candidate nodes under the coding order of the current node, determine the third prediction node of the current node; wherein, K is greater than 0; the third intra-frame prediction module is used for according to the The attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node are obtained to obtain the predicted attribute value of the current node.
本申请实施例提供的编码装置,包括:第四帧内预测模块,用于对点云的当前节点执行如本申请实施例所述的适用于编码端的帧内预测方法中的步骤,得到所述当前节点的属性预测值;第七确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;编码模块,用于将所述当前节点的残差编码为属性码流。The encoding device provided in the embodiment of the present application includes: a fourth intra-frame prediction module, configured to perform the steps in the intra-frame prediction method applicable to the encoding end as described in the embodiment of the present application on the current node of the point cloud, to obtain the The attribute prediction value of the current node; the seventh determination module is used to determine the residual difference between the attribute prediction value of the current node and the original attribute value of the current node; the encoding module is used to convert the residual value of the current node The difference is coded as an attribute code stream.
本申请实施例提供的一种编码器,包括存储器和处理器;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的适用于编码端的帧内预测方法,或者执行如本申请实施例所述的点云编码方法。An encoder provided in an embodiment of the present application includes a memory and a processor; the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra-frame prediction method applicable to the encoding end as described in the embodiment of the present application, or execute the point cloud encoding method as described in the embodiment of the present application.
本申请实施例提供的一种电子设备,包括存储器和处理器;所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如本申请实施例所述的适用于解码端的帧内预测方法,或者执行如本申请实施例所述的点云解码方法,或者执行如本申请实施例所述的适用于编码端的帧内预测方法,或者执行如本申请实施例所述的点云编码方法。An electronic device provided by an embodiment of the present application includes a memory and a processor; the memory is used to store a computer program that can run on the processor; the processor is used to run the computer program , execute the intra-frame prediction method applicable to the decoding end as described in the embodiment of the application, or execute the point cloud decoding method as described in the embodiment of the application, or execute the intra-frame prediction method applicable to the encoding end as described in the embodiment of the application prediction method, or execute the point cloud encoding method as described in the embodiment of the present application.
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的适用于解码端的帧内预测方法,或者,该计算机程序被处理器执行时实现本申请实施例所述的点云解码方法,或者,该计算机程序被处理器执行时实现本申请实施例所述的适用于编码端的帧内预测方法,该计算机程序被处理器执行时实现本申请实施例所述的点云编码方法。The computer-readable storage medium provided by the embodiment of the present application has a computer program stored thereon, and when the computer program is executed by the processor, the intra prediction method applicable to the decoding end as described in the embodiment of the present application is implemented, or the computer program is executed by When executed by the processor, the point cloud decoding method described in the embodiment of the present application is realized, or, when the computer program is executed by the processor, the intra-frame prediction method applicable to the encoding end described in the embodiment of the present application is realized, and the computer program is executed by the processor During execution, the point cloud encoding method described in the embodiment of the present application is realized.
在本申请实施例中,从处于当前节点的第一范围内的第一候选节点中,确定当前节点的第一预测节点;在第一预测节点的数目小于第一阈值的情况下,不是先遍历当前节点的编码顺序下的前K个第三候选节点从而选取当前节点的其他预测节点,而是先定位到当前节点的第二范围内,从中查找满足条件的第二预测节点,如果最终得到的预测节点总数还是小于第一阈值,才在前K个第三候选节点中进行全搜索;如此,能够使得最终查找到的预测节点尽可能地包括距离当前节点最近的节点,从而提高帧内预测的准确性,进而间接性地提升编码效率,使得残差占用更小的带宽。In the embodiment of the present application, the first prediction node of the current node is determined from the first candidate nodes within the first range of the current node; when the number of the first prediction nodes is less than the first threshold, the The first K third candidate nodes under the coding order of the current node are used to select other prediction nodes of the current node, but first locate the second range of the current node, and search for the second prediction node that satisfies the conditions. The total number of predicted nodes is still less than the first threshold, and then the full search is performed among the first K third candidate nodes; in this way, the finally found predicted nodes can include the nodes closest to the current node as much as possible, thereby improving the performance of intra-frame prediction. Accuracy, and then indirectly improve the coding efficiency, so that the residual occupies less bandwidth.
附图说明Description of drawings
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。The accompanying drawings here are incorporated into the specification and constitute a part of the specification. These drawings show embodiments consistent with the application, and are used together with the description to describe the technical solution of the application.
图1为三维点云图像和局部放大图的示意图;Fig. 1 is a schematic diagram of a three-dimensional point cloud image and a partial enlarged view;
图2为一幅点云图像及其对应的数据存储格式的示意图;Fig. 2 is a schematic diagram of a point cloud image and its corresponding data storage format;
图3A为音视频编码标准(Audio Video Standard,AVS)点云压缩专题组所提供的点云压缩参考平台,也即点云参考模型(Point Cloud Reference Model,PCRM)的编码框架示意图;Figure 3A is a schematic diagram of the point cloud compression reference platform provided by the Audio Video Standard (AVS) Point Cloud Compression Task Force, that is, the coding framework of the Point Cloud Reference Model (PCRM);
图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架示意图;Figure 3B is a schematic diagram of the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression task force;
图4A为将整幅点云放置在一个正方体包围盒的示意图;Figure 4A is a schematic diagram of placing the entire point cloud in a cube bounding box;
图4B为对点云的八叉树划分过程示意图;Fig. 4B is a schematic diagram of the octree division process of the point cloud;
图5为莫顿码在二维空间中的编码顺序的示意图;Fig. 5 is the schematic diagram of the encoding order of Morton code in two-dimensional space;
图6为莫顿码在三维空间中的编码顺序的示意图;Fig. 6 is the schematic diagram of the encoding order of Morton code in three-dimensional space;
图7A为当前节点与其共面节点的示意图;FIG. 7A is a schematic diagram of the current node and its coplanar node;
图7B为当前节点与其共线节点的示意图;FIG. 7B is a schematic diagram of the current node and its collinear node;
图7C为当前节点与其共点节点的示意图;FIG. 7C is a schematic diagram of the current node and its common node;
图8为本申请实施例帧内预测方法的实现流程示意图;FIG. 8 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application;
图9为本申请实施例第二范围内的第二候选节点示意图;FIG. 9 is a schematic diagram of a second candidate node within the second scope of the embodiment of the present application;
图10为本申请实施例第二范围内的第二候选节点的位置示意图;FIG. 10 is a schematic diagram of the positions of the second candidate nodes within the second scope of the embodiment of the present application;
图11为本申请实施例帧内预测方法的实现流程示意图;FIG. 11 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application;
图12为本申请实施例的第一范围内的第一候选节点的位置示意图;FIG. 12 is a schematic diagram of the positions of the first candidate nodes within the first scope of the embodiment of the present application;
图13为本申请实施例的第一范围和第二范围的一种示例示意图;Fig. 13 is a schematic diagram of an example of the first range and the second range of the embodiment of the present application;
图14为本申请实施例第二范围内的第二候选节点的一种示例示意图;Fig. 14 is a schematic diagram of an example of a second candidate node within the second scope of the embodiment of the present application;
图15为本申请实施例帧内预测装置的结构示意图;FIG. 15 is a schematic structural diagram of an intra prediction device according to an embodiment of the present application;
图16为本申请实施例编码装置的结构示意图;FIG. 16 is a schematic structural diagram of an encoding device according to an embodiment of the present application;
图17为本申请实施例帧内预测装置的结构示意图;FIG. 17 is a schematic structural diagram of an intra prediction device according to an embodiment of the present application;
图18为本申请实施例解码装置的结构示意图;FIG. 18 is a schematic structural diagram of a decoding device according to an embodiment of the present application;
图19为本申请实施例的电子设备的硬件实体示意图;FIG. 19 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the present application;
图20为本申请实施例的编码器的硬件实体示意图;FIG. 20 is a schematic diagram of a hardware entity of an encoder according to an embodiment of the present application;
图21为本申请实施例的解码器的硬件实体示意图。FIG. 21 is a schematic diagram of a hardware entity of a decoder according to an embodiment of the present application.
具体实施方式Detailed ways
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the specific technical solutions of the present application will be further described in detail below in conjunction with the drawings in the embodiments of the present application. The following examples are used to illustrate the present application, but not to limit the scope of the present application.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application, and are not intended to limit the present application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, references to "some embodiments" describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or a different subset of all possible embodiments, and Can be combined with each other without conflict.
需要指出,本申请实施例所涉及的术语“第一\第二\第三”是为了区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。It should be pointed out that the term "first\second\third" involved in the embodiment of this application is to distinguish similar or different objects, and does not represent a specific ordering of objects. Understandably, "first\second\third The specific order or sequence of "three" can be interchanged where permitted so that the embodiments of the application described herein can be practiced in other orders than those illustrated or described herein.
本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。The encoding and decoding framework and business scenarios described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute limitations on the technical solutions provided by the embodiments of the present application. Those skilled in the art know that with the evolution of the codec framework and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
在对本申请实施例进行进一步说明之前,对本申请实施例涉及的点云的数据形式、编解码框架和点云的规则化处理等进行说明。其中,本申请实施例描述的编解码框架以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编解码框架的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。Before further describing the embodiment of the present application, the data form of the point cloud, the encoding and decoding framework, the regularization processing of the point cloud, etc. involved in the embodiment of the present application will be described. Wherein, the codec framework and business scenarios described in the embodiments of the present application are to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute limitations on the technical solutions provided in the embodiments of the present application. Those skilled in the art know that with the evolution of the codec framework and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
(1)点云的数据形式(1) Data form of point cloud
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。举例来说,如图1所示,其中,101为三维点云图像。102为该点云图像的局部放大图,可以看到,点云表面是由分布稠密的点所组成的。A point cloud is a set of discrete point sets randomly distributed in space that express the spatial structure and surface properties of a three-dimensional object or scene. For example, as shown in FIG. 1 , 101 is a three-dimensional point cloud image. 102 is a partially enlarged view of the point cloud image, and it can be seen that the surface of the point cloud is composed of densely distributed points.
点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。每一个位置均有对应的属性信息,通常为红绿蓝三维颜色信息 (r,g,b),反映的是物体的色彩;反射率(reflectance)也是比较常见的属性信息,反射率反映的是物体的表面材质。因此,点云数据通常包括三维位置信息(x,y,z)、三维颜色信息(r,g,b)和一维反射率信息(r)所组成的属性信息。The distribution of points in the point cloud in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space in order to fully express a point cloud. Each position has corresponding attribute information, usually red, green and blue three-dimensional color information (r, g, b), which reflects the color of the object; reflectance (reflectance) is also relatively common attribute information, reflectance reflects the The surface material of the object. Therefore, point cloud data usually includes attribute information composed of three-dimensional position information (x, y, z), three-dimensional color information (r, g, b) and one-dimensional reflectance information (r).
如图2所示为一幅点云图像及其对应的数据存储格式,其中,201提供了点云图像的六个观看角度;202展示了该点云图像的数据存储格式,由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容,如202中的点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维位置信息(x,y,z)和三维颜色信息(r,g,b)。As shown in Figure 2, it is 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, by the file header information part and the data part, the header information includes the data format, data representation type, total points of the point cloud, and the content represented by the point cloud, such as the point cloud in 202 is in ".ply" format, represented by ASCII code, and the total points are 207242, each point has three-dimensional position information (x, y, z) and three-dimensional color information (r, g, b).
(2)点云压缩的相关介绍(2) Introduction to point cloud compression
点云的采集主要有以下途径:计算机生成、3D激光扫描和3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据的获取方式的变革,使得大量点云数据的获取成为可能。然而,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。The collection of point clouds mainly has the following methods: computer generation, 3D laser scanning and 3D photogrammetry, etc. 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 can obtain millions of point clouds per second; 3D photogrammetry can obtain dynamic real-world three-dimensional objects or scenes The point cloud of tens of millions of points can be obtained per second. These technologies reduce the cost and time period of point cloud data acquisition, and improve the accuracy of the data. The transformation of the acquisition method of point cloud data makes it possible to obtain a large amount of point cloud data. However, with the growth of application requirements, the processing of massive 3D point cloud data encounters the bottleneck of storage space and transmission bandwidth limitations.
以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有浮点型(float)的三维位置信息(x,y,z)和uchar类型的三维颜色信息(r,g,b),则10s的点云视频的数据量大约为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。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器的存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。Taking a point cloud video with a frame rate of 30 frames per second (fps) as an example, the number of points in each frame of point cloud is 700,000, and each point has three-dimensional position information (x, y, z) and For the three-dimensional color information (r, g, b) of the uchar type, the data volume of the 10s point cloud video is about 0.7million×(4Byte×3+1Byte×3)×30fps×10s=3.15GB, and the YUV sampling format is 4:2:0, 1280×720 two-dimensional video with a frame rate of 24fps, the data volume of 10s is about 1280×720×12bit×24frames×10s≈0.33GB, and the data volume of 10s two-view 3D video is about 0.33 ×2=0.66GB. It can be seen that the data volume of point cloud video far exceeds the data volume of 2D video and 3D video of the same duration. Therefore, in order to better realize data management, save server storage space, reduce transmission traffic and transmission time between server and client, point cloud compression has become a key issue to promote the development of point cloud industry.
点云压缩通常采用对点的三维位置信息和点的属性信息分别进行压缩的方式。在编码端,首先在几何编码器中编码点的三维位置信息,得到重建三维位置信息;然后将重建三维位置信息作为附加信息输入到属性编码器中,从而辅助点的属性信息的压缩;在解码端,首先在几何解码器中解码点的三维位置信息,然后将解码后的三维位置信息作为附加信息输入到属性解码器中,辅助点的属性信息的压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。Point cloud compression usually adopts the method of separately compressing the three-dimensional position information of the point and the attribute information of the point. At the encoding end, first encode the 3D position information of the point in the geometric encoder to obtain the reconstructed 3D position information; then input the reconstructed 3D position information into the attribute encoder as additional information, thereby assisting the compression of the attribute information of the point; At the end, the 3D position information of the point is first decoded in the geometric decoder, and then the decoded 3D position information is input into the attribute decoder as additional information to assist in the compression of the point attribute information. The entire codec consists of preprocessing/postprocessing, geometric encoding/decoding, and attribute encoding/decoding.
图3A为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的编码框架,图3B为AVS点云压缩专题组所提供的点云压缩参考平台PCRM的解码框架。需要说明的是,对本申请实施例的技术方案适用的平台类型不做限定,本申请实施例的技术方案不仅适用于点云压缩参考平台PCRM,还适用于其他各种类型的点云压缩参考平台。Figure 3A is the encoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression group, and Figure 3B is the decoding framework of the point cloud compression reference platform PCRM provided by the AVS point cloud compression group. It should be noted that there is no limitation on the type of platform applicable to the technical solution of the embodiment of the present application. The technical solution of the embodiment of the present application is not only applicable to the point cloud compression reference platform PCRM, but also applicable to other types of point cloud compression reference platforms .
对于PCRM参考软件,如图3A所示,在编码端的几何编码部分,首先,对采集得到的三维位置信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将三维位置信息从浮点型转化为整型,得到规则化的三维位置信息,即得到规则化的点云空间,从而便于后续的规则化处理;然后,对规则化的三维位置信息进行几何编码。例如,在一些实施例中,可以采用八叉树结构对规则化的点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占***字情况,当子块内没有点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占***字信息,并进行编码。For the PCRM reference software, as shown in Figure 3A, in the geometric coding part of the coding end, firstly, the collected three-dimensional position information is preprocessed, and the geometric origin is normalized to the minimum value position in the point cloud space through coordinate translation. Convert the 3D position information from floating point type to integer type through coordinate quantization to obtain regularized 3D position information, that is, to obtain regularized point cloud space, so as to facilitate subsequent regularized processing; then, the regularized 3D position information Do geometric encoding. For example, in some embodiments, the octree structure can be used to recursively divide the regularized point cloud space, each time the current node is divided into eight sub-blocks of the same size, and the occupancy codeword of each sub-block is judged , 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 and encoded in the last layer of recursive division.
如图3A所示,通过八叉树结构表达的三维位置信息一方面输入到几何熵编码器中形成几何码流,另一方面在编码器内进行几何重建处理,重建后的三维位置信息作为附加信息输入到属性编码器中。在属性编码部分,首先对采集得到的属性信息进行预处理,由于三维位置信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色,此外,如果处理的属性信息为三维颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间;然后对预处理后的属性信息进行属性编码。在一些实施例中,对于属性编码,首先需要将点云进行重排序,重排序的方式是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点(也称当前节点)向前回溯一个点,找到的点为当前待编码点的预测参考点(也称预测节点),然后将预测参考点的属性重建值作为属性预测值,属性残差为当前待编码点的预处理后的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。As shown in Figure 3A, on the one hand, the three-dimensional position information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream; on the other hand, geometric reconstruction is performed in the encoder, and the reconstructed three-dimensional position information is used as Information is fed into attribute encoders. In the attribute encoding part, the collected attribute information is firstly preprocessed. Since the three-dimensional position information changes after geometric encoding, it is necessary to reassign attribute values for each point after geometric encoding. This process is called attribute recoloring. , in addition, if the attribute information to be processed is three-dimensional color information, it is necessary to transform the original color into a YUV color space that is more in line with the visual characteristics of the human eye; and then perform attribute encoding on the preprocessed attribute information. In some embodiments, for attribute encoding, the point cloud needs to be reordered first, and the reordering method is Morton code, so 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 of , that is, trace back a point from the current point to be encoded (also called the current node) according to the Morton order, and the found point is the prediction reference point (also called the prediction node) of the current point to be encoded, and then the prediction reference The attribute reconstruction value of the point is used as the attribute prediction value, and the attribute residual is the difference between the preprocessed attribute value and the attribute prediction value of the current point to be encoded; finally, the residual is quantized, and the quantized residual is input into the attribute entropy The attribute code stream is formed in the encoder.
需要说明的是,由于相关PCRM的编解码框架仅涉及单帧,因此属性预测特指帧内预测。It should be noted that since the coding and decoding framework of the relevant PCRM only involves a single frame, the attribute prediction refers specifically to intra-frame prediction.
在解码端,如图3B所示,采用对几何码流和属性码流分别进行解码的方式。在几何码流的解码部分,首先对几何码流进行熵解码,得到每个节点的三维位置信息,然后按照与几何编码相同的方式构建八叉树结构,重建出坐标变换后的、通过八叉树结构表达的三维位置信息,一方面将该信息进行坐标反量化和反平移,得到解码后的三维位置信息,另一方面将解码后的三维位置信息作为附加信息输入到属性解码器中。在属性码流的解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后对残差信息进行反量化,得到残差值;类似地,按照与属性编码相同的方式,获得当前待解码点(也称当前节点)的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码后的属性信息。At the decoding end, as shown in FIG. 3B , a manner of decoding the geometric code stream and the attribute code stream respectively is adopted. In the decoding part of the geometric code stream, the geometric code stream is first entropy decoded to obtain the three-dimensional position information of each node, and then the octree structure is constructed in the same way as the geometric code, and the coordinate transformation is reconstructed through the octree. The three-dimensional position information expressed by the tree structure, on the one hand, coordinate inverse quantization and inverse translation of the information to obtain the decoded three-dimensional position information, on the other hand, the decoded three-dimensional position information is input into the attribute decoder as additional information. In the decoding part of the attribute code stream, the Morton sequence is constructed in the same way as the encoding end, and the attribute code stream is entropy decoded to obtain the quantized residual information; then the residual information is dequantized to obtain the residual value ;Similarly, in the same manner as attribute encoding, the attribute prediction value of the current point to be decoded (also called the current node) is obtained, and then the attribute prediction value and the residual value are added to restore the YUV attribute of the current point to be decoded value; finally, the decoded attribute information is obtained through inverse color space transformation.
(3)点云的规则化处理(3) Regularized processing of point cloud
由于点云在空间中无规则分布的特性,给编码过程带来了挑战,因此采用递归八叉树的结构,将点云中的点规则化地表达成立方体的中心。如图4A所示,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x q,y q,z q),q=0,...,Q-1,其中,Q是点云的总点数,点云在x、y、z方向上的边界值,如下式(1)至式(6)所示,分别为: Due to the irregular distribution of point cloud in space, it brings challenges to the encoding process, so the structure of recursive octree is used to express the points in the point cloud as the center of the cube in a regular way. As shown in Figure 4A, first place the entire point cloud in a cube bounding box, and the coordinates of the points in the point cloud are expressed as (x q , y q , z q ), q=0,...,Q-1 , where Q is the total number of points in the point cloud, and the boundary values of the point cloud in the x, y, and z directions, as shown in the following formulas (1) to (6), respectively:
x min=min(x 0,x 1,...x q-1)       式(1); x min =min(x 0 ,x 1 ,...x q-1 ) formula (1);
y min=min(y 0,y 1,...y q-1)      式(2); y min =min(y 0 ,y 1 ,...y q-1 ) formula (2);
z min=min(z 0,z 1,...z q-1)     式(3); z min =min(z 0 ,z 1 ,...z q-1 ) formula (3);
x max=max(x 0,x 1,...x q-1)      式(4); x max =max(x 0 ,x 1 ,...x q-1 ) Formula (4);
y max=max(y 0,y 1,...y q-1)      式(5); y max =max(y 0 ,y 1 ,...y q-1 ) formula (5);
z max=max(z 0,z 1,...z q-1)     式(6); z max = max(z 0 ,z 1 ,...z q-1 ) formula (6);
则包围盒的原点(x origin,y origin,z origin)可以根据下式(7)至式(9)计算得到: Then the origin (x origin , y origin , z origin ) of the bounding box can be calculated according to the following formula (7) to formula (9):
x origin=int(floor(x min))      式(7); x origin = int(floor(x min )) formula (7);
y origin=int(floor(y min))      式(8); y origin = int(floor(y min )) formula (8);
z origin=int(floor(z min))       式(9); z origin = int(floor(z min )) formula (9);
包围盒在x、y、z方向上的尺寸可以根据下式(10)至式(12)计算得到:The size of the bounding box in the x, y, and z directions can be calculated according to the following formula (10) to formula (12):
BoudingBoxSize x=int(x max-x origin)+1       式(10); BoudingBoxSize x =int(x max -x origin )+1 formula (10);
BoudingBoxSize y=int(y max-y origin)+1        式(11); BoudingBoxSize y = int(y max -y origin )+1 Formula (11);
BoudingBoxSize z=int(z max-z origin)+1         式(12); BoudingBoxSize z = int(z max -z origin )+1 formula (12);
然后,如图4B所示,首先对正方体包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(即包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作体素(voxel),每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点(节点),该中心点的属性值取voxel中所有点的属性值的平均值(即原始属性值)。Then, as shown in Figure 4B, firstly, the cube bounding box is divided into octrees, and eight sub-blocks are obtained each time, and then the non-empty blocks in the sub-blocks (ie, the blocks containing points) are divided into octrees again , so recursively divided until a certain depth, the non-empty sub-block of the final size is called a voxel (voxel), each voxel contains one or more points, and the geometric positions of these points are normalized to the center point of the voxel ( node), the attribute value of the center point is the average value of the attribute values of all points in the voxel (ie the original attribute value).
可以理解地,将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个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轴。It can be understood that regularizing the point cloud into blocks in space is beneficial to describe the relationship between points in the point cloud, and then can express a specific encoding sequence, and encode each voxel in a certain order, that is, the encoded voxel represents point (or "node"). A commonly used coding sequence is the cross-separated Morton sequence. Figure 5 shows the coding sequence of the Morton code in two-dimensional space, taking an 8×8 block as an example, where the sequence of the arrows represents the Morton sequence. The encoding order of the nodes. 501 is the "z"-shaped Morton coding sequence of 2×2 pixels in the block, 502 is the "z"-shaped Morton coding sequence between four 2×2 blocks, and 503 is the coding sequence between four 4×4 blocks The Morton coding sequence of the "z" shape constitutes the Morton coding sequence of the entire 8×8 block. The Morton coding sequence extended to the three-dimensional space is shown in Figure 6, which shows 16 nodes, and the Morton coding sequence between each "z" and "z" inside each "z" is First encode along the x-axis, then along the y-axis, and finally along the z-axis.
(4)点云压缩中的属性帧内预测(4) Attribute intra-frame prediction in point cloud compression
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前节点的相邻节点对当前节点进 行预测,根据属性预测值与当前节点的原始属性值计算残差信息后经量化等过程,将残差信息编入码流后传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前节点的属性重建值。The attribute intra-frame prediction part in point cloud compression, for the color attribute, mainly refers to the adjacent nodes of the current node to predict the current node, calculates the residual information according to the attribute prediction value and the original attribute value of the current node, and then quantifies it. The residual information is encoded into the code stream and then transmitted to the decoder; after receiving and analyzing the code stream, the decoder obtains the residual information through steps such as inverse transformation and inverse quantization, and the decoder uses the same process to predict the attribute prediction value, and the residual After the information is superimposed, the attribute reconstruction value of the current node is obtained.
在此过程中,属性帧内预测利用节点与节点之间的几何关系,以当前节点的几何共面、共线和/或共点节点作为预测节点,同时预测节点需要满足的条件是在当前节点之前编码完成,然后将权重值设为预测节点与当前节点的几何曼哈顿距离的倒数,即共面节点权重为1,共线节点权重为1/2,共点节点权重为1/3,计算所有预测节点的属性重建值的加权平均值为属性预测值(特别地,对于编码的第一个节点,没有参考点进行预测,其属性预测值设为0)。根据这两个条件:In this process, the attribute intra-frame prediction uses the geometric relationship between nodes, and uses the geometric coplanar, collinear and/or co-point nodes of the current node as the prediction node, and the condition that the prediction node needs to meet is that the current node The previous encoding is completed, and then the weight value is set to the reciprocal of the geometric Manhattan distance between the predicted node and the current node, that is, the weight of the coplanar node is 1, the weight of the collinear node is 1/2, and the weight of the co-point node is 1/3. Calculate all The weighted average of the attribute reconstruction values of the predicted nodes is the attribute prediction value (especially, for the coded first node, there is no reference point for prediction, and its attribute prediction value is set to 0). According to these two conditions:
条件a)与当前节点满足共面、共线关系和/或共点关系;Condition a) satisfy the coplanar, collinear relationship and/or copoint relationship with the current node;
条件b)在当前节点之前编码。Condition b) is coded before the current node.
如图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。As shown in Figures 7A to 7C, assuming that the serial number of the current node O is 7, there are 6 faces, 12 edges, and 8 vertices in total. As shown in Figure 7A, there are 3, 5, 6, 14, 21 and 35; as shown in Figure 7B, the collinear nodes include 1, 2, 4, 10, 12, 17, 20, 28, 33, 34, 42 and 49; as shown in Figure 7C, the collinear nodes include 0, 8, 16, 24, 32, 40, 48 and 56.
在所有这些共面节点、共线节点和共点节点中,无论当前节点的位置如何,可能满足“在当前节点之前编码完成”条件的为共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48,因此预测节点在共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48中产生。Among all these coplanar nodes, collinear nodes and copoint nodes, no matter what the position of the current node is, the ones that may satisfy the condition of "coding completed before the current node" are coplanar nodes 3, 5 and 6, and collinear node 1 , 2, 4, 10, 12, 17, 20, 33, and 34, and co-point nodes 0, 8, 16, 24, 32, 40, and 48, so the predicted nodes are at Line nodes 1, 2, 4, 10, 12, 17, 20, 33, and 34, and common point nodes 0, 8, 16, 24, 32, 40, and 48 are generated.
(5)属性帧内预测在点云编码框架中的位置(5) The position of attribute intra prediction in the point cloud coding framework
如图3A和图3B所示,该技术作用于PCRM点云编码框架中的帧内预测部分,对编码端和解码端同时作用。As shown in Figure 3A and Figure 3B, this technology acts on the intra-frame prediction part of the PCRM point cloud coding framework, and acts on both the encoding end and the decoding end.
本申请实施例提供一种帧内预测方法,所述方法适用于编码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有编码功能的设备。An embodiment of the present application provides an intra-frame prediction method, the method is applicable to the encoding end, and the method can be applied to an electronic device with information processing capabilities, and the electronic device can be a TV, a projector, a mobile phone, a computer, a tablet Computers, virtual reality (Virtual Reality, VR) headsets, and any other devices that have point cloud video codec functions or have encoding functions.
图8为本申请实施例帧内预测方法的实现流程示意图,如图8所示,所述方法可以包括以下步骤801至步骤804:FIG. 8 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application. As shown in FIG. 8, the method may include the following steps 801 to 804:
步骤801,从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点。Step 801: Determine a first predicted node of the current node from first candidate nodes within a first range of the current node.
在一些实施例中,可以将第一候选节点中满足条件的节点作为第一预测节点;其中,所述条件为在当前节点之前编码的非空节点。In some embodiments, a node satisfying a condition among the first candidate nodes may be used as the first prediction node; wherein, the condition is a non-empty node coded before the current node.
在第一范围内的第一候选节点中进行查找的过程中,可能还未遍历完所有第一候选节点,当前确定的第一预测节点的总数已经达到第二阈值了,此时可以结束查找,直接基于这些预测节点的属性值得到当前节点的属性预测值,还可以继续查找下一第一候选节点,如果下一第一候选节点为在当前节点之前编码的非空节点且与当前节点的距离(例如曼哈顿距离)小于当前第一预测节点中与当前节点的最大距离,则将该第一候选节点作为第一预测节点替换该最大距离对应的第一预测节点。In the process of searching among the first candidate nodes in the first range, all the first candidate nodes may not be traversed yet, and the total number of the currently determined first predicted nodes has reached the second threshold, and the search can be ended at this time, Get the attribute prediction value of the current node directly based on the attribute values of these predicted nodes, and continue to search for the next first candidate node, if the next first candidate node is a non-empty node coded before the current node and the distance from the current node is (for example, the Manhattan distance) is smaller than the maximum distance between the current first prediction node and the current node, then the first candidate node is used as the first prediction node to replace the first prediction node corresponding to the maximum distance.
在一些实施例中,在遍历第一范围内的每一第一候选节点之后,确定的第一预测节点的总数大于或等于第一阈值但是小于第二阈值,此时,可以不再继续查找更多的预测节点,而是基于当前得到的第一预测节点的属性值,得到当前节点的属性预测值;或者,还可以执行步骤802,继续确定第二预测节点。In some embodiments, after traversing each first candidate node in the first range, the total number of determined first prediction nodes is greater than or equal to the first threshold but less than the second threshold, at this point, it is not necessary to continue to search for more If there are too many prediction nodes, the attribute prediction value of the current node is obtained based on the currently obtained attribute value of the first prediction node; or, step 802 can also be executed to continue to determine the second prediction node.
需要说明的是,在实现步骤801时,即在第一范围内的第一候选节点中确定第一预测节点时,可以遍历搜索第一范围内的第一候选节点,也可以按照与当前节点的距离由近到远的顺序进行遍历搜索。例如,先遍历搜索与当前节点的距离为第一子距离的第一候选节点,如果在此范围内确定的第一预测节点的总数满足结束查找条件(例如结束查找条件为当前确定的预测节点的总数大于或等于第一阈值、或者等于第二阈值),则不再继续扩大范围搜索,也就是不再搜索第一范围内的其他第一候选节点,基于当前得到的第一预测节点的属性值,得到当前节点的属性预测值;如果在第一子距离的范围内确定的第一预测节点的总数不满足结束查找条件,则进一步扩大搜索范围,基于遍历搜索与当前节点的距离为第二子距离的第一候选节点,以此类推。It should be noted that when implementing step 801, that is, when determining the first prediction node among the first candidate nodes in the first range, the first candidate nodes in the first range can be searched traversally, or the Traversal searches are performed in order of distance from near to far. For example, the first candidate node whose distance to the current node is first traversed and searched for is the first sub-distance, if the total number of the first predicted nodes determined within this range satisfies the end search condition (for example, the end search condition is the currently determined prediction node The total number is greater than or equal to the first threshold, or equal to the second threshold), then no longer continue to expand the range search, that is, no longer search for other first candidate nodes within the first range, based on the currently obtained attribute value of the first predicted node , to get the attribute prediction value of the current node; if the total number of the first predicted nodes determined within the range of the first sub-distance does not meet the end search condition, then further expand the search range, based on the distance between the traversal search and the current node as the second sub- distance to the first candidate node, and so on.
在一些实施例中,当前节点为待编码的第M个节点;其中,M大于或等于第一阈值,这样在保证当前节点之前的节点不少于第一阈值的情况下,确保找出尽可能准确的预测节点,从而提高当前节点的属性预测值的准确性,进而使得相应的残差占用更小的带宽。In some embodiments, the current node is the Mth node to be coded; wherein, M is greater than or equal to the first threshold, so that when the node before the current node is not less than the first threshold, it is ensured to find out as much as possible Accurately predict the node, so as to improve the accuracy of the attribute prediction value of the current node, and then make the corresponding residual occupy less bandwidth.
对于第一个节点至第M-1个节点,在一些实施例中,在当前节点为第一个节点的情况下,将特定属性值设置为所述第一个节点的属性预测值;在所述当前节点为所述第一个节点的后续节点且为 所述第M个节点之前的节点的情况下,根据已编码的节点的属性重建值,得到所述后续节点的属性预测值。For the first node to the M-1th node, in some embodiments, when the current node is the first node, a specific attribute value is set as the attribute prediction value of the first node; in the If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the encoded attribute reconstruction value of the node.
其中,特定属性值可以是任意值,在本申请实施例中对此不做限定。例如,特定属性值为(0,0,0);又如,特定属性值为(128,128,128);再如,特定属性值为(0,64,0);又如,特定属性值为(128,0,0)。当然,对于特定属性值的三分量可以相等,也可以不相等。Wherein, the specific attribute value may be any value, which is not limited in this embodiment of the present application. For example, the specific attribute value is (0, 0, 0); another example, the specific attribute value is (128, 128, 128); another example, the specific attribute value is (0, 64, 0); another example, the specific attribute value is (128, 0, 0). Of course, the three components for a specific attribute value may or may not be equal.
在一些实施例中,可以将已编码的节点的属性重建值的均值作为后续节点的属性预测值。在一些实施例中,还可以将已编码的节点的属性重建值的加权平均值作为后续节点的属性预测值;其中,已编码的节点的权重与该节点相对于当前节点的距离呈负相关。例如,已编码的节点的权重为该节点到当前节点的距离的倒数。In some embodiments, the mean value of the reconstructed attribute values of the coded nodes can be used as the predicted attribute value of the subsequent nodes. In some embodiments, the weighted average of the reconstructed attribute values of the encoded nodes can also be used as the predicted attribute value of the subsequent node; wherein, the weight of the encoded node is negatively correlated with the distance of the node relative to the current node. For example, the weight of an encoded node is the reciprocal of the distance from the node to the current node.
步骤802,在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围。 Step 802, when the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein , the second range is greater than the first range.
与前文类似地,在一些实施例中,可以将第二候选节点中满足条件的节点作为第二预测节点;其中,所述条件为在当前节点之前编码的非空节点。在第二范围内的第二候选节点中进行查找的过程中,可能还未遍历完所有第二候选节点,当前确定的第二预测节点的总数已经达到第二阈值了,此时可以结束查找,直接基于这些预测节点的属性值得到当前节点的属性预测值,还可以继续查找下一第二候选节点,如果下一第二候选节点为在当前节点之前编码的非空节点且与当前节点的距离(例如曼哈顿距离)小于当前第二预测节点中与当前节点的最大距离,则将该第二候选节点作为第二预测节点替换该最大距离对应的第二预测节点。Similar to the above, in some embodiments, a node satisfying the condition among the second candidate nodes may be used as the second prediction node; wherein, the condition is a non-empty node encoded before the current node. In the process of searching the second candidate nodes in the second range, all the second candidate nodes may not be traversed yet, and the total number of the currently determined second prediction nodes has reached the second threshold, and the search can be ended at this time, Get the attribute prediction value of the current node directly based on the attribute values of these predicted nodes, and continue to search for the next second candidate node, if the next second candidate node is a non-empty node encoded before the current node and the distance from the current node is (for example, the Manhattan distance) is smaller than the maximum distance between the current second prediction node and the current node, then the second candidate node is used as the second prediction node to replace the second prediction node corresponding to the maximum distance.
在一些实施例中,在遍历第二范围内的每一第二候选节点之后,确定的第二预测节点和第一预测节点的总数大于或等于第一阈值但是小于第二阈值,此时,可以不再继续查找更多的预测节点,而是基于第一预测节点的属性值和当前得到的第二预测节点的属性值,得到当前节点的属性预测值;或者,还可以执行步骤803,继续确定第二预测节点。In some embodiments, after traversing every second candidate node in the second range, the total number of determined second prediction nodes and first prediction nodes is greater than or equal to the first threshold but less than the second threshold, at this time, may Instead of continuing to search for more prediction nodes, the attribute prediction value of the current node can be obtained based on the attribute value of the first prediction node and the currently obtained attribute value of the second prediction node; or, step 803 can also be executed to continue to determine Second prediction node.
需要说明的是,在实现步骤802时,即在第二范围内的第二候选节点中确定第二预测节点时,可以遍历搜索第二范围内的第二候选节点,也可以按照与当前节点的距离由近到远的顺序进行遍历搜索。例如,先遍历搜索与当前节点的距离为第三子距离的第二候选节点,如果在此范围内确定的第二预测节点的总数满足结束查找条件(例如结束查找条件为当前确定的预测节点的总数大于或等于第一阈值、或者等于第二阈值),则不再继续扩大范围搜索,也就是不再搜索第二范围内的其他第二候选节点,基于第一预测节点的属性值和当前得到的第二预测节点的属性值,得到当前节点的属性预测值;如果在第三子距离的范围内确定的第二预测节点的总数不满足结束查找条件,则进一步扩大搜索范围,基于遍历搜索与当前节点的距离为第四子距离的第二候选节点,以此类推。It should be noted that when step 802 is implemented, that is, when the second prediction node is determined among the second candidate nodes in the second range, the second candidate nodes in the second range can be searched traversally, or the current node can be Traversal searches are performed in order of distance from near to far. For example, first traversing the second candidate node whose distance from the current node is the third sub-distance, if the total number of the second predicted nodes determined within this range satisfies the end search condition (for example, the end search condition is the current determined prediction node The total number is greater than or equal to the first threshold, or equal to the second threshold), then no longer continue to expand the range search, that is, no longer search for other second candidate nodes in the second range, based on the attribute value of the first predicted node and the current obtained The attribute value of the second prediction node of the current node is obtained to obtain the attribute prediction value of the current node; if the total number of the second prediction nodes determined within the scope of the third sub-distance does not meet the end search condition, the search range is further expanded, based on the traversal search and The distance of the current node is the second candidate node of the fourth sub-distance, and so on.
在一些实施例中,在第一预测节点的数目大于或等于第一阈值的情况下,可以不执行以下步骤803,而是直接根据第一预测节点的属性值,得到当前节点的属性预测值;当然,在另一些实施例中,在第一预测节点的数目大于或等于第一阈值的情况下,可以通过步骤802和/或步骤803,继续查找第二预测节点和/或第三预测节点,但是预测节点的总数不能超过第二阈值;然后,基于最终查找得到的所有预测节点的属性重建值,得到当前节点的属性预测值。In some embodiments, when the number of the first predicted node is greater than or equal to the first threshold, the following step 803 may not be performed, but the predicted attribute value of the current node is directly obtained according to the attribute value of the first predicted node; Of course, in some other embodiments, when the number of the first prediction nodes is greater than or equal to the first threshold, step 802 and/or step 803 may be used to continue searching for the second prediction node and/or the third prediction node, However, the total number of predicted nodes cannot exceed the second threshold; then, based on the attribute reconstruction values of all predicted nodes obtained through the final search, the predicted attribute value of the current node is obtained.
在一些实施例中,可以将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前编码的非空节点。In some embodiments, a node satisfying a condition in the second range may be determined as the second prediction node; wherein the condition is a non-empty node encoded before the current node.
在一些实施例中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。In some embodiments, the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
需要说明的是,在本申请实施例中,对于所述距离的类型不做限定,可以是曼哈顿距离、欧式距离或垂直距离等;所谓垂直距离,是指节点到当前节点的表面所在的平面的距离。It should be noted that, in this embodiment of the application, there is no limitation on the type of the distance, which can be Manhattan distance, Euclidean distance or vertical distance, etc.; the so-called vertical distance refers to the distance from the node to the plane where the surface of the current node is located. distance.
进一步地,在一些实施例中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。Further, in some embodiments, the first candidate node includes a co-planar node of the current node, a collinear node of the current node, and/or a co-point node of the current node.
更进一步地,在一些实施例中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成编码的节点。Furthermore, in some embodiments, both the first candidate node and the second candidate node are nodes that may complete encoding before the current node.
例如,以编码顺序为莫顿顺序为例,所述当前节点的共面节点包括索引为3、5和6的节点,所述当前节点的共线节点包括索引为1、2、4、10、12、17、20、33和34的节点,所述当前节点的共点节点包括索引为0、8、16、24、32、40和48的节点。For example, taking the encoding order as the Morton order as an example, the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34 nodes, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
对于第一距离和第二距离的类型不做限定,可以是曼哈顿距离,还可以是距离当前节点的表面 所在平面的距离。以曼哈顿距离为例,如图9所示,所述第二距离大于或等于3,例如图9所示,第二距离为6(相应地,从垂直距离的角度来讲,第二距离为2,单位为节点,即,候选节点到当前节点的表面所在的平面的距离为2个节点),所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。例如图10的(a)至(f)所示,第二候选节点包括索引为24、40、48、10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266、273的节点。The types of the first distance and the second distance are not limited, they can be the Manhattan distance, or the distance from the plane where the surface of the current node is located. Taking the Manhattan distance as an example, as shown in Figure 9, the second distance is greater than or equal to 3, for example, as shown in Figure 9, the second distance is 6 (correspondingly, from the perspective of vertical distance, the second distance is 2 , the unit is a node, that is, the distance from the candidate node to the plane where the surface of the current node is located is 2 nodes), and the second candidate node is a node whose Manhattan distance from the current node is 2 and/or 3. For example, as shown in (a) to (f) of Figure 10, the second candidate nodes include indexes 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52 , 84, 98, 140, 161, 266, 273 nodes.
步骤803,在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0。 Step 803, when the total number of the first prediction node and the second prediction node is less than the first threshold, determine the first K third candidate nodes in the coding order of the current node. The third predicted node of the current node; wherein, K is greater than 0.
在一些实施例中,在第一预测节点和第二预测节点的总数大于或等于第一阈值的情况下,可以通过步骤803继续查找第三预测节点,也可以结束预测节点的查找,根据第一预测节点和第二预测节点的属性值,得到当前节点的属性预测值。In some embodiments, when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, step 803 may be used to continue searching for the third prediction node, or the search for the prediction node may be terminated, according to the first The attribute values of the predicted node and the second predicted node are obtained to obtain the predicted value of the attribute of the current node.
需要说明的是,在本申请实施例中,对于采用何种编码顺序,对节点依次进行编码,对此不做限定。编码顺序可以是莫顿顺序、希尔伯特顺序或者其他编码顺序等。It should be noted that, in the embodiment of the present application, there is no limitation on which coding sequence is used to code the nodes sequentially. The encoding order may be Morton order, Hilbert order or other encoding order, etc.
在一些实施例中,可以这样实现步骤803:In some embodiments, step 803 can be implemented as follows:
按照所述编码顺序,依次遍历所述前K个第三候选节点:According to the encoding order, traverse the first K third candidate nodes in turn:
当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;以及When the current total number of predicted nodes is less than the first threshold, determining the current third candidate node as the third predicted node; and
当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;以及When the current total number of predicted nodes is greater than or equal to the first threshold and smaller than the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node; and
当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前编码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。When the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the predicted nodes and the current node and the current third candidate node is coded before the predicted node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
在本申请实施例中,对于第一阈值和第二阈值的具体数值不做限定,可以是任意范围。在一些实施例中,第一阈值为3,第二阈值为6;如此,在不大幅增加搜索复杂度的情况下,使用更多的预测节点能够提高帧内预测准确性,从而减小残差占用的带宽。In this embodiment of the present application, the specific numerical values of the first threshold and the second threshold are not limited, and may be in any range. In some embodiments, the first threshold is 3, and the second threshold is 6; in this way, without greatly increasing the search complexity, using more prediction nodes can improve the accuracy of intra prediction, thereby reducing the residual bandwidth used.
需要说明的是,在通过步骤803,遍历所有第三候选节点,仍未找够第一阈值个预测节点,或者少于第二阈值个预测节点,可以直接进入步骤804,也可以将预测节点填充够第二阈值个再进入步骤804,根据所有预测节点(包括填充的预测节点)的属性值,得到当前节点的属性预测值;其中,填充的预测节点的属性值可以是任意值,例如,其属性值是已确定的任一预测节点的属性重建值,又如,其属性值为一固定常数,再如,其属性值是已确定的预测节点中与当前预测节点的距离最近的预测节点的属性值。It should be noted that, after traversing all the third candidate nodes through step 803, if the first threshold number of prediction nodes is still not found, or the number of prediction nodes is less than the second threshold value, you can directly enter step 804, or you can fill the number of prediction nodes The second threshold is enough to enter step 804 again, according to the attribute values of all predicted nodes (including the filled predicted nodes), the predicted attribute value of the current node is obtained; wherein, the filled predicted node's attribute value can be any value, for example, its The attribute value is the attribute reconstruction value of any determined prediction node. For another example, its attribute value is a fixed constant. For another example, its attribute value is the prediction node with the closest distance to the current prediction node among the determined prediction nodes attribute value.
步骤804,根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。Step 804: Obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node.
在一些实施例中,可以根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。In some embodiments, the predicted value of the attribute of the current node may be obtained according to reconstructed values of attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
进一步地,在一些实施例中,可以将上述这些预测节点的属性重建值的平均值或者加权平均值作为当前节点的属性预测值;其中,预测节点的权重值和与当前节点的距离呈负相关,例如,权重值为该预测节点与当前节点的距离的倒数。Further, in some embodiments, the average or weighted average of the attribute reconstruction values of the above-mentioned predicted nodes can be used as the predicted attribute value of the current node; wherein, the weight value of the predicted node is negatively correlated with the distance from the current node , for example, the weight value is the reciprocal of the distance between the predicted node and the current node.
在本申请实施例中,从处于当前节点的第一范围内的第一候选节点中,确定当前节点的第一预测节点;在第一预测节点的数目小于第一阈值的情况下,不是先遍历当前节点的编码顺序下的前K个第三候选节点从而选取当前节点的其他预测节点,而是先定位到当前节点的第二范围内,从中查找满足条件的第二预测节点,如果最终得到的预测节点总数还是小于第一阈值,才在前K个第三候选节点中进行全搜索;如此,能够使得最终查找到的预测节点尽可能地包括距离当前节点最近的节点,从而提高帧内预测的准确性,进而间接性地提升编码效率,使得残差占用更小的带宽。In the embodiment of the present application, the first prediction node of the current node is determined from the first candidate nodes within the first range of the current node; when the number of the first prediction nodes is less than the first threshold, the The first K third candidate nodes under the coding order of the current node are used to select other prediction nodes of the current node, but first locate the second range of the current node, and search for the second prediction node that satisfies the conditions. The total number of predicted nodes is still less than the first threshold, and then the full search is performed among the first K third candidate nodes; in this way, the finally found predicted nodes can include the nodes closest to the current node as much as possible, thereby improving the performance of intra-frame prediction. Accuracy, and then indirectly improve the coding efficiency, so that the residual occupies less bandwidth.
在一些实施例中,在第一预测节点和第二预测节点的总数大于第一阈值的情况下,则结束预测节点的查找,不再在前K个第三候选节点中进行全搜索,直接根据第一预测节点和第二预测节点的属性值,得到当前节点的属性预测值;如此,能够最大效率地找到距离当前节点最近的预测节点,从而能够提升编码效率。In some embodiments, when the total number of the first predictive node and the second predictive node is greater than the first threshold, the search for the predictive node is ended, and no full search is performed among the first K third candidate nodes, directly according to The attribute values of the first prediction node and the second prediction node are used to obtain the attribute prediction value of the current node; in this way, the prediction node closest to the current node can be found with maximum efficiency, thereby improving coding efficiency.
在本申请实施例中,K可以是任意值,对于K的范围不做限定。例如,K为32。In the embodiment of the present application, K may be any value, and the range of K is not limited. For example, K is 32.
本申请实施例提供一种点云编码方法,所述方法包括:对点云的当前节点执行上述编码端的帧内预测方法中的步骤,得到所述当前节点的属性预测值;确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;将所述当前节点的残差编码为属性码流。An embodiment of the present application provides a point cloud encoding method, the method comprising: performing the steps in the intra-frame prediction method of the encoding end on the current node of the point cloud to obtain the attribute prediction value of the current node; determining the current node The residual between the predicted attribute value of the current node and the original attribute value of the current node; encoding the residual of the current node into an attribute code stream.
在一些实施例中,确定所述当前节点的重建残差;将重建残差与所述当前节点的属性预测值叠加,得到所述当前节点的属性重建值。In some embodiments, the reconstruction residual of the current node is determined; and the reconstruction residual is superimposed on the predicted attribute value of the current node to obtain the reconstructed attribute value of the current node.
在一些实施例中,可以从当前节点的残差进行变换和/或量化等处理,然后将处理后的残差进行反量化和/或反变换等后处理,从而得到当前节点的重建残差。In some embodiments, processing such as transformation and/or quantization may be performed on the residual of the current node, and then post-processing such as inverse quantization and/or inverse transformation may be performed on the processed residual to obtain the reconstructed residual of the current node.
需要说明的是,以上点云编码方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请点云编码方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。It should be noted that the description of the above embodiment of the point cloud encoding method is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects as the method embodiment. For the technical details not disclosed in the embodiment of the point cloud encoding method of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
相应地,本申请实施例提供一种帧内预测方法,该方法适用于解码端,该方法可以应用于具有信息处理能力的电子设备,所述电子设备可以是电视机、投影仪、手机、计算机、平板电脑、虚拟现实(Virtual Reality,VR)头戴设备等任何具有点云视频编解码功能或者具有解码功能的设备。Correspondingly, the embodiment of the present application provides an intra-frame prediction method, which is applicable to the decoding end, and the method can be applied to electronic equipment with information processing capabilities, and the electronic equipment can be a TV, a projector, a mobile phone, a computer, etc. , tablets, virtual reality (Virtual Reality, VR) headsets and any other devices with point cloud video encoding and decoding functions or decoding functions.
图11为本申请实施例帧内预测方法的实现流程示意图,如图11所示,该方法可以包括以下步骤111至步骤114:FIG. 11 is a schematic diagram of an implementation flow of an intra prediction method according to an embodiment of the present application. As shown in FIG. 11 , the method may include the following steps 111 to 114:
步骤111,从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点。 Step 111, from the first candidate nodes within the first range of the current node, determine the first predicted node of the current node.
在一些实施例中,当前节点为第M个节点;其中,M大于或等于所述第一阈值。相应地,在当前节点为第一个节点的情况下,将特定属性值设置为第一个节点的属性预测值;在当前节点为第一个节点的后续节点且为第M个节点之前的节点的情况下,根据已解码的节点的属性重建值,得到所述后续节点的属性预测值。In some embodiments, the current node is the Mth node; wherein, M is greater than or equal to the first threshold. Correspondingly, when the current node is the first node, set the specific attribute value as the attribute prediction value of the first node; when the current node is the subsequent node of the first node and the node before the Mth node In the case of , the predicted value of the attribute of the subsequent node is obtained according to the reconstructed value of the attribute of the decoded node.
步骤112,在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围。 Step 112, when the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein , the second range is greater than the first range.
在一些实施例中,所述方法还包括:在所述第一预测节点和所述第二预测节点的总数大于或等于所述第一阈值的情况下,结束预测节点的查找,根据所述第一预测节点和所述第二预测节点的属性值,得到所述当前节点的属性值。In some embodiments, the method further includes: when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, ending the search for the prediction node, according to the first A predicted node and the attribute value of the second predicted node to obtain the attribute value of the current node.
在一些实施例中,可以将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前解码的非空节点。In some embodiments, a node satisfying a condition in the second range may be determined as the second prediction node; wherein, the condition is a non-empty node decoded before the current node.
在一些实施例中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。In some embodiments, the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
进一步地,在一些实施例中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。例如,Further, in some embodiments, the first candidate node includes a co-planar node of the current node, a collinear node of the current node, and/or a co-point node of the current node. E.g,
进一步地,在一些实施例中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成解码的节点。Further, in some embodiments, both the first candidate node and the second candidate node are nodes that may complete decoding before the current node.
例如,所述当前节点的共面节点包括索引为3、5和6的节点,所述当前节点的共线节点包括索引为1、2、4、10、12、17、20、33和34的节点,所述当前节点的共点节点包括索引为0、8、16、24、32、40和48的节点。For example, the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33, and 34. node, the co-point nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
在一些实施例中,所述第一距离和所述第二距离为曼哈顿距离。In some embodiments, the first distance and the second distance are Manhattan distances.
进一步地,在一些实施例中,所述第二距离大于或等于3,所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。Further, in some embodiments, the second distance is greater than or equal to 3, and the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
例如,所述第二候选节点包括索引为24、40、48、10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266、273的节点。For example, the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140, 161, 266 , 273 nodes.
步骤113,在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0。 Step 113, when the total number of the first prediction node and the second prediction node is less than the first threshold, determine the first K third candidate nodes in the decoding order of the current node. The third predicted node of the current node; wherein, K is greater than 0.
在一些实施例中,可以这样实现步骤113:In some embodiments, step 113 can be implemented as follows:
按照所述解码顺序,依次遍历所述前K个第三候选节点:According to the decoding order, traverse the first K third candidate nodes in turn:
当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;When the current total number of predicted nodes is less than the first threshold, determining the current third candidate node as the third predicted node;
当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与 所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;When the current total number of predicted nodes is greater than or equal to the first threshold and smaller than the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node;
当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前解码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。When the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the prediction nodes and the current node and the current third candidate node is decoded before the prediction node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
在本申请实施例中,对于第一阈值和第二阈值的具体数值不做限定,可以是任意范围。在一些实施例中,第一阈值为3,第二阈值为6;如此,在不大幅增加搜索复杂度的情况下,使用更多的预测节点能够提高帧内预测准确性,从而减小残差占用的带宽。In this embodiment of the present application, the specific numerical values of the first threshold and the second threshold are not limited, and may be in any range. In some embodiments, the first threshold is 3, and the second threshold is 6; in this way, without greatly increasing the search complexity, using more prediction nodes can improve the accuracy of intra prediction, thereby reducing the residual bandwidth used.
步骤114,根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。Step 114: Obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
在一些实施例中,可以根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。In some embodiments, the predicted value of the attribute of the current node may be obtained according to reconstructed values of attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
可以理解地,解码端的帧内预测方法与编码端的帧内预测方式是相同的,因此,以上解码端的帧内预测方法的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同编码端的帧内预测方法实施例相似的有益效果。对于本申请解码端的帧内预测方法实施例中未披露的技术细节和其他实施例,请参照本申请编码端的帧内预测方法实施例的描述而理解。It can be understood that the intra prediction method at the decoding end is the same as the intra prediction method at the encoding end. Therefore, the description of the above embodiment of the intra prediction method at the decoding end is similar to the description of the above embodiment of the intra prediction method at the encoding end. and have similar beneficial effects to those of the embodiment of the intra-frame prediction method at the encoding end. For the technical details and other embodiments not disclosed in the embodiment of the intra prediction method at the decoding end of this application, please refer to the description of the embodiment of the intra prediction method at the encoding end of this application for understanding.
本申请实施例提供一种点云解码方法,所述方法包括:对接收的属性码流进行解析,得到当前节点的重建残差;对当前节点执行如解码端所述的帧内预测方法中的步骤,得到当前节点的属性预测值;根据当前节点的属性预测值与所述重建残差,确定当前节点的属性重建值。The embodiment of the present application provides a point cloud decoding method, the method includes: analyzing the received attribute code stream to obtain the reconstruction residual of the current node; Step, obtain the predicted value of the attribute of the current node; 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 reconstruction residual.
需要说明的是,以上点云解码方法的实施例的描述,其中帧内预测方法与上述编码端的帧内预测方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请点云解码方法实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。It should be noted that the description of the above embodiment of the point cloud decoding method, wherein the intra prediction method is similar to the description of the above embodiment of the intra prediction method at the encoding end, has similar beneficial effects as the method embodiment. For technical details not disclosed in the embodiment of the point cloud decoding method of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。An exemplary application of the embodiment of the present application in an actual application scenario will be described below.
PCRM的属性编码器的实施方法如下。在实施例1中,几何重建点云被八叉树递归划分成若干个voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个节点执行如下的a1)、c1)、d1)过程,对于其余节点执行b1)、c1)、d1)过程:The implementation method of the property encoder of PCRM is as follows. In Embodiment 1, the geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the Morton encoding order, and for the first node of the encoding Execute the following a1), c1), and d1) processes, and perform b1), c1), and d1) processes for the remaining nodes:
a1)当当前节点为编码的第一个节点时,此时没有可参考的节点进行预测,该当前节点的属性预测值设为(128,128,128);a1) When the current node is the first node of encoding, there is no reference node for prediction at this time, and the attribute prediction value of the current node is set to (128, 128, 128);
b1)以当前节点的共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48作为预测节点的查找范围,确定最少3个、最多6个节点作为预测节点,如下式(13)所示,计算所有预测节点的属性重建值的加权平均值,将该加权平均值作为当前节点的属性预测值。b1) Take the coplanar nodes 3, 5 and 6 of the current node, as well as the collinear nodes 1, 2, 4, 10, 12, 17, 20, 33 and 34, and the copoint nodes 0, 8, 16, 24 and 32 , 40, and 48 as the search range of prediction nodes, determine a minimum of 3 and a maximum of 6 nodes as prediction nodes, as shown in the following formula (13), calculate the weighted average of the attribute reconstruction values of all prediction nodes, and the weighted average As the predicted value of the attribute of the current node.
Figure PCTCN2021099855-appb-000001
Figure PCTCN2021099855-appb-000001
其中,R为预测节点集合,
Figure PCTCN2021099855-appb-000002
为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
Among them, R is the prediction node set,
Figure PCTCN2021099855-appb-000002
Reconstruct the value for the attribute of the predicted node, w i is the weight of the predicted node, when the predicted node is an empty node, w i =0.
假设在上述共面节点、共线节点和共点节点的范围内确定的预测节点数小于3,则在当前节点的莫顿顺序下的前32个节点中查找曼哈顿距离最近的节点,补齐3个节点作为预测节点,属性预测值为这3个节点的加权平均值;Assuming that the number of predicted nodes determined within the range of the above-mentioned coplanar nodes, collinear nodes, and copoint nodes is less than 3, then find the node with the closest Manhattan distance among the first 32 nodes under the Morton order of the current node, and fill in 3 nodes are used as prediction nodes, and the attribute prediction value is the weighted average of these three nodes;
c1)残差为当前节点的原始属性值和属性预测值之间的差,然后对残差进行变换、量化等操作;c1) The residual is the difference between the original attribute value of the current node and the predicted value of the attribute, and then perform operations such as transformation and quantization on the residual;
d1)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值,该值用来作为后续编码单元的参考信息。d1) The attribute prediction value is superimposed with the residual information after operations such as inverse quantization and inverse transformation to obtain the attribute reconstruction value of the current node, which is used as reference information for subsequent coding units.
PCRM的属性解码器的实施方法如下。几何重建点云被八叉树递归划分成若干个voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a2)、c2)过程,其余点执行b2)、c2)过程:The implementation method of the attribute decoder of PCRM is as follows. The geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and execute a2 for the first node decoded ), c2) process, other points execute b2), c2) process:
a2)当前节点为解码的第一个节点时,没有可参考的节点进行预测,该当前节点的属性预测值直接设为(128,128,128);a2) When the current node is the first node to be decoded, there is no reference node for prediction, and the attribute prediction value of the current node is directly set to (128, 128, 128);
b)以当前节点的共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48作为预测节点的查找范围,确定最少3个、最多6个节点作为预测节点,如下式(14)所示,计算所有预测节点的属性重建值的加权平均值,将该加权平均值作为当前节点的属性预测值,b) Take the coplanar nodes 3, 5 and 6 of the current node, as well as the collinear nodes 1, 2, 4, 10, 12, 17, 20, 33 and 34, and the coplanar nodes 0, 8, 16, 24 and 32 , 40, and 48 as the search range of prediction nodes, determine a minimum of 3 and a maximum of 6 nodes as prediction nodes, as shown in the following formula (14), calculate the weighted average of the attribute reconstruction values of all prediction nodes, and use the weighted average As the attribute prediction value of the current node,
Figure PCTCN2021099855-appb-000003
Figure PCTCN2021099855-appb-000003
其中,R为预测节点集合,
Figure PCTCN2021099855-appb-000004
为预测节点的属性重建值,w i为预测节点的权重,当预测节点为空节点时,w i=0。
Among them, R is the prediction node set,
Figure PCTCN2021099855-appb-000004
Reconstruct the value for the attribute of the predicted node, w i is the weight of the predicted node, when the predicted node is an empty node, w i =0.
假设在上述共面节点、共线节点和共点节点的范围内确定的预测节点数小于3,则在当前节点的莫顿顺序下的前32个节点中查找曼哈顿距离最近的节点,补齐3个节点作为预测节点,属性预测值为这3个节点的加权平均值;Assuming that the number of predicted nodes determined within the range of the above-mentioned coplanar nodes, collinear nodes, and copoint nodes is less than 3, then find the node with the closest Manhattan distance among the first 32 nodes under the Morton order of the current node, and fill in 3 nodes are used as prediction nodes, and the attribute prediction value is the weighted average of these three nodes;
c2)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进行叠加,得到当前节点的属性重建值,该值可以用来作为后续编码单元的参考信息。c2) Read the residual information of the current node from the code stream, and superimpose it with the predicted value of the attribute of the current node after operations such as inverse quantization and inverse transformation, to obtain the reconstruction value of the attribute of the current node, which can be used as subsequent encoding Reference information for the unit.
在一些实施例中,PCRM所采用的帧内预测方法,分成两个步骤:In some embodiments, the intra prediction method adopted by PCRM is divided into two steps:
a)以当前节点的共面节点、共线节点和共点节点作为预测节点的查找范围,确定最少3个、最多6个节点作为预测节点;a) Take the coplanar nodes, collinear nodes and copoint nodes of the current node as the search range of the predicted nodes, and determine at least 3 and at most 6 nodes as the predicted nodes;
b)当在共面节点、共线节点和共点节点范围内确定的预测节点数小于3时,在当前节点的莫顿顺序下的前32个节点中遍历查找曼哈顿距离最近的节点,补齐3个节点作为预测节点。b) When the number of predicted nodes determined within the range of coplanar nodes, collinear nodes, and copoint nodes is less than 3, search for the node closest to Manhattan in the first 32 nodes under the Morton order of the current node, and complete 3 nodes are used as prediction nodes.
本申请实施例的技术方案在编解码端均实行,在进行帧内预测时实行本技术方案,针对所有节点,在实施例2中,提供一种基于距离优先的帧内预测算法。相比于上述实施例1,能够最大效率地找到距离最近的预测节点。The technical solution of the embodiment of the present application is implemented at the codec end, and the technical solution is implemented when intra-frame prediction is performed. For all nodes, in embodiment 2, an intra-frame prediction algorithm based on distance priority is provided. Compared with the above-mentioned embodiment 1, the prediction node with the closest distance can be found with maximum efficiency.
实施例2的技术方案在编码端的帧内预测部分的一种具体实现如下。几何重建点云被八叉树递归划分成若干个voxel,每个voxel中的节点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第1、2、3个节点执行a)、f)、g)过程,其余点执行b)、c)、d)、e)、f)、g)过程。A specific realization of the intra-frame prediction part of the technical solution of Embodiment 2 at the coding end is as follows. The geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the Morton coding order, and execute a for the first, second and third nodes of the code ), f), g) process, the remaining points execute b), c), d), e), f), g) process.
a)当当前节点为编码的第一个节点时,没有可参考的节点进行预测,该当前节点的属性预测值直接设为(128,128,128);当前节点为编码的第二个节点时,以第一个节点作为预测节点,其属性预测值为第一个节点的属性重建值;当前节点为编码的第三个节点时,以第一个节点和第二个节点作为预测节点,其属性预测值为第一个节点和第二个节点的属性重建值的加权平均值;a) When the current node is the first node of encoding, there is no reference node for prediction, and the attribute prediction value of the current node is directly set to (128, 128, 128); when the current node is the second node of encoding , take the first node as the prediction node, and its attribute prediction value is the attribute reconstruction value of the first node; when the current node is the third coded node, take the first node and the second node as prediction nodes, and its The attribute prediction value is the weighted average of the attribute reconstruction values of the first node and the second node;
b)如图12所示,以当前节点的共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48作为预测节点的查找范围(因为这19个节点是在第一距离下,可能在当前节点之前编码完成的点),在这19个节点的范围内(即第一范围的一种示例)确定最少3(即第一阈值的一种示例)个、最多6(即第二阈值的一种示例)个节点作为预测节点;b) As shown in Figure 12, take the coplanar nodes 3, 5 and 6 of the current node, as well as the collinear nodes 1, 2, 4, 10, 12, 17, 20, 33 and 34, and the coplanar nodes 0 and 8 , 16, 24, 32, 40 and 48 as the search range of predicted nodes (because these 19 nodes are under the first distance, and may be encoded before the current node), within the range of these 19 nodes (ie An example of the first range) determine a minimum of 3 (ie, an example of the first threshold) and a maximum of 6 (ie, an example of the second threshold) nodes as prediction nodes;
c)假设在b)中确定的预测节点数小于3,则将查找范围扩大一圈,即在b)中,预测节点存在于如图13所示的3×3×3的范围内(即第一范围的一种示例),扩大一圈后的预测节点存在于如图13所示的5×5×5的范围内(即第二范围的一种示例)。c) Assuming that the number of predicted nodes determined in b) is less than 3, then expand the search range by one circle, that is, in b), the predicted nodes exist within the range of 3×3×3 as shown in Figure 13 (that is, the first An example of the first range), and the predicted nodes enlarged by one circle exist in the range of 5×5×5 as shown in FIG. 13 (that is, an example of the second range).
此时当前节点的索引为56,预测节点查找范围为与当前节点的曼哈顿距离为2的节点24、40和48,以及与当前节点的曼哈顿距离为3的节点10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266和273(在第二距离下,可能在当前节点之前编码完成的节点一共有79个,但考虑到选的点数越多编解码复杂度也会相应增加,因此选择79个节点中的21个),在这21个节点的范围内(即第二范围的一种示例)确定最少3个、最多6个节点作为预测节点。At this time, the index of the current node is 56, and the predicted node search range is nodes 24, 40, and 48 with a Manhattan distance of 2 from the current node, and nodes 10, 12, 17, 20, and 25 with a Manhattan distance of 3 from the current node. , 26, 33, 34, 41, 44, 50, 52, 84, 98, 140, 161, 266, and 273 (under the second distance, there are 79 nodes that may be coded before the current node, but considering The more points selected, the complexity of encoding and decoding will increase accordingly, so 21 of the 79 nodes are selected), and within the range of these 21 nodes (that is, an example of the second range), a minimum of 3 and a maximum of 6 node as a prediction node.
如图10所示分别为当前节点的左、前、下、右、后、上方向上的预测节点查找范围的示意图。As shown in FIG. 10 , it is a schematic diagram of the search range of the predicted node in the left, front, bottom, right, back, and top directions of the current node, respectively.
d)假设在c)中确定的预测节点数仍然小于3,则在当前节点的莫顿顺序下的前32个节点中查找曼哈顿距离最近的节点,确定最少3个、最多6个节点作为预测节点,确定方法为:d) Assuming that the number of predicted nodes determined in c) is still less than 3, then find the node with the closest Manhattan distance among the first 32 nodes under the Morton order of the current node, and determine at least 3 and at most 6 nodes as the predicted nodes , the determination method is:
首先,按照莫顿顺序遍历判断32个第三候选节点中的每一个节点,当预测节点数小于3时,将当前第三节点直接确定为预测节点,然后将所有的预测节点按照与当前节点的曼哈顿距离由小到大排列;First, traverse and judge each of the 32 third candidate nodes according to the Morton order. When the number of predicted nodes is less than 3, the current third node is directly determined as the predicted node, and then all the predicted nodes are compared with the current node. Manhattan distance is arranged from small to large;
当预测节点数大于等于3且小于6时,若当前第三候选节点的曼哈顿距离小于末尾的预测节点 的曼哈顿距离,则将该候选节点选为预测节点,然后将所有的预测节点按照与当前节点的曼哈顿距离由小到大的顺序重新排列;When the number of predicted nodes is greater than or equal to 3 and less than 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, the candidate node is selected as the predicted node, and then all predicted nodes are compared with the current node The Manhattan distance of is rearranged in ascending order;
当预测节点数等于6时,若当前第三候选节点的曼哈顿距离小于末尾的预测节点的曼哈顿距离,或者,当前第三候选节点的曼哈顿距离等于末尾的预测节点的曼哈顿距离且当前第三候选节点的索引小于末尾的预测节点的索引,则用该候选节点替换原末尾的预测节点,然后将所有的预测节点按照曼哈顿距离由小到大的顺序重新排列;When the number of predicted nodes is equal to 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, or, the Manhattan distance of the current third candidate node is equal to the Manhattan distance of the last predicted node and the current third candidate node If the index is smaller than the index of the predicted node at the end, replace the predicted node at the end with the candidate node, and then rearrange all the predicted nodes in order of Manhattan distance from small to large;
e)如下式(15)所示,计算所有预测节点的属性重建值的加权平均值作为当前节点的属性预测值:e) As shown in the following formula (15), calculate the weighted average of the attribute reconstruction values of all predicted nodes as the attribute prediction value of the current node:
Figure PCTCN2021099855-appb-000005
Figure PCTCN2021099855-appb-000005
其中,R为预测节点集合,
Figure PCTCN2021099855-appb-000006
为预测节点的属性重建值,w i为预测节点的权重,权重值为预测节点与当前节点的几何曼哈顿距离的倒数;
Among them, R is the prediction node set,
Figure PCTCN2021099855-appb-000006
is the attribute reconstruction value of the predicted node, w i is the weight of the predicted node, and the weight value is the reciprocal of the geometric Manhattan distance between the predicted node and the current node;
f)残差为当前节点的原始属性值和预测值之间的差,然后对残差进行变换、量化等操作;f) The residual is the difference between the original attribute value of the current node and the predicted value, and then the residual is transformed, quantized, etc.;
g)将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前节点的属性重建值作为后续编码单元的参考信息。g) Superimpose the attribute prediction value with the residual information after operations such as inverse quantization and inverse transformation to obtain the attribute reconstruction value of the current node as reference information for subsequent coding units.
实施例2的技术方案在解码端帧内预测具体流程如下。几何重建点云被八叉树递归划分成若干个voxel,每个voxel中的节点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个节点执行a)、f)过程,其余节点执行b)、c)、d)、e)、f)过程:The specific flow of the intra-frame prediction at the decoding end in the technical solution of Embodiment 2 is as follows. The geometric reconstruction point cloud is recursively divided into several voxels by the octree, and the nodes in each voxel perform the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and execute a for the first decoded node ), f) process, and other nodes perform b), c), d), e), f) process:
a)当前节点为解码的第一个节点时,没有参考点进行预测,其属性预测值直接设为(128,128,128);当前节点为解码的第二个节点时,以第一个节点作为预测节点,其属性预测值为第一个节点的属性解码值(即属性重建值);当前节点为解码的第三个节点时,以第一个节点和第二个节点作为预测节点,其属性预测值为第一个节点和第二个节点的属性解码值的加权平均值;;a) When the current node is the first node to be decoded, there is no reference point for prediction, and its attribute prediction value is directly set to (128, 128, 128); when the current node is the second node to be decoded, the first node As a prediction node, its attribute prediction value is the attribute decoding value of the first node (that is, the attribute reconstruction value); when the current node is the third decoded node, the first node and the second node are used as prediction nodes, and its The attribute prediction value is the weighted average of the attribute decoded values of the first node and the second node;
b)以当前节点的共面节点3、5和6,以及共线节点1、2、4、10、12、17、20、33和34,以及共点节点0、8、16、24、32、40和48作为预测节点的查找范围,在这19个节点的范围内确定最少3个、最多6个节点作为预测节点;b) Take the coplanar nodes 3, 5 and 6 of the current node, as well as the collinear nodes 1, 2, 4, 10, 12, 17, 20, 33 and 34, and the coplanar nodes 0, 8, 16, 24 and 32 , 40, and 48 are used as the search range of prediction nodes, and within the range of these 19 nodes, at least 3 and at most 6 nodes are determined as prediction nodes;
c)假设在b)中确定的预测节点数小于3,则将查找范围扩大一圈,此时当前节点的索引为56,预测节点的查找范围为与当前节点的曼哈顿距离为2的24、40、48,以及与当前节点的曼哈顿距离为3的10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266和273,此时在这21个节点的范围内确定最少3个、最多6个节点作为预测节点;c) Assuming that the number of predicted nodes determined in b) is less than 3, expand the search range by one circle. At this time, the index of the current node is 56, and the search range of the predicted node is 24 and 40, which have a Manhattan distance of 2 from the current node. , 48, and 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140, 161, 266, and 273 with a Manhattan distance of 3 from the current node. In the scope of these 21 nodes, at least 3 and at most 6 nodes are determined as prediction nodes;
d)假设在c)中确定的预测节点数仍然小于3,则在当前节点莫顿顺序下的前32个节点中查找曼哈顿距离最近的节点,确定最少3个、最多6个节点作为预测节点,确定方法为:d) Assuming that the number of predicted nodes determined in c) is still less than 3, then search for the node with the closest Manhattan distance among the first 32 nodes under the Morton order of the current node, and determine at least 3 and at most 6 nodes as the predicted nodes, The determination method is:
首先,按照莫顿顺序遍历判断32个第三候选节点中的每一个节点,当预测节点数小于3时,将当前第三节点直接确定为预测节点,然后将所有的预测节点按照与当前节点的曼哈顿距离由小到大排列;First, traverse and judge each of the 32 third candidate nodes according to the Morton order. When the number of predicted nodes is less than 3, the current third node is directly determined as the predicted node, and then all the predicted nodes are compared with the current node. Manhattan distance is arranged from small to large;
当预测节点数大于等于3且小于6时,若当前第三候选节点的曼哈顿距离小于末尾的预测节点的曼哈顿距离,则将该候选节点选为预测节点,然后将所有的预测节点按照与当前节点的曼哈顿距离由小到大的顺序重新排列;When the number of predicted nodes is greater than or equal to 3 and less than 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, the candidate node is selected as the predicted node, and then all predicted nodes are compared with the current node The Manhattan distance of is rearranged in ascending order;
当预测节点数等于6时,若当前第三候选节点的曼哈顿距离小于末尾的预测节点的曼哈顿距离,或者,当前第三候选节点的曼哈顿距离等于末尾的预测节点的曼哈顿距离且当前第三候选节点的索引小于末尾的预测节点的索引,则用该候选节点替换原末尾的预测节点,然后将所有的预测节点按照曼哈顿距离由小到大的顺序重新排列;When the number of predicted nodes is equal to 6, if the Manhattan distance of the current third candidate node is less than the Manhattan distance of the last predicted node, or, the Manhattan distance of the current third candidate node is equal to the Manhattan distance of the last predicted node and the current third candidate node If the index is smaller than the index of the predicted node at the end, replace the predicted node at the end with the candidate node, and then rearrange all the predicted nodes in order of Manhattan distance from small to large;
e)如下式(16)所示,计算所有预测节点的属性解码值的加权平均值作为当前节点的属性预测值:e) As shown in the following formula (16), calculate the weighted average of the attribute decoding values of all predicted nodes as the attribute prediction value of the current node:
Figure PCTCN2021099855-appb-000007
Figure PCTCN2021099855-appb-000007
其中,R为预测节点集合,
Figure PCTCN2021099855-appb-000008
为预测节点的属性重建值,w i为预测节点的权重,权重值为预测节点与当前节点的几何曼哈顿距离的倒数;
Among them, R is the prediction node set,
Figure PCTCN2021099855-appb-000008
is the attribute reconstruction value of the predicted node, w i is the weight of the predicted node, and the weight value is the reciprocal of the geometric Manhattan distance between the predicted node and the current node;
f)从码流中读取当前节点的残差信息,经反量化、反变换等操作后与当前节点的属性预测值进 行叠加,得到当前节点的属性重建值作为后续编码单元的参考信息。f) Read the residual information of the current node from the code stream, and superimpose it with the predicted value of the attribute of the current node after operations such as inverse quantization and inverse transformation, and obtain the reconstructed value of the attribute of the current node as the reference information of the subsequent coding unit.
实施例2的技术方案作用于编解码框架中的帧内预测部分。The technical solution of Embodiment 2 is applied to the intra-frame prediction part in the codec framework.
基于深度优先的帧内预测算法可以采用多种编码顺序,包括但不限于莫顿顺序或希尔伯特顺序等;The depth-first-based intra prediction algorithm can adopt a variety of coding orders, including but not limited to Morton order or Hilbert order, etc.;
基于深度优先的帧内预测算法对于第二距离下的预测节点查找范围(即第二范围)可以扩大成79个;The depth-first-based intra-frame prediction algorithm can expand the search range of prediction nodes under the second distance (that is, the second range) to 79;
基于距离优先的帧内预测算法可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。The intra-frame prediction algorithm based on distance priority may adopt various methods for selecting weight values, including but not limited to weights based on Euclidean distance, fixed constant weights, and the like.
实施例2的技术方案将适用于帧内预测编解码部分,通过第一距离与第二距离的查找范围,首先定位到距离当前节点最近的节点,当找不到时,才在莫顿顺序下的前32个节点当中进行全搜索,这样可以最大效率地找到离当前节点最近的预测节点,从而能够提升编码效率。The technical solution of Embodiment 2 will be applicable to the intra-frame prediction codec part. Through the search range of the first distance and the second distance, the node closest to the current node is first located, and when it cannot be found, it is in the Morton order A full search is performed among the first 32 nodes, so that the prediction node closest to the current node can be found with maximum efficiency, thereby improving the coding efficiency.
实施例2的技术方案在AVS最新的点云压缩平台PCRM3.0上进行了测试,测试结果如表1至表4所示。The technical solution of Example 2 was tested on the latest point cloud compression platform PCRM3.0 of AVS, and the test results are shown in Table 1 to Table 4.
其中,表1示出了该实施例在几何有限有损且属性有损的条件C1(C1-limit-lossy geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表1所示,相比于PCRM基准平台的性能,该实施例在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了0.1%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了1.5%。Wherein, Table 1 shows the test results of this embodiment on the two types of data sets of Cat1B and Cat3 under the condition C1 (C1-limit-lossy geometry, lossy attributes) of geometrically limited loss and lossy attributes, as shown in Table 1 As shown, compared with the performance of the PCRM benchmark platform, this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr. For example, for the test results of Cat1B, on the Y attribute, the performance of EtE BD-rate is improved by 0.1% compared with the PCRM benchmark platform. As another example, for the test results of Cat3, in terms of Cr attribute, the performance of EtE BD-rate is improved by 1.5% compared with the PCRM benchmark platform.
表1 C1-limit-lossy geometry,lossy attributesTable 1 C1-limit-lossy geometry, lossy attributes
Figure PCTCN2021099855-appb-000009
Figure PCTCN2021099855-appb-000009
表2示出了该实施例在几何无损且属性有损的条件C2(C2-lossless geometry,lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表2所示,相比于PCRM基准平台的性能,该实施例在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Y属性上,EtE BD-rate相比于PCRM基准平台的性能改善了4.4%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了4.2%。Table 2 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C2 (C2-lossless geometry, lossy attributes) that the geometry is lossless and the property is damaged, as shown in Table 2, compared to The performance of the PCRM benchmark platform, this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr. For example, for the test results of Cat1B, on the Y attribute, the performance of EtE BD-rate is improved by 4.4% compared with the PCRM benchmark platform. As another example, for the test results of Cat3, on the Cr property, the performance of EtE BD-rate is improved by 4.2% compared with the PCRM benchmark platform.
表2 C2-lossless geometry,lossy attributesTable 2 C2-lossless geometry, lossy attributes
Figure PCTCN2021099855-appb-000010
Figure PCTCN2021099855-appb-000010
表3示出了该实施例在几何无损且属性有限有损的条件C3(C3-lossless geometry,limit-lossy attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表3所示,相比于PCRM基准平台的性能,该实施例在颜色属性Y、Cb和Cr三个维度上的EtE BD-rate均有改善。例如,对于Cat1B的测试结果,在Cb属性上,EtE BD-rate相比于PCRM基准平台的性能改善了4.1%。又如,对于Cat3的测试结果,在Cr属性上,EtE BD-rate相比于PCRM基准平台的性能改善了3.5%。Table 3 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C3 (C3-lossless geometry, limit-lossy attributes) that the geometry is lossless and the property is limited, as shown in table 3, Compared with the performance of the PCRM benchmark platform, this embodiment has improved EtE BD-rate in the three dimensions of color attributes Y, Cb and Cr. For example, for the test results of Cat1B, on the Cb attribute, EtE BD-rate has a performance improvement of 4.1% compared to the PCRM benchmark platform. As another example, for the test results of Cat3, in terms of Cr attribute, the performance of EtE BD-rate is improved by 3.5% compared with the PCRM benchmark platform.
表3 C1-lossless geometry,limit-lossy attributesTable 3 C1-lossless geometry, limit-lossy attributes
Figure PCTCN2021099855-appb-000011
Figure PCTCN2021099855-appb-000011
表4示出了该实施例在几何无损且属性无损的条件C4(C4-lossless geometry,lossless attributes)下对Cat1B和Cat3这两类数据集的测试结果,如表4所示,相比于PCRM基准平台的性能,该实施例在颜色属性上的bpip ratio有改善。例如,对于Cat1B的测试结果,bpip ratio是PCRM基准平台的输出的比特流的99.6%,即比特流的大小相比于PCRM基准平台输出的比特流的大小,减少了0.4%。又如,对于Cat3的测试结果,bpip ratio是PCRM基准平台的输出的比特流的99.9%,即比特 流的大小相比于PCRM基准平台输出的比特流的大小,减少了0.1%。可见,该实施例能够通过更少的码字获得更好的失真。Table 4 shows the test results of this embodiment to the two types of data sets of Cat1B and Cat3 under the condition C4 (C4-lossless geometry, lossless attributes) that the geometry is lossless and the property is lossless, as shown in Table 4, compared to PCRM Benchmark platform performance, this example has an improved bpip ratio on the color attribute. For example, for the test result of Cat1B, the bpipratio is 99.6% of the output bitstream of the PCRM benchmark platform, that is, the size of the bitstream is reduced by 0.4% compared to the output bitstream of the PCRM benchmark platform. For another example, for the test result of Cat3, bpipratio is 99.9% of the output bitstream of the PCRM benchmark platform, that is, the size of the bitstream is reduced by 0.1% compared to the size of the bitstream output by the PCRM benchmark platform. It can be seen that this embodiment can obtain better distortion with fewer codewords.
表4 C1-lossless geometry,lossless attributesTable 4 C1-lossless geometry, lossless attributes
Figure PCTCN2021099855-appb-000012
Figure PCTCN2021099855-appb-000012
实施例2的技术方案提供在帧内预测过程中基于距离优先的预测节点搜索方法,能够最大效率地找到与当前节点距离最近的预测节点,从而能够提升编码效率,具体如下:The technical solution of Embodiment 2 provides a prediction node search method based on distance priority in the intra prediction process, which can find the prediction node closest to the current node with maximum efficiency, thereby improving coding efficiency, as follows:
(1)提出基于深度优先的方法查找预测节点;(1) Propose a method based on depth first to search for prediction nodes;
(2)提出采用3至6个预测节点进行加权平均,得到当前节点的属性预测值。(2) It is proposed to use 3 to 6 prediction nodes for weighted average to obtain the attribute prediction value of the current node.
在一些实施例中,可以将上述实施例中采用莫顿顺序的编码方式改为其它编码顺序,如希尔伯特顺序等;In some embodiments, the encoding method using the Morton order in the above embodiments can be changed to other encoding orders, such as the Hilbert order, etc.;
在一些实施例中,可以将上述实施例中第二距离下的预测节点查找范围(即第二范围的一种示例)扩大成79个节点,如图14所示,加上索引为0、1、2、3、4、5、6、8、9、11、13、16、18、19、22、27、32、36、37、38、45、54、64、66、68、70、80、82、86、96、100、102、128、129、132、133、136、137、141、160、164、165、192、196、256、257、258、259、264、265、267、272、274、275、320、322、384和385的节点。In some embodiments, the predicted node search range under the second distance in the above embodiment (that is, an example of the second range) can be expanded to 79 nodes, as shown in Figure 14, plus the index is 0, 1 , 2, 3, 4, 5, 6, 8, 9, 11, 13, 16, 18, 19, 22, 27, 32, 36, 37, 38, 45, 54, 64, 66, 68, 70, 80 ,82,86,96,100,102,128,129,132,133,136,137,141,160,164,165,192,196,256,257,258,259,264,265,267,272 , 274, 275, 320, 322, 384 and 385 nodes.
在一些实施例中,将该实施例中采用基于曼哈顿距离的加权平均方式改为其它方式,如基于欧式距离的加权平均、基于固定常数的加权平均等。In some embodiments, the Manhattan distance-based weighted average in this embodiment is changed to other methods, such as Euclidean distance-based weighted average, fixed constant-based weighted average, and the like.
基于前述的实施例,本申请实施例提供的帧内预测装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。Based on the foregoing embodiments, the intra prediction apparatus provided in the embodiments of the present application, including the included modules, and the units included in each module, 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 processing unit. Device (Graphics Processing Unit, GPU) and so on.
图15为本申请实施例帧内预测装置的结构示意图,如图15所示,帧内预测装置150,应用于编码端,包括:FIG. 15 is a schematic structural diagram of an intra-frame prediction device according to an embodiment of the present application. As shown in FIG. 15 , the intra-frame prediction device 150 is applied to the encoding end and includes:
第四确定模块151,用于从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;A fourth determining module 151, configured to determine a first predicted node of the current node from the first candidate nodes within the first range of the current node;
第五确定模块152,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;The fifth determination module 152 is configured to determine the number of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than a first threshold Two prediction nodes; wherein the second range is greater than the first range;
第六确定模块153,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;The sixth determination module 153 is configured to, when the total number of the first prediction node and the second prediction node is less than the first threshold, select the first K third candidates in the encoding order of the current node Among the nodes, determine the third prediction node of the current node; wherein, K is greater than 0;
第三帧内预测模块154,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The third intra prediction module 154 is configured to obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
在一些实施例中,第三帧内预测模块154,还用于:在所述第一预测节点和所述第二预测节点的总数大于或等于所述第一阈值的情况下,结束预测节点的查找,根据所述第一预测节点和所述第二预测节点的属性值,得到所述当前节点的属性值。In some embodiments, the third intra prediction module 154 is further configured to: when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, end the prediction node The search is to obtain the attribute value of the current node according to the attribute values of the first predicted node and the second predicted node.
在一些实施例中,所述当前节点为第M个节点;其中,M大于或等于所述第一阈值。In some embodiments, the current node is an Mth node; wherein, M is greater than or equal to the first threshold.
在一些实施例中,第三帧内预测模块154,还用于:在所述当前节点为第一个节点的情况下,将特定属性值设置为所述第一个节点的属性预测值;在所述当前节点为所述第一个节点的后续节点且为所述第M个节点之前的节点的情况下,根据已编码的节点的属性重建值,得到所述后续节点的属性预测值。In some embodiments, the third intra-frame prediction module 154 is further configured to: when the current node is the first node, set a specific attribute value as the predicted attribute value of the first node; If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the encoded attribute reconstruction value of the node.
在一些实施例中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。In some embodiments, the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
在一些实施例中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。In some embodiments, the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
在一些实施例中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成编码的节点。In some embodiments, both the first candidate node and the second candidate node are nodes that may complete encoding before the current node.
在一些实施例中,所述当前节点的共面节点包括索引为3、5和6的节点,所述当前节点的共线节点包括索引为1、2、4、10、12、17、20、33和34的节点,所述当前节点的共点节点包括索引为0、8、16、24、32、40和48的节点。In some embodiments, the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
在一些实施例中,所述第一距离和所述第二距离为曼哈顿距离。In some embodiments, the first distance and the second distance are Manhattan distances.
在一些实施例中,所述第二距离大于或等于3,所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。In some embodiments, the second distance is greater than or equal to 3, and the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
在一些实施例中,所述第二候选节点包括索引为24、40、48、10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266、273的节点。In some embodiments, the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140 , 161, 266, 273 nodes.
在一些实施例中,第五确定模块152,用于:将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前编码的非空节点。In some embodiments, the fifth determination module 152 is configured to: determine a node satisfying a condition in the second range as the second prediction node; wherein the condition is coded before the current node non-empty node.
在一些实施例中,第六确定模块153,用于:按照所述编码顺序,依次遍历所述前K个第三候选节点:当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前编码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。In some embodiments, the sixth determination module 153 is configured to: sequentially traverse the first K third candidate nodes according to the encoding order: when the current total number of predicted nodes is less than the first threshold, the current No. Three candidate nodes are determined as the third prediction node; when the current total number of prediction nodes is greater than or equal to the first threshold and less than the second threshold, if the distance between the current third candidate node and the current node is less than that of the prediction nodes The maximum distance from the current node determines the current third candidate node as the third predicted node; wherein the predicted node includes the currently obtained first predicted node, second predicted node, and third predicted node; when the predicted node When the current total number of is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and the current node The distance of the node is equal to the maximum distance between the predicted node and the current node and the current third candidate node is coded before the predicted node corresponding to the maximum distance, and the current third candidate node is used as the third predicted node to replace the The prediction node corresponding to the maximum distance mentioned above.
在一些实施例中,所述第一阈值为3,所述第二阈值为6。In some embodiments, the first threshold is 3, and the second threshold is 6.
在一些实施例中,第三帧内预测模块154,用于:根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。In some embodiments, the third intra-frame prediction module 154 is configured to: obtain the attribute prediction of the current node according to the attribute reconstruction values of the first prediction node, the second prediction node, and the third prediction node of the current node value.
以上关于装置150的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。The above description of the embodiment of the apparatus 150 is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects to those of the method embodiment. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
基于前述的实施例,本申请实施例提供的编码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的编码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。Based on the aforementioned embodiments, the encoding device provided by the embodiments of the present application, including the included modules, and each unit included in each module, can be implemented by an encoder or a processor in an electronic device; of course, it can also be implemented by a specific Logic circuit implementation; 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 processing unit ( Graphics Processing Unit, GPU), etc.
图16为本申请实施例编码装置的结构示意图,如图16所示,编码装置160,包括:Fig. 16 is a schematic structural diagram of an encoding device according to an embodiment of the present application. As shown in Fig. 16, an encoding device 160 includes:
第四帧内预测模块161,用于对点云的当前节点执行如本申请实施例编码端所述的帧内预测方法中的步骤,得到所述当前节点的属性预测值;The fourth intra-frame prediction module 161 is configured to perform the steps in the intra-frame prediction method described in the encoding side of the embodiment of the present application on the current node of the point cloud to obtain the attribute prediction value of the current node;
第七确定模块162,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;A seventh determining module 162, configured to determine a residual between the predicted attribute value of the current node and the original attribute value of the current node;
编码模块163,用于将所述当前节点的残差编码为属性码流。An encoding module 163, configured to encode the residual of the current node into an attribute code stream.
在一些实施例中,编码装置160还包括:第八确定模块,用于确定所述当前节点的重建残差;重建模块,用于将重建残差与所述当前节点的属性预测值叠加,得到所述当前节点的属性重建值。In some embodiments, the encoding device 160 further includes: an eighth determination module, configured to determine the reconstruction residual of the current node; a reconstruction module, configured to superimpose the reconstruction residual with the attribute prediction value of the current node, to obtain The property reconstruction value of the current node.
以上关于装置160的实施例的描述,与上述编码端的帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。The above description of the embodiment of the apparatus 160 is similar to the description of the above embodiment of the intra prediction method at the encoding end, and has similar beneficial effects to those of the method embodiment. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
图17为本申请实施例帧内预测装置的结构示意图,如图17所示,帧内预测装置170应用于解码端,包括:FIG. 17 is a schematic structural diagram of an intra-frame prediction device according to an embodiment of the present application. As shown in FIG. 17 , the intra-frame prediction device 170 is applied to the decoding end, including:
第一确定模块171,用于从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;The first determination module 171 is configured to determine a first predicted node of the current node from the first candidate nodes within the first range of the current node;
第二确定模块172,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;The second determining module 172 is configured to determine the second candidate node of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than a first threshold Two prediction nodes; wherein the second range is greater than the first range;
第三确定模块173,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的 情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;The third determination module 173 is configured to select the first K third candidates in the decoding order of the current node when the total number of the first prediction node and the second prediction node is less than the first threshold Among the nodes, determine the third prediction node of the current node; wherein, K is greater than 0;
第一帧内预测模块174,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The first intra prediction module 174 is configured to obtain the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node.
在一些实施例中,第一帧内预测模块174,用于:在所述第一预测节点和所述第二预测节点的总数大于或等于所述第一阈值的情况下,结束预测节点的查找,根据所述第一预测节点和所述第二预测节点的属性值,得到所述当前节点的属性值。In some embodiments, the first intra-frame prediction module 174 is configured to: end the search of the prediction node when the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold , obtaining the attribute value of the current node according to the attribute values of the first predicted node and the second predicted node.
在一些实施例中,所述当前节点为第M个节点;其中,M大于或等于所述第一阈值。In some embodiments, the current node is an Mth node; wherein, M is greater than or equal to the first threshold.
在一些实施例中,第一帧内预测模块174,用于:在所述当前节点为第一个节点的情况下,将特定属性值设置为所述第一个节点的属性预测值;在所述当前节点为所述第一个节点的后续节点且为所述第M个节点之前的节点的情况下,根据已解码的节点的属性重建值,得到所述后续节点的属性预测值。In some embodiments, the first intra-frame prediction module 174 is configured to: when the current node is the first node, set a specific attribute value as the attribute prediction value of the first node; If the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the decoded attribute reconstruction value of the node.
在一些实施例中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。In some embodiments, the first candidate node includes a node whose distance from the current node is less than or equal to a first distance; the second candidate node includes a node whose distance from the current node is less than or equal to a second distance node; wherein the second distance is greater than the first distance.
在一些实施例中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。In some embodiments, the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
在一些实施例中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成解码的节点。In some embodiments, both the first candidate node and the second candidate node are nodes that may complete decoding before the current node.
在一些实施例中,所述当前节点的共面节点包括索引为3、5和6的节点,所述当前节点的共线节点包括索引为1、2、4、10、12、17、20、33和34的节点,所述当前节点的共点节点包括索引为0、8、16、24、32、40和48的节点。In some embodiments, the coplanar nodes of the current node include nodes with indexes 3, 5, and 6, and the collinear nodes of the current node include nodes with indexes 1, 2, 4, 10, 12, 17, 20, 33 and 34, the common nodes of the current node include nodes with indexes 0, 8, 16, 24, 32, 40 and 48.
在一些实施例中,所述第一距离和所述第二距离为曼哈顿距离。In some embodiments, the first distance and the second distance are Manhattan distances.
在一些实施例中,所述第二距离大于或等于3,所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。In some embodiments, the second distance is greater than or equal to 3, and the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
在一些实施例中,所述第二候选节点包括索引为24、40、48、10、12、17、20、25、26、33、34、41、44、50、52、84、98、140、161、266、273的节点。In some embodiments, the second candidate node includes an index of 24, 40, 48, 10, 12, 17, 20, 25, 26, 33, 34, 41, 44, 50, 52, 84, 98, 140 , 161, 266, 273 nodes.
在一些实施例中,第二确定模块172,用于:将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前解码的非空节点。In some embodiments, the second determining module 172 is configured to: determine a node in the second range that satisfies the condition as the second prediction node; wherein, the condition is decoded before the current node non-empty node.
在一些实施例中,第三确定模块173,用于:按照所述解码顺序,依次遍历所述前K个第三候选节点:当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前解码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。In some embodiments, the third determination module 173 is configured to: sequentially traverse the first K third candidate nodes according to the decoding order: when the current total number of predicted nodes is less than the first threshold, the current No. Three candidate nodes are determined as the third prediction node; when the current total number of prediction nodes is greater than or equal to the first threshold and less than the second threshold, if the distance between the current third candidate node and the current node is less than that of the prediction nodes The maximum distance from the current node determines the current third candidate node as the third predicted node; wherein the predicted node includes the currently obtained first predicted node, second predicted node, and third predicted node; when the predicted node When the current total number of is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and the current node The distance of the node is equal to the maximum distance between the predicted node and the current node and the current third candidate node is decoded before the predicted node corresponding to the maximum distance, and the current third candidate node is used as the third predicted node to replace the The prediction node corresponding to the maximum distance mentioned above.
在一些实施例中,所述第一阈值为3,所述第二阈值为6。In some embodiments, the first threshold is 3, and the second threshold is 6.
在一些实施例中,第一帧内预测模块174,用于:根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。In some embodiments, the first intra-frame prediction module 174 is configured to obtain the attribute prediction of the current node according to the attribute reconstruction values of the first prediction node, the second prediction node and the third prediction node of the current node value.
以上帧内预测装置170的实施例的描述,与上述帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。The above description of the embodiment of the intra-frame prediction device 170 is similar to the description of the above-mentioned embodiment of the intra-frame prediction method, and has similar beneficial effects as those of these method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
基于前述的实施例,本申请实施例提供的解码装置,包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的解码器或处理器来实现;当然也可以通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(Graphics Processing Unit,GPU)等。Based on the foregoing embodiments, the decoding device provided in the embodiments of the present application, including the included modules, and the units included in each module, can be implemented by a decoder or processor in an electronic device; of course, it can also be implemented through a specific Logic circuit implementation; 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 processing unit ( Graphics Processing Unit, GPU), etc.
图18为本申请实施例解码装置的结构示意图,如图18所示,解码装置180,包括:Fig. 18 is a schematic structural diagram of a decoding device according to an embodiment of the present application. As shown in Fig. 18, a decoding device 180 includes:
解析模块181,用于对接收的属性码流进行解析,得到当前节点的重建残差;The analysis module 181 is used to analyze the received attribute code stream to obtain the reconstruction residual of the current node;
第二帧内预测模块182,用于对所述当前节点执行如权利要求1至15任一项所述的方法中的步 骤,得到所述当前节点的属性预测值;The second intra-frame prediction module 182 is configured to perform the steps in the method according to any one of claims 1 to 15 on the current node to obtain the predicted attribute value of the current node;
重建模块183,用于根据所述当前节点的属性预测值与所述当前节点的重建残差,确定所述当前节点的属性重建值。The reconstruction module 183 is configured to determine the reconstruction value of the attribute of the current node according to the predicted value of the attribute of the current node and the reconstruction residual of the current node.
以上关于解码装置180的实施例的描述,与上述帧内预测方法实施例的描述是类似的,具有同这些方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请编码端的帧内预测方法实施例的描述而理解。The above descriptions about the embodiments of the decoding device 180 are similar to the descriptions of the above embodiments of the intra prediction method, and have similar beneficial effects as those of the method embodiments. For technical details not disclosed in the device embodiments of the present application, please refer to the description of the embodiment of the intra prediction method at the encoding end of the present application for understanding.
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。It should be noted that, in the embodiment of the present application, if the above method is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on this understanding, the essence of the technical solutions of the embodiments of the present application or the part that contributes to the related technologies can be embodied in the form of software products. 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: various media that can store program codes such as U disk, mobile hard disk, read-only memory (Read Only Memory, ROM), magnetic disk or optical disk. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
对应地,本申请实施例提供一种电子设备,图19为本申请实施例的电子设备的硬件实体示意图,如图19所示,所述电子设备190包括存储器191和处理器192,所述存储器191存储有可在处理器192上运行的计算机程序,所述处理器192执行所述程序时实现上述实施例中提供的方法中的步骤。Correspondingly, an embodiment of the present application provides an electronic device. FIG. 19 is a schematic diagram of hardware entities of the electronic device according to the embodiment of the present application. As shown in FIG. 19 , the electronic device 190 includes a memory 191 and a processor 192, and the memory 191 stores a computer program that can run on the processor 192, and the processor 192 implements the steps in the methods provided in the above-mentioned embodiments when executing the program.
本申请实施例一种编码器,图20为本申请实施例的编码器的硬件实体示意图,所述编码器20包括存储器201和处理器202;其中,所述存储器201,用于存储能够在所述处理器202上运行的计算机程序;所述处理器202,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。An encoder according to an embodiment of the present application. FIG. 20 is a schematic diagram of a hardware entity of the encoder according to an embodiment of the present application. The encoder 20 includes a memory 201 and a processor 202; wherein the memory 201 is used to store the A computer program running on the processor 202; the processor 202 is configured to execute the steps in the methods provided in the above embodiments when running the computer program.
本申请实施例一种解码器,图21为本申请实施例的解码器的硬件实体示意图,所述解码器21包括存储器211和处理器212;其中,所述存储器211,用于存储能够在所述处理器212上运行的计算机程序;所述处理器212,用于在运行所述计算机程序时,执行上述实施例中提供的方法中的步骤。The embodiment of the present application is a decoder. FIG. 21 is a schematic diagram of hardware entities of the decoder according to the embodiment of the present application. The decoder 21 includes a memory 211 and a processor 212; wherein the memory 211 is used to store the A computer program running on the processor 212; the processor 212 is configured to execute the steps in the methods provided in the above-mentioned embodiments when running the computer program.
需要说明的是,存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及相应设备中各模块待处理或已经处理的数据(例如,点云数据、图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。It should be noted that the memory is configured to store instructions and applications executable by the processor, and can also cache data to be processed by the processor and each module in the corresponding device (for example, point cloud data, image data, audio data, etc.) , voice communication data and video communication data), can be implemented by flash memory (FLASH) or random access memory (Random Access Memory, RAM).
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。Correspondingly, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in the method provided in the foregoing embodiments are implemented.
这里需要指出的是:以上电子设备、编码器、解码器和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请电子设备、编码器、解码器和存储介质实施例中未披露的技术细节,可以参照本申请方法实施例的描述而理解。。It should be pointed out here that: the descriptions of the above embodiments of the electronic device, encoder, decoder and storage medium are similar to the descriptions of the above method embodiments, and have similar beneficial effects to those of the method embodiments. For the technical details not disclosed in the embodiments of the electronic device, encoder, decoder, and storage medium of the present application, it can be understood by referring to the description of the method embodiments of the present application. .
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。It should be understood that reference throughout this specification to "one embodiment" or "an embodiment" or "some embodiments" means that a particular feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the present application . Thus, appearances of "in one embodiment" or "in an embodiment" or "in some embodiments" in various places throughout the specification are not necessarily referring to the same embodiments. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the order of execution, and the execution order of the processes should be determined by their functions and internal logic, and should not be used in the embodiments of the present application. The implementation process constitutes any limitation. The serial numbers of the above embodiments of the present application are for description only, and do not represent the advantages and disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this document, the term "comprising", "comprising" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article or apparatus comprising that element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏***的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in this application, it should be understood that the disclosed devices and methods may be implemented in other ways. The above-described embodiments of the touch screen system are only illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be other division methods, such as: multiple modules or components can be combined , or can be integrated into another system, or some features can be ignored, or not implemented. In addition, the mutual coupling, or direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be in electrical, mechanical or other forms of.
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。The modules described above as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed to multiple network units; Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional module in each embodiment of the present application can be integrated into one processing unit, or each module can be used as a single unit, or two or more modules can be integrated into one unit; the above-mentioned integration The modules can be implemented in the form of hardware, or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps to realize the above method embodiments can be completed by hardware related to program instructions, and the aforementioned programs can be stored in computer-readable storage media. When the program is executed, the execution includes The steps of the foregoing method embodiments; and the foregoing storage media include: removable storage devices, read-only memory (Read Only Memory, ROM), magnetic disks or optical disks and other media that can store program codes.
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, if the above-mentioned integrated units of the present application are realized in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the essence of the technical solutions of the embodiments of the present application or the part that contributes to the related technologies can be embodied in the form of software products. 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 various media capable of storing program codes such as removable storage devices, ROMs, magnetic disks or optical disks.
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。The methods disclosed in several method embodiments provided in this application can be combined arbitrarily to obtain new method embodiments under the condition of no conflict.
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。The features disclosed in several product embodiments provided in this application can be combined arbitrarily without conflict to obtain new product embodiments.
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。The features disclosed in several method or device embodiments provided in this application can be combined arbitrarily without conflict to obtain new method embodiments or device embodiments.
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only the embodiment of the present application, but the scope of protection of the present application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, and should covered within the scope of protection of this application. Therefore, the protection scope of the present application should be determined by the protection scope of the claims.

Claims (37)

  1. 一种帧内预测方法,应用于解码端,所述方法包括:An intra-frame prediction method applied to a decoding end, the method comprising:
    从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;determining a first predicted node of the current node from first candidate nodes within a first range of the current node;
    在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;When the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein, the a second range is greater than said first range;
    在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;When the total number of the first prediction node and the second prediction node is less than the first threshold, the current node is determined from the first K third candidate nodes in the decoding order of the current node The third prediction node; wherein, K is greater than 0;
    根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The predicted attribute value of the current node is obtained according to the attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    在所述第一预测节点和所述第二预测节点的总数大于或等于所述第一阈值的情况下,结束预测节点的查找,根据所述第一预测节点和所述第二预测节点的属性值,得到所述当前节点的属性值。When the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, end the search of the prediction node, and according to the attributes of the first prediction node and the second prediction node value to get the attribute value of the current node.
  3. 根据权利要求1所述的方法,其中,所述当前节点为第M个节点;其中,M大于或等于所述第一阈值。The method according to claim 1, wherein the current node is an Mth node; wherein M is greater than or equal to the first threshold.
  4. 根据权利要求3所述的方法,其中,所述方法还包括:The method according to claim 3, wherein the method further comprises:
    在所述当前节点为第一个节点的情况下,将特定属性值设置为所述第一个节点的属性预测值;When the current node is the first node, setting a specific attribute value as the predicted attribute value of the first node;
    在所述当前节点为所述第一个节点的后续节点且为所述第M个节点之前的节点的情况下,根据已解码的节点的属性重建值,得到所述后续节点的属性预测值。In the case that the current node is a subsequent node of the first node and a node before the Mth node, the predicted attribute value of the subsequent node is obtained according to the decoded attribute reconstruction value of the node.
  5. 根据权利要求1所述的方法,其中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;The method according to claim 1, wherein the first candidate node comprises a node whose distance from the current node is less than or equal to a first distance;
    所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。The second candidate node includes a node whose distance to the current node is less than or equal to a second distance; wherein the second distance is greater than the first distance.
  6. 根据权利要求5所述的方法,其中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。The method according to claim 5, wherein the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
  7. 根据权利要求6所述的方法,其中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成解码的节点。The method according to claim 6, wherein both the first candidate node and the second candidate node are nodes that may complete decoding before the current node.
  8. 根据权利要求5或7所述的方法,其中,所述第一距离和所述第二距离为曼哈顿距离。The method according to claim 5 or 7, wherein the first distance and the second distance are Manhattan distances.
  9. 根据权利要求8所述的方法,其中,所述第二距离大于或等于3,所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。The method according to claim 8, wherein the second distance is greater than or equal to 3, and the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
  10. 根据权利要求1所述的方法,其中,所述从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点,包括:The method according to claim 1, wherein said determining the second predicted node of the current node from the second candidate nodes within the second range of the current node comprises:
    将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前解码的非空节点。Determining a node satisfying a condition in the second range as the second prediction node; wherein the condition is a non-empty node decoded before the current node.
  11. 根据权利要求1至10任一项所述的方法,其中,所述从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点,包括:The method according to any one of claims 1 to 10, wherein the determining the third prediction node of the current node from the first K third candidate nodes in the decoding order of the current node comprises:
    按照所述解码顺序,依次遍历所述前K个第三候选节点:According to the decoding order, traverse the first K third candidate nodes in turn:
    当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;When the current total number of predicted nodes is less than the first threshold, determining the current third candidate node as the third predicted node;
    当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;When the current total number of predicted nodes is greater than or equal to the first threshold and smaller than the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node;
    当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前解码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。When the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the prediction nodes and the current node and the current third candidate node is decoded before the prediction node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
  12. 根据权利要求11所述的方法,其中,所述第一阈值为3,所述第二阈值为6。The method according to claim 11, wherein the first threshold is 3, and the second threshold is 6.
  13. 根据权利要求1所述的方法,其中,所述根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值,包括:The method according to claim 1, wherein said obtaining the predicted attribute value of the current node according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node comprises:
    根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。The predicted attribute value of the current node is obtained according to the reconstructed values of the attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
  14. 一种点云解码方法,所述方法包括:A point cloud decoding method, the method comprising:
    对接收的属性码流进行解析,得到当前节点的重建残差;Analyze the received attribute code stream to obtain the reconstruction residual of the current node;
    对所述当前节点执行如权利要求1至13任一项所述的方法中的步骤,得到所述当前节点的属性预测值;Executing the steps in the method according to any one of claims 1 to 13 on the current node to obtain the predicted attribute value of the current node;
    根据所述当前节点的属性预测值与所述当前节点的重建残差,确定所述当前节点的属性重建值。The attribute reconstruction value of the current node is determined according to the attribute prediction value of the current node and the reconstruction residual of the current node.
  15. 一种帧内预测方法,应用于编码端,所述方法包括:An intra-frame prediction method applied to an encoding end, the method comprising:
    从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;determining a first predicted node of the current node from first candidate nodes within a first range of the current node;
    在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;When the number of the first predicted nodes is less than a first threshold, determine a second predicted node of the current node from second candidate nodes within a second range of the current node; wherein, the a second range is greater than said first range;
    在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;When the total number of the first predicted node and the second predicted node is less than the first threshold, the current node is determined from the first K third candidate nodes in the coding order of the current node The third prediction node; wherein, K is greater than 0;
    根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The predicted attribute value of the current node is obtained according to the attribute values of the first predicted node, the second predicted node, and the third predicted node of the current node.
  16. 根据权利要求15所述的方法,其中,所述方法还包括:The method according to claim 15, wherein said method further comprises:
    在所述第一预测节点和所述第二预测节点的总数大于或等于所述第一阈值的情况下,结束预测节点的查找,根据所述第一预测节点和所述第二预测节点的属性值,得到所述当前节点的属性值。When the total number of the first prediction node and the second prediction node is greater than or equal to the first threshold, end the search of the prediction node, and according to the attributes of the first prediction node and the second prediction node value to get the attribute value of the current node.
  17. 根据权利要求15所述的方法,其中,所述当前节点为第M个节点;其中,M大于或等于所述第一阈值。The method according to claim 15, wherein the current node is an Mth node; wherein M is greater than or equal to the first threshold.
  18. 根据权利要求17所述的方法,其中,所述方法还包括:The method according to claim 17, wherein said method further comprises:
    在所述当前节点为第一个节点的情况下,将特定属性值设置为所述第一个节点的属性预测值;When the current node is the first node, setting a specific attribute value as the predicted attribute value of the first node;
    在所述当前节点为所述第一个节点的后续节点且为所述第M个节点之前的节点的情况下,根据已编码的节点的属性重建值,得到所述后续节点的属性预测值。In the case that the current node is a subsequent node of the first node and a node before the Mth node, the predicted value of the attribute of the subsequent node is obtained according to the reconstructed value of the attribute of the encoded node.
  19. 根据权利要求15所述的方法,其中,所述第一候选节点包括与所述当前节点的距离小于或等于第一距离的节点;The method of claim 15, wherein the first candidate node comprises a node whose distance from the current node is less than or equal to a first distance;
    所述第二候选节点包括与所述当前节点的距离小于或等于第二距离的节点;其中,所述第二距离大于所述第一距离。The second candidate node includes a node whose distance to the current node is less than or equal to a second distance; wherein the second distance is greater than the first distance.
  20. 根据权利要求19所述的方法,其中,所述第一候选节点包括所述当前节点的共面节点、所述当前节点的共线节点和/或所述当前节点的共点节点。The method according to claim 19, wherein the first candidate nodes include coplanar nodes of the current node, collinear nodes of the current node, and/or copoint nodes of the current node.
  21. 根据权利要求20所述的方法,其中,所述第一候选节点和所述第二候选节点均为可能在所述当前节点之前完成编码的节点。The method according to claim 20, wherein both the first candidate node and the second candidate node are nodes that may complete coding before the current node.
  22. 根据权利要求19或21所述的方法,其中,所述第一距离和所述第二距离为曼哈顿距离。The method of claim 19 or 21, wherein the first distance and the second distance are Manhattan distances.
  23. 根据权利要求22所述的方法,其中,所述第二距离大于或等于3,所述第二候选节点为与当前节点的曼哈顿距离为2和/或3的节点。The method according to claim 22, wherein the second distance is greater than or equal to 3, and the second candidate node is a node with a Manhattan distance of 2 and/or 3 from the current node.
  24. 根据权利要求15所述的方法,其中,所述从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点,包括:The method according to claim 15, wherein said determining the second predicted node of the current node from the second candidate nodes within the second range of the current node comprises:
    将所述第二范围内中满足条件的节点确定为所述第二预测节点;其中,所述条件为在所述当前节点之前编码的非空节点。Determining a node in the second range that satisfies the condition as the second prediction node; wherein the condition is a non-empty node encoded before the current node.
  25. 根据权利要求15至24任一项所述的方法,其中,所述从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点,包括:The method according to any one of claims 15 to 24, wherein said determining the third predicted node of the current node from the first K third candidate nodes under the coding order of the current node comprises:
    按照所述编码顺序,依次遍历所述前K个第三候选节点:According to the encoding order, traverse the first K third candidate nodes in turn:
    当预测节点的当前总数小于所述第一阈值时,将当前第三候选节点确定为第三预测节点;When the current total number of predicted nodes is less than the first threshold, determining the current third candidate node as the third predicted node;
    当预测节点的当前总数大于或等于所述第一阈值且小于第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,将当前第三候选节点确定为第三预测节点;其中,所述预测节点包括当前得到的第一预测节点、第二预测节点和第三预测节点;When the current total number of predicted nodes is greater than or equal to the first threshold and smaller than the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, the The current third candidate node is determined as the third prediction node; wherein, the prediction node includes the currently obtained first prediction node, second prediction node, and third prediction node;
    当预测节点的当前总数等于所述第二阈值时,如果当前第三候选节点与所述当前节点的距离小于所述预测节点中与所述当前节点的最大距离,或者,当前第三候选节点与所述当前节点的距离等于所述预测节点中与所述当前节点的最大距离且当前第三候选节点是在所述最大距离对应的预测节点之前编码的,将当前第三候选节点作为第三预测节点替换所述最大距离对应的预测节点。When the current total number of predicted nodes is equal to the second threshold, if the distance between the current third candidate node and the current node is less than the maximum distance between the predicted nodes and the current node, or, the current third candidate node and The distance of the current node is equal to the maximum distance between the predicted nodes and the current node and the current third candidate node is coded before the predicted node corresponding to the maximum distance, and the current third candidate node is used as the third prediction The node replaces the prediction node corresponding to the maximum distance.
  26. 根据权利要求25所述的方法,其中,所述第一阈值为3,所述第二阈值为6。The method of claim 25, wherein the first threshold is three and the second threshold is six.
  27. 根据权利要求15所述的方法,其中,所述根据所述当前节点的第一预测节点、第二预测节 点和第三预测节点的属性值,得到所述当前节点的属性预测值,包括:The method according to claim 15, wherein said according to the attribute values of the first predicted node, the second predicted node and the third predicted node of the current node, obtaining the predicted attribute value of the current node comprises:
    根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性重建值,得到所述当前节点的属性预测值。The predicted attribute value of the current node is obtained according to the reconstructed values of the attributes of the first predicted node, the second predicted node, and the third predicted node of the current node.
  28. 一种点云编码方法,应用于编码端,所述方法包括:A point cloud encoding method applied to an encoding end, the method comprising:
    对点云的当前节点执行如权利要求15至27任一项所述的方法中的步骤,得到所述当前节点的属性预测值;Execute the steps in the method according to any one of claims 15 to 27 on the current node of the point cloud to obtain the attribute prediction value of the current node;
    确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;determining a residual between the predicted attribute value of the current node and the original attribute value of the current node;
    将所述当前节点的残差编码为属性码流。Encoding the residual of the current node into an attribute code stream.
  29. 根据权利要求28所述的方法,其中,所述方法还包括:The method of claim 28, wherein the method further comprises:
    确定所述当前节点的重建残差;determining a reconstruction residual of the current node;
    将重建残差与所述当前节点的属性预测值叠加,得到所述当前节点的属性重建值。The reconstruction residual is superimposed on the attribute prediction value of the current node to obtain the attribute reconstruction value of the current node.
  30. 一种帧内预测装置,应用于解码端,包括:An intra-frame prediction device applied to a decoding end, comprising:
    第一确定模块,用于从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;A first determining module, configured to determine a first predicted node of the current node from first candidate nodes within a first range of the current node;
    第二确定模块,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;The second determination module is configured to determine the second node of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than the first threshold a prediction node; wherein the second range is greater than the first range;
    第三确定模块,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的解码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;A third determination module, configured to select the first K third candidate nodes in the decoding order of the current node when the total number of the first prediction node and the second prediction node is less than the first threshold , determine the third prediction node of the current node; wherein, K is greater than 0;
    第一帧内预测模块,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The first intra-frame prediction module is configured to obtain the attribute prediction value of the current node according to the attribute values of the first prediction node, the second prediction node and the third prediction node of the current node.
  31. 一种解码装置,包括:A decoding device, comprising:
    解析模块,用于对接收的属性码流进行解析,得到当前节点的重建残差;The analysis module is used to analyze the received attribute code stream to obtain the reconstruction residual of the current node;
    第二帧内预测模块,用于对所述当前节点执行如权利要求1至13任一项所述的方法中的步骤,得到所述当前节点的属性预测值;A second intra-frame prediction module, configured to perform the steps in the method according to any one of claims 1 to 13 on the current node, to obtain the predicted attribute value of the current node;
    重建模块,用于根据所述当前节点的属性预测值与所述当前节点的重建残差,确定所述当前节点的属性重建值。A reconstruction module, 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 reconstruction residual of the current node.
  32. 一种解码器,包括存储器和处理器;其中,A decoder comprising a memory and a processor; wherein,
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;said memory for storing a computer program capable of running on said processor;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述的帧内预测方法,或者执行如权利要求14所述的点云解码方法。The processor is configured to execute the intra prediction method according to any one of claims 1 to 13, or execute the point cloud decoding method according to claim 14 when running the computer program.
  33. 一种帧内预测装置,应用于编码端,包括:An intra-frame prediction device applied to an encoding end, comprising:
    第四确定模块,用于从处于当前节点的第一范围内的第一候选节点中,确定所述当前节点的第一预测节点;A fourth determining module, configured to determine a first predicted node of the current node from first candidate nodes within the first range of the current node;
    第五确定模块,用于在所述第一预测节点的数目小于第一阈值的情况下,从处于所述当前节点的第二范围内的第二候选节点中,确定所述当前节点的第二预测节点;其中,所述第二范围大于所述第一范围;The fifth determination module is configured to determine the second node of the current node from the second candidate nodes within the second range of the current node when the number of the first predicted nodes is less than a first threshold. a prediction node; wherein the second range is greater than the first range;
    第六确定模块,用于在所述第一预测节点和所述第二预测节点的总数小于所述第一阈值的情况下,从所述当前节点的编码顺序下的前K个第三候选节点中,确定所述当前节点的第三预测节点;其中,K大于0;The sixth determination module is configured to select the first K third candidate nodes in the encoding order of the current node when the total number of the first prediction node and the second prediction node is less than the first threshold , determine the third prediction node of the current node; wherein, K is greater than 0;
    第三帧内预测模块,用于根据所述当前节点的第一预测节点、第二预测节点和第三预测节点的属性值,得到所述当前节点的属性预测值。The third intra-frame prediction module is configured to obtain the attribute prediction value of the current node according to the attribute values of the first prediction node, the second prediction node and the third prediction node of the current node.
  34. 一种编码装置,包括:An encoding device comprising:
    第四帧内预测模块,用于对点云的当前节点执行如权利要求15至27任一项所述的方法中的步骤,得到所述当前节点的属性预测值;The fourth intra-frame prediction module is used to perform the steps in the method according to any one of claims 15 to 27 on the current node of the point cloud to obtain the attribute prediction value of the current node;
    第七确定模块,用于确定所述当前节点的属性预测值与所述当前节点的原始属性值之间的残差;A seventh determining module, configured to determine a residual between the predicted attribute value of the current node and the original attribute value of the current node;
    编码模块,用于将所述当前节点的残差编码为属性码流。An encoding module, configured to encode the residual of the current node into an attribute code stream.
  35. 一种编码器,包括存储器和处理器;An encoder comprising a memory and a processor;
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;said memory for storing a computer program capable of running on said processor;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求15至27任一项所述的帧内预测 方法,或者执行如权利要求28或29所述的点云编码方法。The processor is configured to execute the intra-frame prediction method according to any one of claims 15 to 27, or execute the point cloud encoding method according to claim 28 or 29 when running the computer program.
  36. 一种电子设备,包括存储器和处理器;An electronic device comprising memory and a processor;
    所述存储器,用于存储能够在所述处理器上运行的计算机程序;said memory for storing a computer program capable of running on said processor;
    所述处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述的帧内预测方法,或者执行如权利要求14所述的点云解码方法,或者执行如权利要求15至27任一项所述的帧内预测方法,或者执行如权利要求28或29所述的点云编码方法。The processor is configured to, when running the computer program, execute the intra prediction method according to any one of claims 1 to 13, or execute the point cloud decoding method according to claim 14, or execute the method as described in The intra prediction method according to any one of claims 15 to 27, or the point cloud coding method according to claim 28 or 29.
  37. 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至13任一项所述的帧内预测方法,或者,该计算机程序被处理器执行时实现权利要求14所述的点云解码方法,或者,该计算机程序被处理器执行时实现如权利要求15至27任一项所述的帧内预测方法,该计算机程序被处理器执行时实现权利要求28或29所述的点云编码方法。A computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the intra prediction method according to any one of claims 1 to 13 is realized, or, when the computer program is executed by the processor, Realize the point cloud decoding method described in claim 14, or, when the computer program is executed by the processor, realize the intra prediction method as described in any one of claims 15 to 27, realize the right when the computer program is executed by the processor The point cloud encoding method described in 28 or 29 is required.
PCT/CN2021/099855 2021-06-11 2021-06-11 Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium WO2022257143A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/099855 WO2022257143A1 (en) 2021-06-11 2021-06-11 Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium
CN202180098259.2A CN117321996A (en) 2021-06-11 2021-06-11 Intra-frame prediction and encoding and decoding methods and devices, encoder and decoder, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/099855 WO2022257143A1 (en) 2021-06-11 2021-06-11 Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium

Publications (1)

Publication Number Publication Date
WO2022257143A1 true WO2022257143A1 (en) 2022-12-15

Family

ID=84425641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099855 WO2022257143A1 (en) 2021-06-11 2021-06-11 Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium

Country Status (2)

Country Link
CN (1) CN117321996A (en)
WO (1) WO2022257143A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
CN109889840A (en) * 2019-03-20 2019-06-14 北京大学深圳研究生院 Method, encoding device and the decoding device of point cloud coding and decoding
WO2020175708A1 (en) * 2019-02-28 2020-09-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020198180A1 (en) * 2019-03-26 2020-10-01 Tencent America LLC Method and apparatus for adaptive point cloud attribute coding
WO2021002604A1 (en) * 2019-07-02 2021-01-07 엘지전자 주식회사 Point cloud data processing method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
WO2020175708A1 (en) * 2019-02-28 2020-09-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN109889840A (en) * 2019-03-20 2019-06-14 北京大学深圳研究生院 Method, encoding device and the decoding device of point cloud coding and decoding
WO2020198180A1 (en) * 2019-03-26 2020-10-01 Tencent America LLC Method and apparatus for adaptive point cloud attribute coding
WO2021002604A1 (en) * 2019-07-02 2021-01-07 엘지전자 주식회사 Point cloud data processing method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MA CHUANG, LI GE, ZHANG QI, SHAO YITING, WANG JING, LIU SHAN: "Fast Recolor Prediction Scheme in Point Cloud Attribute Compression", 2020 IEEE INTERNATIONAL CONFERENCE ON VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), IEEE, 1 December 2020 (2020-12-01) - 4 December 2020 (2020-12-04), pages 50 - 53, XP055959257, ISBN: 978-1-7281-8068-7, DOI: 10.1109/VCIP49819.2020.9301768 *
WEI HONGLIAN; SHAO YITING; WANG JING; LIU SHAN; LI GE: "Enhanced Intra Prediction Scheme in Point Cloud Attribute Compression", 2019 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), IEEE, 1 December 2019 (2019-12-01), pages 1 - 4, XP033693921, DOI: 10.1109/VCIP47243.2019.8966001 *

Also Published As

Publication number Publication date
CN117321996A (en) 2023-12-29

Similar Documents

Publication Publication Date Title
WO2022121648A1 (en) Point cloud data encoding method, point cloud data decoding method, device, medium, and program product
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
WO2022257143A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, codec, device and medium
WO2023023914A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, and encoder, decoder, device and medium
WO2022183611A1 (en) Intra prediction method and apparatus, and codec, device and storage medium
WO2022116122A1 (en) Intra-frame prediction method and apparatus, codec, device, and storage medium
WO2023173237A1 (en) Encoding method, decoding method, bit stream, encoder, decoder, and storage medium
WO2023173238A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2022257155A1 (en) Decoding method, encoding method, decoder, encoder, encoding device and decoding device
WO2023097694A1 (en) Decoding method, encoding method, decoder, and encoder
WO2023123284A1 (en) Decoding method, encoding method, decoder, encoder, and storage medium
WO2022257145A1 (en) Point cloud attribute prediction method and apparatus, and codec
WO2022257150A1 (en) Point cloud encoding and decoding methods and apparatus, point cloud codec, and storage medium
WO2024065406A1 (en) Encoding and decoding methods, bit stream, encoder, decoder, and storage medium
WO2023240662A1 (en) Encoding method, decoding method, encoder, decoder, and storage medium
WO2024065269A1 (en) Point cloud encoding and decoding method and apparatus, device, and storage medium
WO2023023918A1 (en) Decoding method, encoding method, decoder and encoder
WO2024119420A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2023024842A1 (en) Point cloud encoding/decoding method, apparatus and device, and storage medium
WO2024065272A1 (en) Point cloud coding method and apparatus, point cloud decoding method and apparatus, and device and storage medium
WO2024065270A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, devices, and storage medium
WO2024119518A1 (en) Encoding method, decoding method, and decoder, encoder, code stream and storage medium
WO2024007144A1 (en) Encoding method, decoding method, code stream, encoders, decoders and storage medium
WO2023193534A1 (en) Methods and apparatus for coding presence flag for point cloud, and data stream including presence flag

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180098259.2

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

Country of ref document: EP

Kind code of ref document: A1