WO2022257155A1 - 解码方法、编码方法、解码器、编码器以及编解码设备 - Google Patents

解码方法、编码方法、解码器、编码器以及编解码设备 Download PDF

Info

Publication number
WO2022257155A1
WO2022257155A1 PCT/CN2021/099888 CN2021099888W WO2022257155A1 WO 2022257155 A1 WO2022257155 A1 WO 2022257155A1 CN 2021099888 W CN2021099888 W CN 2021099888W WO 2022257155 A1 WO2022257155 A1 WO 2022257155A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
current
candidate
value
prediction
Prior art date
Application number
PCT/CN2021/099888
Other languages
English (en)
French (fr)
Inventor
魏红莲
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202180099010.3A priority Critical patent/CN117426086A/zh
Priority to PCT/CN2021/099888 priority patent/WO2022257155A1/zh
Publication of WO2022257155A1 publication Critical patent/WO2022257155A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Definitions

  • the embodiments of the present application relate to the technical field of codec, and more specifically, to a decoding method, an encoding method, a decoder, an encoder, and a codec device.
  • Point cloud has begun to be popularized in various fields, for example, virtual/augmented reality, robotics, geographic information system, medical field, etc.
  • a large number of point clouds on the surface of objects can be accurately obtained, often corresponding to hundreds of thousands of points in one scene.
  • Such a large number of points also brings challenges to computer storage and transmission. Therefore, point compression has become a hot issue.
  • octree encoding is performed on the position information of the point cloud; at the same time, the predicted value for predicting the attribute information of the current point is selected from the encoded points according to the position information of the current point encoded by the octree After the point is selected, its attribute information is predicted based on the selected point, and then the color information is encoded by making a difference from the original value of the attribute information to realize the encoding of the point cloud.
  • Embodiments of the present application provide a decoding method, an encoding method, a decoder, an encoder, and a codec device, which can improve the prediction effect for attribute information.
  • the present application provides a decoding method, including:
  • n is a positive integer, based on the geometric information, determine the At least one predicted point that is coplanar, collinear and copoint with the current point;
  • the present application provides an encoding method, including:
  • n is a positive integer, based on the geometric information, determine the point cloud At least one predicted point coplanar, collinear and copointed with the current point;
  • the present application provides a decoder, including:
  • An analysis unit is used to analyze the code stream of the point cloud to obtain the geometric information of the point cloud
  • the first determining unit is configured to: if the current point to be decoded in the point cloud is a point other than the first n points in the decoding order of the attribute information of the point cloud, n is a positive integer, based on the geometric information , determining at least one predicted point in the point cloud that is coplanar, collinear and copoint with the current point;
  • a supplementary replacement unit configured to supplement or replace the at least one prediction point by traversing at least one candidate point before the current point in the decoding order, to obtain a prediction point corresponding to the current point;
  • the second determining unit is configured to determine the predicted attribute value of the current point with respect to the reconstructed attribute value of the predicted point corresponding to the current point.
  • an encoder including:
  • the first determining unit is configured to: if the current point to be encoded in the point cloud is a point other than the first n points in the encoding order of the attribute information of the point cloud, n is a positive integer, based on the geometric information, determining at least one predicted point in the point cloud that is coplanar, collinear, and co-pointed with the current point;
  • a supplementary replacement unit configured to supplement or replace the at least one predicted point by traversing at least one candidate point before the current point in the encoding order, to obtain a predicted point corresponding to the current point;
  • the second determining unit is configured to determine the predicted attribute value of the current point with respect to the reconstructed attribute value of the predicted point corresponding to the current point.
  • the current point to be decoded in the point cloud is a point other than the first n points in the decoding order of the attribute information of the point cloud
  • the way of candidate points, supplementing or replacing the at least one prediction point can not only ensure that the current point corresponds to enough prediction points, but also ensure that the prediction point corresponding to the current point is the nearest neighbor of the current point point, and further, the prediction accuracy of the attribute prediction value of the current point can be improved.
  • the method of traversing the at least one candidate point is equivalent to performing a global search based on the at least one candidate point. Based on this, by traversing the current point in the decoding order Supplement or replace the at least one prediction point for the at least one previous candidate point, which is equivalent to finding the prediction point corresponding to the current point by combining the spatial relationship with the global search method, that is, by enriching the prediction of the current point.
  • the point acquisition method is used to improve the prediction accuracy of the attribute prediction value of the current point.
  • Fig. 1 is an example of a point cloud image provided by an embodiment of the present application.
  • FIG. 2 is a partially enlarged view of the point cloud image shown in FIG. 1 .
  • Fig. 3 is an example of point cloud images with six viewing angles provided by the embodiment of the present application.
  • Fig. 4 is a schematic block diagram of a coding framework provided by an embodiment of the present application.
  • Fig. 5 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • Fig. 6 is an example of a bounding box provided by an embodiment of the present application.
  • FIG. 7 is an example of performing octree division on a bounding box provided by an embodiment of the present application.
  • Fig. 11 shows the encoding order of Morton codes in three-dimensional space.
  • Fig. 12 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
  • Fig. 13 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
  • Fig. 14 is a schematic block diagram of a decoder provided by an embodiment of the present application.
  • Fig. 15 is a schematic block diagram of an encoder provided by an embodiment of the present application.
  • Fig. 16 is a schematic block diagram of a codec device provided by an embodiment of the present application.
  • a point cloud is a set of discrete point sets randomly distributed in space that express the spatial structure and surface properties of a 3D object or 3D scene.
  • Figure 1 and Figure 2 show the 3D point cloud image and local enlarged view respectively, and it can be seen that the point cloud surface is composed of densely distributed points.
  • the two-dimensional image has information expression at each pixel, and the distribution is regular, so there is no need to additionally record its position information; however, the distribution of points in the point cloud in three-dimensional space is random and irregular, so it is necessary to record each
  • the position of the point in space can completely express a point cloud.
  • each position in the acquisition process has corresponding attribute information, usually RGB color value, and the color value reflects the color of the object; for point cloud, the attribute information corresponding to each point is in addition to color, Another common one is the reflectance value, which reflects the surface material of the object. Therefore, point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b), and one-dimensional reflectance information (r).
  • each point in the point cloud can include geometric information and attribute information, wherein the geometric information of each point in the point cloud refers to the Cartesian three-dimensional coordinate data of the point, and the attribute information of each point in the point cloud can include but It is not limited to at least one of the following: color information, material information, and laser reflection intensity information.
  • the color information can be information on any color space.
  • the color information may be Red Green Blue (RGB) information.
  • the color information may also be brightness and chrominance (YCbCr, YUV) information. Among them, Y represents brightness (Luma), Cb (U) represents a blue chroma component, and Cr (V) represents a red chroma component.
  • Each point in the point cloud has the same amount of attribute information.
  • each point in the point cloud has two attribute information, color information and laser reflection intensity.
  • each point in the point cloud has three attribute information: color information, material information and laser reflection intensity information.
  • the point cloud image can have multiple viewing angles, for example, the point cloud image shown in Figure 3 can have six viewing angles, the data storage format corresponding to the point cloud image consists of a file header information part and a data part, the header information It includes the data format, data representation type, total point cloud points, and the content represented by the point cloud.
  • the data storage format of a point cloud image can be implemented as the following format:
  • the data format is ".ply" format, represented by ASCII code, the total number of points is 207242, and each point has three-dimensional position information xyz and three-dimensional color information rgb.
  • 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 clouds can be divided into two categories, namely, machine-perceived point clouds and human-eye-perceived point clouds.
  • the application scenarios of machine perception point cloud include but are not limited to: autonomous navigation system, real-time inspection system, geographic information system, visual sorting robot, emergency rescue robot and other point cloud application scenarios.
  • the application scenarios of point cloud perceived by the human eye include but are not limited to: digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, 3D immersive interaction and other point cloud application scenarios.
  • the point cloud can be divided into dense point cloud and sparse point cloud based on the acquisition method of the point cloud; the point cloud can also be divided into static point cloud and dynamic point cloud based on the acquisition method of the point cloud, more specifically, it can be It is divided into three types of point clouds, namely, the first static point cloud, the second type of dynamic point cloud and the third type of dynamically acquired point cloud.
  • the first static point cloud the object is stationary, and the device for obtaining the point cloud is also stationary
  • the second type of dynamic point cloud the object is moving, but the device for obtaining the point cloud is stationary
  • the equipment for obtaining point cloud is in motion.
  • the collection of point clouds mainly has the following methods: computer generation, 3D laser scanning, 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.
  • the point cloud of the surface of the object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
  • the point cloud obtained according to the laser measurement principle may include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
  • the point cloud obtained according to the principle of photogrammetry may include the three-dimensional coordinate information of the point and the color information of the point.
  • the point cloud is obtained by combining the principles of laser measurement and photogrammetry, which may include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point and the color information of the point.
  • These technologies reduce the cost and time period of point cloud data acquisition, and improve the accuracy of the data.
  • point clouds of biological tissues and organs can be obtained from magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic positioning information.
  • MRI magnetic resonance imaging
  • CT computed tomography
  • electromagnetic positioning information These technologies reduce the acquisition cost and time period of point cloud, and improve the accuracy of data.
  • the transformation of the point cloud data acquisition method has made it possible to acquire a large amount of point cloud data. With the growth of application requirements, the processing of massive 3D point cloud data encounters the bottleneck of storage space and transmission bandwidth limitations.
  • point cloud compression has become a key issue to promote the development of the point cloud industry.
  • Point cloud compression generally uses point cloud geometric information and attribute information to compress separately. Compression of cloud attributes; at the decoding end, the geometric information of the point cloud is first decoded in the geometric decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist in the compression of the point cloud attributes.
  • the entire codec consists of preprocessing/postprocessing, geometric encoding/decoding, and attribute encoding/decoding.
  • Point clouds can be encoded and decoded by various types of encoding frameworks and decoding frameworks, respectively.
  • the codec framework may be the Geometry Point Cloud Compression (G-PCC) codec framework or Video Point Cloud Compression (Video Point Cloud Compression) provided by the Moving Picture Experts Group (MPEG).
  • MPEG Moving Picture Experts Group
  • V-PCC Video Point Cloud Compression
  • AVS-PCC codec framework Point Cloud Compression Reference Platform (PCRM) framework provided by the Audio Video Standard (AVS) task force.
  • G-PCC codec framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud
  • the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
  • the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2. Both G-PCC and AVS-PCC are aimed at static sparse point clouds, and their coding frameworks are roughly the same.
  • the codec framework applicable to the embodiment of the present application will be described below by taking the PCRM framework as an example.
  • Fig. 4 is a schematic block diagram of a coding framework provided by an embodiment of the present application.
  • the original geometric information is firstly preprocessed, the geometric origin is normalized to the minimum value position in the point cloud space through coordinate translation, and the geometric information is converted from the floating point number through coordinate quantization It is converted into shaping to facilitate subsequent regularization processing; then geometrically encode the regularized geometric information, and use the octree structure to recursively divide the point cloud space, and divide the current block into eight sub-blocks of the same size each time.
  • the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream;
  • the geometric reconstruction process is performed in the encoder, and the reconstructed geometric information is input into the attribute encoder as additional information.
  • the attribute encoding part the original attribute information is first preprocessed. Since the geometric information has changed after the geometric encoding, it is necessary to reassign the attribute value for each point after the geometric encoding.
  • attribute recoloring This process is called attribute recoloring.
  • attribute information to be processed is color information, it is also necessary to transform the original color into a YUV color space that is more in line with the visual characteristics of the human eye; then perform attribute encoding on the preprocessed attribute information.
  • the point cloud is reordered, and the reordering method is Morton code, so the traversal order of attribute coding is Morton order, and the attribute prediction method in PCRM is single-point prediction based on Morton order, that is, according to the Morton order
  • the coding point goes back one point, and the found point is the predicted reference point of the current point to be coded, and then the attribute reconstruction value of the predicted reference point is used as the predicted value of the property, and the residual of the property is the property value and predicted value of the current point to be coded The difference between them; finally, the residual is quantized, and the quantized residual is input into the attribute entropy encoder to form the attribute code stream.
  • Fig. 5 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • the geometry and attributes are also decoded separately.
  • the geometric decoding part the geometric code stream is first entropy decoded to obtain the geometric information of each point, and then the octree structure is constructed in the same way as the geometric encoding, and the coordinate transformation is reconstructed by combining the decoded geometry.
  • the Morton order is constructed in the same way as the encoding side, and the attribute code stream is entropy decoded to obtain the quantized residual information; then inverse quantization is performed to obtain the point cloud residual; similarly, according to the In the same manner as attribute encoding, the attribute prediction value of the current point to be decoded is obtained, and then the attribute prediction value is added to the residual value to restore the YUV attribute value of the current point to be decoded; finally, the decoded attribute is obtained through inverse color space transformation information.
  • floor() represents the calculation of rounding down or rounding down.
  • int() means rounding operation.
  • the size of the bounding box in the x, y, and z directions can be calculated as follows:
  • the bounding box is first divided into octrees, each time eight sub-blocks are obtained, and then the non-empty blocks in the sub-blocks (including point block) to divide the octree again, so recursively divide 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 points of these points
  • voxel voxel
  • each voxel contains one or more points
  • the points of these points The geometric position is normalized to the center point of the voxel, and the attribute value of the center point is the average value of the attribute values of all points in the voxel.
  • Regularizing the point cloud into blocks in space is conducive to the description of the relationship between points and points in the point cloud, and then can express a specific encoding order, and encode each voxel (voxel) in a certain order, that is, the encoded voxel represents Point (or "node"), a commonly used encoding order is the cross-separated Morton order.
  • FIG. 8 to 10 show the encoding sequence of Morton codes in two-dimensional space.
  • Fig. 11 shows the encoding order of Morton codes in three-dimensional space. The order of the arrows indicates the encoding order of the points under the Morton order.
  • Figure 8 shows the "z"-shaped Morton coding sequence of 2*2 pixels in two-dimensional space
  • Figure 9 shows the "z"-shaped Morton coding sequence between four 2*2 blocks in two-dimensional space
  • FIG. 10 shows the Morton coding order of the "z” shape between four 4*4 blocks in a two-dimensional space, which constitutes the Morton coding order of the entire 8*8 block.
  • the Morton coding sequence extended to three-dimensional space is shown in Figure 11.
  • Figure 11 shows 16 points, and the Morton coding sequence between each "z” and “z” inside each "z” is It is encoded along the x-axis first, 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 points of the current point to predict the current point.
  • the difference information is transmitted to the decoding end; after the decoding end receives and analyzes the code stream, it obtains the residual information through steps such as inverse transformation and inverse quantization, and the decoding end predicts and obtains the attribute prediction value through the same process, and obtains the current point after superimposing it with the residual information Property reconstruction value.
  • attribute intra-frame prediction utilizes the geometric relationship between points, and points that are coplanar, collinear, and co-pointed with the geometry of the current point are used as prediction points.
  • the condition that the prediction point needs to meet is that the current point Encode or decode before, and then calculate the attribute prediction value of the current point by weighted average.
  • a common way to set the weight value is to use the reciprocal of the geometric Manhattan distance between the predicted point and the current point, that is, the weight of the point coplanar with the current point is 1, and the weight of the point collinear with the current point is 1/2 , the weight of the point that is the same point as the current point is 1/3.
  • there is no reference point for prediction and it may not be predicted, or its attribute prediction value may be directly set to a fixed value, for example, set to 0.
  • the predicted point of the current point is determined according to the following two conditions:
  • the points that are coplanar, collinear, and copointed with the geometry of the current point are at most 6, 12, and 8 respectively.
  • the serial number of the current point O is 7
  • the points coplanar with the current point are 3, 5, 6, 14, 21, 35
  • the points collinear with the current point are 1, 2, 4, 10, 12, 17, 20 , 28, 33, 34, 42, 49
  • the points that are in common with the current point are 0, 8, 16, 24, 32, 40, 48, 56.
  • Points 1, 2, 4, 10, 12, 17, 20, 33, and 34 that are collinear with the current point, and points that are collinear with the current point are 0, 8, 16, 24, 32, 40, and 48, so The points coplanar with the current point are 3, 5, 6, the points collinear with the current point 1, 2, 4, 10, 12, 17, 20, 33, 34, and the points coplanar with the current point are 0, Select the prediction point of the current point among 8, 16, 24, 32, 40, and 48.
  • the attribute intra-frame prediction part in point cloud compression acts on the intra-frame prediction part in the PCRM framework, and acts on both the encoding end and the decoding end. Since the current PCRM encoding and decoding framework only involves a single frame, the attribute prediction refers specifically to the intra-frame prediction. predict. That is, it involves the attribute prediction in Fig. 4 and Fig. 5.
  • the PCRM property encoder is implemented as follows:
  • the geometric reconstruction point cloud is recursively divided into several cube voxels (voxels) by the octree, and the points in each voxel are respectively subjected to the intra-frame prediction process to calculate the attribute prediction value according to the Morton encoding sequence.
  • Execute the processes of a), c), and d) and execute the processes of b), c), and d) for the remaining points:
  • the points in the point cloud that are coplanar, collinear and co-pointed with the current point as the search range of the predicted points, determine a minimum of 3 and a maximum of 6 points as the predicted points, and calculate the attribute reconstruction value of all predicted points
  • the weighted average is used as the attribute prediction value of the current point.
  • the points coplanar with the current point are 3, 5, 6, the points collinear with the current point 1, 2, 4, 10, 12, 17, 20, 33, 34 are 0, 8, 16, 24, 32, 40, 48 as the search range of prediction points, determine a minimum of 3 and a maximum of 6 points as prediction points, and calculate the weighted average of the attribute reconstruction values of all prediction points as the attribute of the current point Predictive value.
  • the weighted average of the attribute reconstruction values of all predicted points is calculated as follows:
  • the residual is the difference between the original attribute value of the current point and the predicted value, and then the residual is transformed, quantized and other operations.
  • the property decoder for PCRM is implemented as follows:
  • the geometric reconstruction point cloud is recursively divided into several cube voxels (voxels) by the octree, and the points in each voxel are subjected to the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process.
  • One point executes a) and c) processes, and the rest of the points execute b) and c) processes;
  • the points in the point cloud that are coplanar, collinear and co-pointed with the current point as the search range of the predicted points, determine a minimum of 3 and a maximum of 6 points as the predicted points, and calculate the attribute reconstruction value of all predicted points
  • the weighted average is used as the attribute prediction value of the current point.
  • the points coplanar with the current point are 3, 5, 6, the points collinear with the current point 1, 2, 4, 10, 12, 17, 20, 33, 34 are 0, 8, 16, 24, 32, 40, 48 as the search range of prediction points, determine a minimum of 3 and a maximum of 6 points as prediction points, and calculate the weighted average of the attribute reconstruction values of all prediction points as the attribute of the current point Predictive value.
  • search for the point closest to Manhattan among the first 32 points under the Morton order of the current point fill in 3 points as predicted points, and attribute predicted values for these 3 points weighted average of .
  • the weighted average of the attribute reconstruction values of all predicted points is calculated as follows:
  • the intra-frame prediction method adopted by the attribute encoder and the attribute decoder of PCRM partially uses the reference information around the current point, which is divided into two steps:
  • a take the points that are coplanar, collinear, and co-point with the current point as the search range of the predicted points, and determine at least 3 and at most 6 points as the predicted points;
  • step b) in order to control the cache, it is considered to refer to the first 128 points from the current point in the Morton order to find the points that are coplanar, collinear, and co-pointed with the current point, in other words, in a) In , it is also necessary to judge whether the coplanar, collinear, and copoint points are within the first 128 points of the current point under the Morton order.
  • step b) the Manhattan distances of the 32 points are compared according to the Morton order. The predicted point found by this method is only the relatively closest point among the 32 points, not necessarily the closest point to the current point. In other words, the intra-frame prediction method adopted by the attribute encoder and the attribute decoder of the PCRM cannot always find the prediction point closest to the current point among the 128 points.
  • the present application provides a decoding method, an encoding method, a decoder, an encoder and a codec device, which can improve the prediction effect for attribute information.
  • Fig. 12 is a schematic flowchart of a decoding method 100 provided by an embodiment of the present application.
  • the decoding method 100 may include:
  • the current point to be decoded in the point cloud is a point other than the first n points in the decoding order of the attribute information of the point cloud
  • the way of candidate points, supplementing or replacing the at least one prediction point can not only ensure that the current point corresponds to enough prediction points, but also ensure that the prediction point corresponding to the current point is the nearest neighbor of the current point point, and further, the prediction accuracy of the attribute prediction value of the current point can be improved.
  • the method of traversing the at least one candidate point is equivalent to performing a global search based on the at least one candidate point. Based on this, by traversing the current point in the decoding order Supplement or replace the at least one prediction point for the at least one previous candidate point, which is equivalent to finding the prediction point corresponding to the current point by combining the spatial relationship with the global search method, that is, by enriching the prediction of the current point.
  • the point acquisition method is used to improve the prediction accuracy of the attribute prediction value of the current point.
  • Table 1 is the BD-rate of each component of Cat1B and Cat3 in the case of limiting lossy geometry compression (limit-lossy geometry) compression and lossy attributes compression (lossy attributes), and Cat1B indicates that only the color information of the point is included
  • the point cloud of the point, Cat3 represents the point cloud of the point including the color information of the point and other attribute information.
  • Table 2 is the BD-rate of the color information of Cat1B and Cat3 in the case of lossless geometry compression (lossless geometry) and lossy attribute compression.
  • Table 3 is the BD-rate of each component of Cat1B and Cat3 in the case of lossless geometry compression and limit-lossy attributes compression (limit-lossy attributes).
  • Figure 4 shows the bpip ratios of Cat1B and Cat3 in the case of lossless geometric compression and lossless attribute compression. The larger the value of the bpip ratio, the better the performance of the encoding algorithm. It can be seen from Table 1 to Table 4 that the decoding method provided in this application has obvious performance improvement.
  • the number of predicted points corresponding to the current point may not be fixed.
  • the minimum number and maximum number of predicted points corresponding to the current point depend on the size of the fixed cache. Based on this, the predicted point corresponding to the current point may also be called the predicted point or the nearest neighbor point under the fixed cache.
  • the minimum number of predicted points corresponding to the current point may be 3, and the maximum number may be 6.
  • the decoding order may be Morton sorting or Hibolt sorting.
  • the Morton sorting is the order of the Morton codes generated from the geometric positions through the cross-separation calculation method;
  • the Hilbert sorting is according to the traversal order of the Hilbert curve in space.
  • the current point is the first point in the decoding order, set the predicted attribute value of the first point to a preset value; if the current point is the second point in the decoding order , determine the attribute reconstruction value of the first point as the attribute prediction value of the second point; if the current point is the third point in the decoding order, determine the attribute reconstruction value of the first point A weighted average of the attribute reconstruction value and the attribute reconstruction value of the second point is determined as the attribute prediction value of the third point.
  • the at least one prediction point is supplemented or replaced by traversing at least one candidate point before the current point in the decoding order to obtain the prediction point corresponding to the current point, and the The method 100 may also include:
  • the at least one candidate point is determined based on the index of the current point in the decoding order.
  • the index of the current point is less than or equal to the first value, all points in the decoding sequence before the current point are determined as the at least one candidate point; if the current The index of the point is greater than the first numerical value, and the first numerical value points before the current point in the decoding sequence are determined as the at least one candidate point.
  • the first value is 128.
  • the search range of the candidate point is the first value points before the current point in the Morton order; when the index of the current point is less than or equal to the first value , the search range of candidate points is all previous points of the current point in Morton order. Assuming that the point number of at least one prediction point that is coplanar, collinear and co-pointed with the current point in the point cloud is less than 3, within the search range of the candidate point, find the closest point to the current point under the Manhattan distance , adding the point with the closest distance to the at least one predicted point.
  • the S130 may include:
  • the at least one prediction point is supplemented by traversing at least one candidate point before the current point in the decoding order to obtain For the predicted point corresponding to the current point, the third value is greater than or equal to the second value.
  • the at least one prediction point is supplemented and summed Replace to obtain the predicted point corresponding to the current point.
  • the S130 may include:
  • the at least one prediction point is replaced by traversing at least one candidate point before the current point in the decoding order to obtain the current point Corresponding prediction points.
  • the number of the at least one prediction point is less than the second value, or if the number of the at least one prediction point is greater than or equal to the second value and less than the third value, by traversing the at least one candidate point Supplementing prediction points in a manner; if the number of the at least one prediction point is equal to a third value, traversing the at least one candidate point to replace a prediction point with too small weight in the at least one prediction point.
  • the S130 may include:
  • the number of the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point according to the descending order of the index in the decoding order, and supplement the traversed candidate points to The at least one prediction point until the number of the at least one prediction point is equal to the second value.
  • the number of the at least one prediction point is less than the second value, it is also possible to traverse the The candidate points that have not been traversed in the at least one candidate point, and the traversed candidate points are added to the at least one prediction point until the number of the at least one prediction point is equal to the second value.
  • the weight of the current candidate point is greater than The minimum weight of at least one weight corresponding to the at least one prediction point, or, if the weight of the current candidate point is equal to the minimum weight, or, if the weight of the current candidate point is equal to the minimum weight and the The current candidate point is added to the at least one prediction point until the index of the current candidate point is smaller than the index of the prediction point corresponding to the minimum weight, until the number of the at least one prediction point is equal to the second value.
  • the S130 may include:
  • the number of the at least one prediction point is greater than or equal to the second value and less than the third value, traverse the untraversed candidate points in the at least one candidate point in the order of the index in the decoding order from large to small, if the current The weight of the candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is added to the at least one prediction point, and the third value is greater than or equal to the second value .
  • the current candidate point may also be added to the at least one prediction point when other conditions are met, and the third value is greater than or equal to the second value.
  • the number of the at least one prediction point is greater than or equal to the second value and less than the third value, traversing the untraversed candidate points in the at least one candidate point according to the order of the index in the decoding order from large to small; If the weight of the current candidate point is equal to the minimum weight, or, if the weight of the current candidate point is equal to the minimum weight and the index of the current candidate point is smaller than the index of the prediction point corresponding to the minimum weight, set The current candidate point is supplemented to the at least one predicted point.
  • the S130 may include:
  • the number of the at least one predicted point is equal to the third value, traverse the untraversed candidate points in the at least one candidate point in order of index from large to small, if the weight of the current candidate point is greater than the weight of the at least one predicted point.
  • the candidate point may also use the current candidate point to replace the prediction point corresponding to the minimum weight when other conditions are met. For example, if the number of the at least one prediction point is equal to the third value, traversing the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order; if the current candidate The weight of the point is equal to the minimum weight, and the current candidate point is used to replace the prediction point corresponding to the minimum weight.
  • the S130 may include:
  • the at least one prediction point If the number of the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point according to the descending order of the index in the decoding order, and supplement the traversed candidate points to The at least one prediction point, until the number of the at least one prediction point is equal to the second value; if the at least one candidate point also includes candidate points that have not been traversed, continue to follow the index in the decoding order from large to small traversing the untraversed candidate points in the at least one candidate point, if the weight of the current candidate point is greater than the minimum weight of the at least one weight corresponding to the at least one predicted point, the current candidate point is added to the At least one prediction point, the third value is greater than or equal to the second value; if the number of the at least one prediction point is equal to the third value and the at least one candidate point also includes candidate points that have not been traversed, continue Traverse the untraversed candidate points in the at least one candidate point according to the order of
  • the number of the at least one predicted point is less than the second value, traverse the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order, and store the traversed Candidate points are added to the at least one prediction point, and until the number of the at least one prediction point is equal to a second value, traversing untraversed candidate points in the at least one candidate point is stopped.
  • the at least one candidate point It also includes untraversed candidate points, and continues to traverse the m1 candidate points among the untraversed candidate points in the at least one candidate point according to the order of the index in the decoding order from large to small, and m1 is greater than or equal to 0; if the current The weight of the candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is supplemented to the at least one prediction point; if the m1 candidate points have not been traversed Next, the number of the at least one prediction point reaches a
  • the at least one prediction point if the number of the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order, and store the traversed
  • the candidate points of the at least one prediction point are supplemented to the at least one prediction point until the number of the at least one prediction point is equal to the second value; if the number of the at least one prediction point reaches the second value, the at least one candidate
  • the points also include untraversed candidate points, continue to traverse the m1 candidate points among the untraversed candidate points in the at least one candidate point according to the order of the index in the decoding order from large to small, and m1 is greater than or equal to 0; if The weight of the current candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is added to the at least one prediction point; if the m1 candidate points have not been traversed In this case, the number
  • the at least one prediction point if the number of the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order, and store the traversed
  • the candidate points of the at least one prediction point are supplemented to the at least one prediction point until the number of the at least one prediction point is equal to the second value; if the number of the at least one prediction point reaches the second value, the at least one candidate The points also include untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point in the order of the index in the decoding order from large to small; if the weight of the current candidate point is greater than the at least one prediction point The minimum weight among the corresponding at least one weight respectively, supplementing the current candidate point to the at least one prediction point; if the at least one prediction point has not been traversed, the number of the at least one prediction point reaches A third value, where the third value is greater than or equal to the second value
  • the at least one prediction point if the number of the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order, and store the traversed
  • the candidate points of the at least one prediction point are supplemented to the at least one prediction point until the number of the at least one prediction point is equal to the second value; if the number of the at least one prediction point reaches the second value, the at least one candidate The points also include untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point in the order of the index in the decoding order from large to small; if the weight of the current candidate point is greater than the at least one predicted point The minimum weight among the corresponding at least one weight respectively, supplementing the current candidate point to the at least one prediction point; if the at least one candidate point has not been traversed, the number of the at least one prediction point reaches The third value, the third value is greater than or equal to the second value,
  • the conditions for stopping traversing the at least one candidate point include but are not limited to: the number of the at least one predicted point reaches the second value or the third value, and/or the number of traversed candidate points reaches a preset threshold.
  • the third value is greater than or equal to the second value.
  • the number of candidate points that have been traversed may be counted from the first candidate point to be traversed in the at least one candidate point, or may be counted from the number of the at least one predicted point to the second value or the The count of the first candidate point to be traversed after the third value is not limited in this embodiment of the present application.
  • the number of the at least one prediction point is less than the second value, or if the number of the at least one prediction point is greater than or equal to the second value and less than the third value, even if the decoding order After traversing the untraversed candidate points in the at least one candidate point in descending order, the number of the at least one predicted point may still be less than the third value. In this case, no A solution for replacing a prediction point in the at least one prediction point.
  • the index in the decoding order is determined by After traversing the partially untraversed candidate points in the at least one candidate point in order from large to small, the number of the at least one predicted point has been equal to the third value, and at this time, continue to follow the decoding order in which the index is determined by Traverse the candidate points that have not been traversed in the at least one candidate point in order from large to small to replace the prediction points with too small weights in the at least one prediction point. Of course, it is also possible to continue to follow the decoding sequence from large to small. After traversing the untraversed candidate points in the at least one candidate point sequentially, no suitable candidate point for replacing the prediction point in the at least one prediction point is found.
  • the number of predicted points corresponding to the current point is set to be greater than or equal to the second value and less than or equal to the third value, the accuracy of weighted prediction can be improved.
  • the method 100 may also include:
  • the at least one prediction point is sorted in descending order of weight.
  • the at least one prediction point is less than the second value, traverse the untraversed candidate points in the at least one candidate point in descending order of the index in the decoding order, and store the traversed candidate points Points are added to the at least one prediction point until the number of the at least one prediction point is equal to the second value, and the at least one prediction point is sorted in order of weight from large to small; and/or, if The number of the at least one prediction point is greater than or equal to the second value and less than the third value, traversing the untraversed candidate points in the at least one candidate point in the order of the index in the decoding order from large to small, if the current candidate The weight of the point is greater than the weight of the last prediction point in the at least one prediction point, the current candidate point is supplemented to the at least one prediction point, and the at least one prediction point is in descending order of weight Sorting, the third value is greater than or equal to the second value; and/or, if the number of the at least
  • the second value is 3, and the third value is 6.
  • the values of the second value and the third value may also be other values, which are not specifically limited in this embodiment of the present application.
  • the values of the second value and the third value may also be 4 and 7 respectively.
  • the weight of the current candidate point is the reciprocal of the distance between the current candidate point and the current point.
  • the weight of the current candidate point is the reciprocal of the Manhattan distance between the current candidate point and the current point.
  • the geometric coordinates of the current point are ( xi , y i , zi )
  • the geometric coordinates of the current candidate point are (x ij , y ij , z ij ).
  • j 0, 1, 2, ..., k
  • the weight w ij of each candidate point is shown in the following formula 1:
  • the weight of the current candidate point is the Euclidean distance between the current candidate point and the current point the reciprocal of .
  • the weight of the current candidate point is a fixed constant.
  • the S140 may include:
  • the weighted average of the attribute reconstruction values of the predicted points corresponding to the current point is determined as the predicted value of the current point.
  • the predicted value of the current point can be determined based on the following formula:
  • the first numerical value is 128, the second numerical value is 3, and the third numerical value is 6.
  • the attribute decoder is implemented as follows:
  • the geometric reconstruction point cloud is recursively divided into several cube voxels by the octree, and the points in each voxel are subjected to the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and the first decoding point is executed a), e) process, the remaining points execute b), c), d), e) process:
  • the points in the point cloud that are coplanar, collinear and co-pointed with the current point as the search range of the predicted points, determine a minimum of 3 and a maximum of 6 points as the predicted points, and calculate the attribute reconstruction value of all predicted points
  • the weighted average is used as the attribute prediction value of the current point.
  • the points coplanar with the current point are 3, 5, 6, the points collinear with the current point 1, 2, 4, 10, 12, 17, 20, 33, 34 are 0, 8, 16, 24, 32, 40, 48 as the search range of prediction points, determine a minimum of 3 and a maximum of 6 points as prediction points, and calculate the weighted average of the attribute reconstruction values of all prediction points as the attribute of the current point Predictive value.
  • the search range of the candidate point is the first 128 points of the current point in the Morton order; when the index of the current point is less than or equal to 128, the search range of the candidate point is the current point in the All previous points in Morton order. Assuming that the number of predicted points determined in b) is less than 3, within the search range of candidate points, search for the closest point to the current point under the Manhattan distance, and determine at least 3 and at most 6 points as predicted points.
  • the specific determination method is:
  • the number of predicted points is less than 3, directly determine the candidate point as the predicted point, and then arrange all the predicted points according to the weight value from large to small;
  • the number of prediction points is greater than or equal to 3 and less than 6, if the weight of the current candidate point is greater than the weight of the last prediction point, the current candidate point is selected as the prediction point, and then all the prediction points are ordered according to the weight value from large to small Rearrange; when the number of prediction points is equal to 6, if the weight of the current candidate point is greater than the weight of the last prediction point, or the weight of the current candidate point is equal to the weight of the last prediction point and the index of the current candidate point is less than the index of the last prediction point, Then use the candidate point to replace the original prediction point at the end, and then rearrange all the prediction points according to the order of weight value from large to small.
  • the intra prediction algorithm based on the combination of spatial relationship and global search can use a variety of decoding orders, including but not limited to Morton order, Hilbert order, etc.; the intra prediction algorithm based on the combination of spatial relationship and global search can use a variety of Weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, etc.
  • sequence numbers of the above-mentioned processes do not mean the order of execution, and the order of execution of the processes should be determined by their functions and internal logic, and should not be used in this application.
  • the implementation of the examples constitutes no limitation.
  • FIG. 13 is a schematic flowchart of an encoding-based method 200 provided by an embodiment of the present application.
  • the decoding method 200 may include:
  • n is a positive integer, based on the geometric information, determine the At least one predicted point in the point cloud that is coplanar, collinear and copoint with the current point;
  • the at least one prediction point is supplemented or replaced by traversing at least one candidate point before the current point in the encoding order to obtain the corresponding prediction point before the current point.
  • the method 200 may also include:
  • the at least one candidate point is determined based on the index of the current point in the encoding order.
  • all points in the encoding sequence before the current point are determined as the at least one candidate point; if the current point The index of is greater than the first numerical value, and the first numerical value points before the current point in the encoding sequence are determined as the at least one candidate point.
  • the first value is 128.
  • the S230 may include:
  • the number of the at least one prediction point is greater than or equal to the second value and less than the third value, traverse the untraversed candidate points in the at least one candidate point according to the order of the index in the encoding order from large to small, if the current The weight of the candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is added to the at least one prediction point, and the third value is greater than or equal to the second value ;and / or
  • the number of the at least one prediction point is equal to the third value, traverse the untraversed candidate points in the at least one candidate point according to the order of the index in the encoding sequence from large to small, if the weight of the current candidate point is greater than the The minimum weight of at least one weight corresponding to at least one prediction point, or, if the weight of the current candidate point is equal to the minimum weight and the index of the current candidate point is smaller than the index of the prediction point corresponding to the minimum weight, Using the current candidate point to replace the prediction point corresponding to the minimum weight.
  • the S230 may include:
  • the at least one candidate point also includes untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point according to the order in which the index in the coding order is from large to small, if the weight of the current candidate point is greater than The minimum weight of the at least one weight corresponding to the at least one prediction point, supplementing the current candidate point to the at least one prediction point;
  • the at least one prediction point is equal to the third value and the at least one candidate point also includes candidate points that have not been traversed, continue to traverse the at least one candidate point according to the order in which the index in the coding order is from large to small
  • the weight of the current candidate point is greater than the minimum weight of at least one weight corresponding to the at least one predicted point, or if the weight of the current candidate point is equal to the minimum weight and the current candidate
  • the index of the point is smaller than the index of the prediction point corresponding to the minimum weight, the current candidate point is used to replace the prediction point corresponding to the minimum weight, and the third value is greater than or equal to the second value.
  • the method 200 may also include:
  • the at least one prediction point is sorted in descending order of weight.
  • the second value is 3, and the third value is 6.
  • the weight of the current candidate point is the reciprocal of the distance between the current candidate point and the current point.
  • the S240 may include:
  • the weighted average of the attribute reconstruction values of the predicted points corresponding to the current point is determined as the predicted value of the current point.
  • the first numerical value is 128, the second numerical value is 3, and the third numerical value is 6.
  • the attribute encoder is implemented as follows:
  • the geometric reconstruction point cloud is recursively divided into several cube voxels by the octree, and the points in each voxel are subjected to the intra-frame prediction process to calculate the attribute prediction value according to the same Morton order as the encoding process, and the first point of the encoding is executed a), e) process, the remaining points execute b), c), d), e) process:
  • the points in the point cloud that are coplanar, collinear and co-pointed with the current point as the search range of the predicted points, determine a minimum of 3 and a maximum of 6 points as the predicted points, and calculate the attribute reconstruction value of all predicted points
  • the weighted average is used as the attribute prediction value of the current point.
  • the points coplanar with the current point are 3, 5, 6, the points collinear with the current point 1, 2, 4, 10, 12, 17, 20, 33, 34 are 0, 8, 16, 24, 32, 40, 48 as the search range of prediction points, determine a minimum of 3 and a maximum of 6 points as prediction points, and calculate the weighted average of the attribute reconstruction values of all prediction points as the attribute of the current point Predictive value.
  • the search range of the candidate point is the first 128 points of the current point in the Morton order; when the index of the current point is less than or equal to 128, the search range of the candidate point is the current point in Moton All the previous points in the frame order. Assuming that the number of predicted points determined in b) is less than 3, within the search range of candidate points, search for the closest point to the current point under the Manhattan distance, and determine at least 3 and at most 6 points as predicted points.
  • the specific determination method is:
  • the number of predicted points is less than 3, directly determine the candidate point as the predicted point, and then arrange all the predicted points according to the weight value from large to small;
  • the number of prediction points is greater than or equal to 3 and less than 6, if the weight of the current candidate point is greater than the weight of the last prediction point, the current candidate point is selected as the prediction point, and then all the prediction points are ordered according to the weight value from large to small Rearrange; when the number of prediction points is equal to 6, if the weight of the current candidate point is greater than the weight of the last prediction point, or the weight of the current candidate point is equal to the weight of the last prediction point and the index of the current candidate point is less than the index of the last prediction point, Then use the candidate point to replace the original prediction point at the end, and then rearrange all the prediction points according to the order of weight value from large to small.
  • the residual is the difference between the original attribute value of the current point and the predicted value, and then the residual is transformed, quantized, etc.;
  • the intra prediction algorithm based on the combination of spatial relationship and global search can use a variety of coding orders, including but not limited to Morton order, Hilbert order, etc.; the intra prediction algorithm based on the combination of spatial relationship and global search can use a variety of Weight value selection methods, including but not limited to weights based on Euclidean distance, fixed constant weights, etc.
  • Fig. 14 is a schematic block diagram of a decoder 300 provided by an embodiment of the present application.
  • the decoder 300 may include:
  • An analysis unit 310 configured to analyze the code stream of the point cloud to obtain geometric information of the point cloud
  • the first determining unit 320 is configured to: if the current point to be decoded in the point cloud is a point other than the first n points in the decoding order of the attribute information of the point cloud, n is a positive integer, based on the geometric information, determining at least one predicted point in the point cloud that is coplanar, collinear, and co-pointed with the current point;
  • the supplementary replacement unit 330 is configured to supplement or replace the at least one predicted point by traversing at least one candidate point before the current point in the decoding order, to obtain the predicted point corresponding to the current point;
  • the second determining unit 340 is configured to determine the predicted attribute value of the current point with respect to the reconstructed attribute value of the predicted point corresponding to the current point.
  • n is equal to 3; the second determination unit 340 is also used for:
  • the supplementary replacement unit 330 supplements or replaces the at least one predicted point by traversing at least one candidate point before the current point in the decoding order to obtain the corresponding Before the prediction point of , the supplementary replacement unit 330 is also used to:
  • the at least one candidate point is determined based on the index of the current point in the decoding order.
  • the supplementary replacement unit 330 is specifically used for:
  • the first value is 128.
  • the supplementary replacement unit 330 is specifically used for:
  • the number of the at least one prediction point is greater than or equal to the second value and less than the third value, traverse the untraversed candidate points in the at least one candidate point in the order of the index in the decoding order from large to small, if the current The weight of the candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is added to the at least one prediction point, and the third value is greater than or equal to the second value ;and / or
  • the number of the at least one predicted point is equal to the third value, traverse the untraversed candidate points in the at least one candidate point according to the descending order of the index in the decoding order, if the weight of the current candidate point is greater than the The minimum weight of at least one weight corresponding to at least one prediction point, or, if the weight of the current candidate point is equal to the minimum weight and the index of the current candidate point is smaller than the index of the prediction point corresponding to the minimum weight, Using the current candidate point to replace the prediction point corresponding to the minimum weight.
  • the supplementary replacement unit 330 is specifically used for:
  • the at least one candidate point also includes untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point according to the order of the index in the decoding order from large to small, if the weight of the current candidate point is greater than The minimum weight of the at least one weight corresponding to the at least one prediction point, supplementing the current candidate point to the at least one prediction point;
  • the at least one candidate point If the number of the at least one predicted point is equal to the third value and the at least one candidate point also includes untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point in order of index from large to small , if the weight of the current candidate point is greater than the minimum weight of at least one weight corresponding to the at least one predicted point, or, if the weight of the current candidate point is equal to the minimum weight and the index of the current candidate point is less than the The index of the prediction point corresponding to the minimum weight, the current candidate point is used to replace the prediction point corresponding to the minimum weight, and the third value is greater than or equal to the second value.
  • the supplementary replacement unit 330 is also used for:
  • the at least one prediction point is sorted in descending order of weight.
  • the second value is 3, and the third value is 6.
  • the weight of the current candidate point is the reciprocal of the distance between the current candidate point and the current point.
  • the second determination unit 340 is specifically configured to:
  • the weighted average of the attribute reconstruction values of the predicted points corresponding to the current point is determined as the predicted value of the current point.
  • the decoder 300 can also be combined with the decoding framework shown in FIG. 5 , that is, units in the decoder 300 can be replaced or combined with relevant parts in the decoding framework.
  • the first determination unit 320 , the supplementary replacement unit 330 and the second determination unit 340 may be used to realize the attribute prediction part in the encoding framework.
  • Fig. 15 is a schematic block diagram of an encoder 400 provided by an embodiment of the present application.
  • the encoder 400 may include:
  • An acquisition unit 410 configured to acquire geometric information of the point cloud
  • the first determination unit 420 is configured to if the current point to be encoded in the point cloud is a point other than the first n points in the encoding sequence of the attribute information of the point cloud, n is a positive integer, based on the geometric information, determining at least one predicted point in the point cloud that is coplanar, collinear, and co-pointed with the current point;
  • a supplementary replacement unit 430 configured to supplement or replace the at least one predicted point by traversing at least one candidate point before the current point in the encoding sequence, to obtain a predicted point corresponding to the current point;
  • the second determining unit 440 is configured to determine the predicted attribute value of the current point with respect to the reconstructed attribute value of the predicted point corresponding to the current point.
  • n is equal to 3; the second determination unit 440 can also be used for:
  • the supplementary replacement unit 430 supplements or replaces the at least one predicted point by traversing at least one candidate point before the current point in the encoding order to obtain the corresponding Before the prediction point of , the supplementary replacement unit 430 can also be used to:
  • the at least one candidate point is determined based on the index of the current point in the encoding order.
  • the supplementary replacement unit 430 is specifically used for:
  • determining the first numerical value points before the current point in the encoding sequence as the at least one candidate point.
  • the first value is 128.
  • the supplementary replacement unit 430 is specifically used for:
  • the number of the at least one prediction point is greater than or equal to the second value and less than the third value, traverse the untraversed candidate points in the at least one candidate point according to the order of the index in the encoding order from large to small, if the current The weight of the candidate point is greater than the minimum weight of at least one weight corresponding to the at least one prediction point, and the current candidate point is added to the at least one prediction point, and the third value is greater than or equal to the second value ;and / or
  • the number of the at least one prediction point is equal to the third value, traverse the untraversed candidate points in the at least one candidate point according to the order of the index in the encoding sequence from large to small, if the weight of the current candidate point is greater than the The minimum weight of at least one weight corresponding to at least one prediction point, or, if the weight of the current candidate point is equal to the minimum weight and the index of the current candidate point is smaller than the index of the prediction point corresponding to the minimum weight, Using the current candidate point to replace the prediction point corresponding to the minimum weight.
  • the supplementary replacement unit 430 is specifically used for:
  • the at least one candidate point also includes untraversed candidate points, continue to traverse the untraversed candidate points in the at least one candidate point according to the order in which the index in the coding order is from large to small, if the weight of the current candidate point is greater than The minimum weight of the at least one weight corresponding to the at least one prediction point, supplementing the current candidate point to the at least one prediction point;
  • the at least one prediction point is equal to the third value and the at least one candidate point also includes candidate points that have not been traversed, continue to traverse the at least one candidate point according to the order in which the index in the coding order is from large to small
  • the weight of the current candidate point is greater than the minimum weight of at least one weight corresponding to the at least one predicted point, or if the weight of the current candidate point is equal to the minimum weight and the current candidate
  • the index of the point is smaller than the index of the prediction point corresponding to the minimum weight, the current candidate point is used to replace the prediction point corresponding to the minimum weight, and the third value is greater than or equal to the second value.
  • the supplementary replacement unit 430 can also be used for:
  • the at least one prediction point is sorted in descending order of weight.
  • the second value is 3, and the third value is 6.
  • the weight of the current candidate point is the reciprocal of the distance between the current candidate point and the current point.
  • the second determining unit 440 is specifically configured to:
  • the weighted average of the attribute reconstruction values of the predicted points corresponding to the current point is determined as the predicted value of the current point.
  • the encoder 300 can also be combined with the encoding framework shown in FIG. 4 , that is, units in the encoder 300 can be replaced or combined with relevant parts in the encoding framework.
  • the first determination unit 420 , the supplementary replacement unit 430 and the second determination unit 440 can be used to realize the attribute prediction part in the encoding framework.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the decoder 300 may correspond to the corresponding main body in the method 100 of the embodiment of the present application, and each unit in the decoder 300 is to realize the corresponding process in the method 100, similarly, the encoder 400 may correspond to the execution The corresponding subjects in the method 200 in the embodiment of the present application, and each unit in the encoder 400 are to implement the corresponding processes in the method 200 respectively, and for the sake of brevity, details are not repeated here.
  • the various units in the decoder 300 or the encoder 400 involved in the embodiment of the present application can be respectively or all combined into one or several other units to form, or some (some) units can be further disassembled. Divided into a plurality of functionally smaller units, this can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application.
  • the above-mentioned units are divided based on logical functions. In practical applications, the functions of one unit may also be realized by multiple units, or the functions of multiple units may be realized by one unit. In other embodiments of the present application, the decoder 300 or the encoder 400 may also include other units. In practical applications, these functions may also be implemented with the assistance of other units, and may be implemented cooperatively by multiple units.
  • a general-purpose computing device including a general-purpose computer such as a central processing unit (CPU), a random access storage medium (RAM), a read-only storage medium (ROM) and a storage element
  • a computer program capable of executing the steps involved in the corresponding method to construct the decoder 300 or encoder 400 involved in the embodiment of the present application, and realize the point cloud attribute prediction based on the embodiment of the present application Codec method.
  • the computer program can be recorded in, for example, a computer-readable storage medium, loaded on any electronic device with data processing capability through the computer-readable storage medium, and run in it to implement the corresponding method of the embodiment of the present application.
  • the units mentioned above can be implemented in the form of hardware, can also be implemented by instructions in the form of software, and can also be implemented in the form of a combination of software and hardware.
  • each step of the method embodiment in the embodiment of the present application can be completed by an integrated logic circuit of the hardware in the processor and/or instructions in the form of software, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as hardware
  • the execution of the decoding processor is completed, or the combination of hardware and software in the decoding processor is used to complete the execution.
  • the software can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, and registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiments in combination with its hardware.
  • FIG. 16 is a schematic structural diagram of a codec device 500 provided by an embodiment of the present application.
  • the codec device 500 includes at least a processor 510 and a computer-readable storage medium 520 .
  • the processor 510 and the computer-readable storage medium 520 may be connected through a bus or in other ways.
  • the computer-readable storage medium 520 is used for storing a computer program 521
  • the computer program 521 includes computer instructions
  • the processor 510 is used for executing the computer instructions stored in the computer-readable storage medium 520 .
  • the processor 510 is the computing core and the control core of the codec device 500, which is suitable for realizing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions so as to realize corresponding method procedures or corresponding functions.
  • the processor 510 may also be called a central processing unit (Central Processing Unit, CPU).
  • the processor 510 may include but not limited to: a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the computer-readable storage medium 520 can be a high-speed RAM memory, or a non-volatile memory (Non-VolatileMemory), such as at least one disk memory; computer readable storage medium.
  • the computer-readable storage medium 520 includes, but is not limited to: volatile memory and/or non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • the volatile memory can be Random Access Memory (RAM), which acts as external cache memory.
  • RAM Random Access Memory
  • Static Random Access Memory SRAM
  • Dynamic Random Access Memory DRAM
  • Synchronous Dynamic Random Access Memory Synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory Double Data Rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory Enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • the codec device 500 may be the encoding framework shown in FIG. 4 or the encoder 400 shown in FIG. 15; the computer-readable storage medium 520 stores first computer instructions; Load and execute the first computer instruction stored in the computer-readable storage medium 520, to realize the corresponding steps in the method embodiment shown in FIG. 13; Step 510 loads and executes corresponding steps, which will not be repeated here to avoid repetition.
  • the codec device 500 may be the decoding framework shown in FIG. 5 or the decoder 300 shown in FIG. 14 ; second computer instructions are stored in the computer-readable storage medium 520 ; Load and execute the second computer instructions stored in the computer-readable storage medium 520 to implement the corresponding steps in the method embodiment shown in FIG. 12; Step 510 loads and executes corresponding steps, which will not be repeated here to avoid repetition.
  • the embodiment of the present application also provides a computer-readable storage medium (Memory).
  • the computer-readable storage medium is a memory device in the codec device 500 and is used to store programs and data.
  • computer readable storage medium 520 may include a built-in storage medium in the codec device 500 , and of course may also include an extended storage medium supported by the codec device 500 .
  • the computer-readable storage medium provides a storage space, and the storage space stores the operating system of the codec device 500 .
  • one or more computer instructions adapted to be loaded and executed by the processor 510 are also stored in the storage space, and these computer instructions may be one or more computer programs 521 (including program codes). These computer instructions are used for the computer to execute the coding and decoding methods based on point cloud attribute prediction provided in the various optional ways above.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • computer program 521 the codec device 500 may be a computer, the processor 510 reads the computer instructions from the computer-readable storage medium 520, and the processor 510 executes the computer instructions, so that the computer executes the point-based Encoding and decoding methods for cloud property prediction.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, from a website, computer, server, or data center via Wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) transmission to another website site, computer, server or data center.
  • Wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless such as infrared, wireless, microwave, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请实施例提供了一种解码方法、编码方法、解码器、编码器以及编解码设备,所述解码方法包括:对点云的码流进行解析,得到所述点云的几何信息;若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。本申请提供的解码方法能够提升针对属性信息的预测效果。

Description

解码方法、编码方法、解码器、编码器以及编解码设备 技术领域
本申请实施例涉及编解码技术领域,并且更具体地,涉及解码方法、编码方法、解码器、编码器以及编解码设备。
背景技术
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息系统、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和属性信息。具体而言,先通过对点云的位置信息进行八叉树编码;同时,根据八叉树编码后的当前点的位置信息在已编码的点中选择出用于预测当前点属性信息的预测值的点后,基于选择出的点对其属性信息进行预测,再通过与属性信息的原始值进行做差的方式来编码颜色信息,以实现对点云的编码。
截止目前,在对属性信息进行预测的过程中,如何在提升针对属性信息的预测效果是本领域急需解决的技术问题。
发明内容
本申请实施例提供了一种解码方法、编码方法、解码器、编码器以及编解码设备,能够提升针对属性信息的预测效果。
第一方面,本申请提供了一种解码方法,包括:
对点云的码流进行解析,得到所述点云的几何信息;
若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
第二方面,本申请提供了一种编码方法,包括:
获取点云的几何信息;
若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
第三方面,本申请提供了一种解码器,包括:
解析单元,用于对点云的码流进行解析,得到所述点云的几何信息;
第一确定单元,用于若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
补充替换单元,用于通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
第二确定单元,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
第四方面,本申请提供了一种编码器,包括:
获取单元,用于获取点云的几何信息;
第一确定单元,用于若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
补充替换单元,用于通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
第二确定单元,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
基于以上技术方案,针对所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,先基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一 个预测点;然后通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;相当于,基于几何关系确定的至少一个预测点不够(即近邻点不可得)或不是最近邻点的情况下,可通过遍历所述至少一个候选点的方式,对所述至少一个预测点进行补充或替换,不仅能够保证所述当前点对应有足够的预测点,还能够保证所述当前点对应的预测点为所述当前点的最近邻点,进而,能够提升所述当前点的属性预测值的预测准确度。
换言之,由于几何关系也可称为空间关系,遍历所述至少一个候选点的方式相当于基于所述至少一个候选点进行全局搜索,基于此,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,相当于,通过基于空间关系结合全局搜索的方式查找所述当前点对应的预测点,即通过丰富所述当前点的预测点的获取方式,来提升所述当前点的属性预测值的预测准确度。
附图说明
图1是本申请实施例提供的点云图像的示例。
图2是图1所示的点云图像的局部放大图。
图3是本申请实施例提供的具有的六个观看角度的点云图像的示例。
图4是本申请实施例提供的编码框架的示意性框图。
图5是本申请实施例提供的解码框架的示意性框图。
图6是本申请实施例提供的包围盒的示例。
图7是本申请实施例提供的对包围盒进行八叉树划分的示例。
图8至图10示出了莫顿码在二维空间中的编码顺序。
图11示出了莫顿码在三维空间中的编码顺序。
图12是本申请实施例提供的解码方法的示意性流程图。
图13是本申请实施例提供的编码方法的示意性流程图。
图14是本申请实施例提供的解码器的示意性框图。
图15是本申请实施例提供的编码器的示意性框图。
图16是本申请实施例提供的编解码设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
点云(Point Cloud)是空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。图1和图2分别示出了三维点云图像和局部放大图,可以看到点云表面是由分布稠密的点所组成的。
二维图像在每一个像素点均有信息表达,分布规则,因此不需要额外记录其位置信息;然而点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。与二维图像类似,采集过程中每一个位置均有对应的属性信息,通常为RGB颜色值,颜色值反映物体的色彩;对于点云来说,每一个点所对应的属性信息除了颜色以外,还有比较常见的是反射率(reflectance)值,反射率值反映物体的表面材质。因此,点云数据通常包括三维位置信息所组成的几何信息(x,y,z)和三维颜色信息(r,g,b)、一维反射率信息(r)所组成的属性信息。
换言之,点云中每个点可以包括几何信息和属性信息,其中,点云中每个点的几何信息是指该点的笛卡尔三维坐标数据,点云中每个点的属性信息可以包括但不限于以下至少一种:颜色信息、材质信息、激光反射强度信息。颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是红绿蓝(Red Green Blue,RGB)信息。再如,颜色信息还可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色度分量,Cr(V)表示红色色度分量。点云中的每个点都具有相同数量的属性信息。例如,点云中的每个点都具有颜色信息和激光反射强度两种属性信息。再如,点云中的每个点都具有颜色信息、材质信息和激光反射强度信息三种属性信息。
点云图像可具有的多个观看角度,例如,如图3所示的点云图像可具有的六个观看角度,点云图像对应的数据存储格式由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容。
作为示例,点云图像的数据存储格式可实现为以下格式:
ply
format ascii 1.0
element vertex 207242
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
75 318 0 0 142 0
75 319 0 0 143 0
75 319 1 1 9 9
75 315 0 1 9 9
针对上述点云图像的数据存储格式,其数据格式为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维位置信息xyz和三维颜色信息rgb。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
基于应用场景可以将点云划分为两大类别,即机器感知点云和人眼感知点云。机器感知点云的应用场景包括但不限于:自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等点云应用场景。人眼感知点云的应用场景包括但不限于:数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。相应的,可以基于点云的获取方式,将点云划分为密集型点云和稀疏型点云;也可基于点云的获取途径将点云划分为静态点云和动态点云,更具体可划分为三种类型的点云,即第一静态点云、第二类动态点云以及第三类动态获取点云。针对第一静态点云,物体是静止的,且获取点云的设备也是静止的;针对第二类动态点云,物体是运动的,但获取点云的设备是静止的;针对第三类动态获取点云,获取点云的设备是运动的。
点云的采集主要有以下途径:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。具体而言,可通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云。根据激光测量原理得到的点云,其可以包括点的三维坐标信息和点的激光反射强度(reflectance)。根据摄影测量原理得到的点云,其可以可包括点的三维坐标信息和点的颜色信息。结合激光测量和摄影测量原理得到点云,其可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。例如,在医学领域,由磁共振成像(magnetic resonance imaging,MRI)、计算机断层摄影(computed tomography,CT)、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云的获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30fps(帧每秒)的点云视频为例,每帧点云的点数为70万,其中,每帧点云中的每一个点具有坐标信息xyz(float)和颜色信息RGB(uchar),则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。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩一般采用点云几何信息和属性信息分别压缩的方式,在编码端,首先在几何编码器中编码点云几何信息,然后将重建几何信息作为附加信息输入到属性编码器中,辅助点云属性的压缩;在解码端,首先在几何解码器中解码点云几何信息,然后将解码后的几何信息作为附加信息输入到属性解码器中,辅助点云属性的压缩。整个编解码器由预处理/后处理、几何编码/解码、属性编码/解码几部分组成。
点云可通过各种类型的编码框架和解码框架分别进行编码和解码。作为示例,编解码框架可以是运动图象专家组(Moving Picture Experts Group,MPEG)提供的几何点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或视频点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)专题组提供的AVS-PCC编解码框架或点云压缩参考平台(PCRM)框架。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编 解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。G-PCC及AVS-PCC均针对静态的稀疏型点云,其编码框架大致相同。下面以PCRM框架为例对本申请实施例可适用的编解码框架进行说明。
图4是本申请实施例提供的编码框架的示意性框图。
如图4所示,在编码端的几何编码部分,首先对原始几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点数转化为整形,便于后续的规则化处理;然后对规则化的几何信息进行几何编码,采用八叉树结构对点云空间进行递归划分,每次将当前块划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内不包含点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码;通过八叉树结构表达的几何信息一方面输入到几何熵编码器中形成几何码流,一方面在编码器内进行几何重建处理,重建后的几何信息作为附加信息输入到属性编码器中。在属性编码部分,首先对原始属性信息进行预处理,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色,此外,如果处理的属性信息为颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间;然后对预处理后属性信息进行属性编码,属性编码首先需要将点云进行重排序,重排序的方式是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点向前回溯一个点,找到的点为当前待编码点的预测参考点,然后将预测参考点的属性重建值作为属性预测值,属性残差为当前待编码点的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。
图5是本申请实施例提供的解码框架的示意性框图。
如图5所示,在解码端,同样采用几何和属性分别解码的方式。在几何解码部分,首先对几何码流进行熵解码,得到每个点的几何信息,然后按照和几何编码相同的方式构建八叉树结构,结合解码几何重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码几何信息,一方面作为附加信息输入到属性解码器中。在属性解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后进行反量化,得到点云残差;类似的,按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码属性信息。
为便于描述,下面对点云的规则化处理方法进行说明。
由于点云在空间中无规则分布的特性,给编码过程带来挑战,因此采用递归八叉树的结构,如图6所示,将点云中的点规则化地表达成立方体的中心。具体而言,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x k,y k,z k),k=0,…,K-1,其中K是点云的总点数,点云在x、y、z方向上的边界值分别为:
Figure PCTCN2021099888-appb-000001
Figure PCTCN2021099888-appb-000002
Figure PCTCN2021099888-appb-000003
Figure PCTCN2021099888-appb-000004
Figure PCTCN2021099888-appb-000005
Figure PCTCN2021099888-appb-000006
则包围盒的原点
Figure PCTCN2021099888-appb-000007
可以计算如下:
Figure PCTCN2021099888-appb-000008
Figure PCTCN2021099888-appb-000009
Figure PCTCN2021099888-appb-000010
其中,floor()表示向下取整计算或向下舍入计算。int()表示取整运算。
基于边界值和原点的计算公式,可以计算包围盒在x、y、z方向上的尺寸如下:
Figure PCTCN2021099888-appb-000011
Figure PCTCN2021099888-appb-000012
Figure PCTCN2021099888-appb-000013
得到包围盒在x、y、z方向上的尺寸后,如图7所示,首先对包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作体素(voxel),每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点,该中心点的属性值取voxel中所有点的属性值的平均值。将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个体素(voxel),即编码voxel所代表的点(或称“节点”),一种常用的编码顺序为交叉分离式的莫顿顺序。
图8至图10示出了莫顿码在二维空间中的编码顺序。图11示出了莫顿码在三维空间中的编码顺序。箭头的顺序表示莫顿顺序下点的编码顺序。图8示出了二维空间中2*2个像素的“z”字形莫顿编码顺序,图9示出了二维空间中4个2*2块之间的“z”字形莫顿编码顺序,图10示出了二维空间中4个4*4块之间的“z”字形莫顿编码顺序,组成为整个8*8块的莫顿编码顺序。扩展到三维空间中的莫顿编码顺序如图11所示,图11中展示了16个点,每个“z”字内部,每个“z”与“z”之间的莫顿编码顺序都是先沿x轴方向编码,再沿y轴,最后沿z轴。
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前点的相邻点对当前点进行预测,将属性预测值与当前点属性值计算残差信息后经量化等过程,将残差信息传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前点的属性重建值。
在此过程中,属性帧内预测利用点与点之间的几何关系,以与当前点的几何共面、共线、共点的点作为预测点,同时预测点需要满足的条件是在当前点之前编码或解码,然后通过加权平均计算当前点的属性预测值。例如:一种常见的权重值设置方式是采用预测点与当前点的几何曼哈顿距离的倒数,即与当前点共面的点的权重为1,与当前点共线的点的权重为1/2,与当前点共点的点的权重为1/3。特别的,对于编码的第一个点,没有参考点进行预测,可以不对其进行预测,也可以将其属性预测值直接设为固定值,例如设为0。
简言之,根据以下两个条件确定当前点的预测点:
a)、与当前点满足共面、共线、共点关系。
b)、在当前点之前编码完成。
针对一个当前点来说,共有6个面,12条边,8个点,因此,与当前点的几何共面、共线、共点的点最大分别为6、12、8。假设当前点O的序号为7,与当前点共面的点有3、5、6、14、21、35,与当前点共线的点有1、2、4、10、12、17、20、28、33、34、42、49,与当前点共点的点有0、8、16、24、32、40、48、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当中选择当前点的预测点。
点云压缩中的属性帧内预测部分作用于PCRM框架中的帧内预测部分,对编码端和解码端同时作用,由于目前PCRM的编解码框架只涉及单帧,因此属性预测就特指帧内预测。即涉及图4和图5中的属性预测。
PCRM的属性编码器的实施方法如下:
几何重建点云被八叉树递归划分成若干个正方体的体素(voxel),每个体素中的点按照莫顿编码顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个点执行a)、c)、d)过程,其余点执行b)、c)、d)过程:
a)、当前点为编码的第一个点时,没有参考点进行预测,其属性预测值直接设为(128,128,128)。
b)、以点云中的与当前点共面、共线以及共点的点作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。例如,以与当前点共面的点有3、5、6,与当前点共线的点1、2、4、10、12、17、20、33、34,与当前点共 点的点有0、8、16、24、32、40、48作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。假设在查找范围内确定的预测点数小于3,则在当前点莫顿顺序下的前32个点中查找曼哈顿距离最近的点,补齐3个点作为预测点,属性预测值为这3个点的加权平均值。
作为示例,所有预测点的属性重建值的加权平均值的计算公式如下:
Figure PCTCN2021099888-appb-000014
其中,
Figure PCTCN2021099888-appb-000015
为所有预测点的属性重建值的加权平均值,即当前点O的属性预测值,
Figure PCTCN2021099888-appb-000016
为第i个预测点的属性重建值,w i为第i个预测点的权重,当预测点为空点时,w i=0;R为预测点的总数。
c)、残差为当前点的原始属性值和预测值之间的差,然后对残差进行变换、量化等操作。
d)、将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前点的属性重建值作为后续编码单元的参考信息。
PCRM的属性解码器的实施方法如下:
几何重建点云被八叉树递归划分成若干个正方体体素(voxel),每个体素中的点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个点执行a)、c)过程,其余点执行b)、c)过程;
a)、当前点为解码的第一个点时,没有参考点进行预测,其属性预测值直接设为(128,128,128)。
b)、以点云中的与当前点共面、共线以及共点的点作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。例如,以与当前点共面的点有3、5、6,与当前点共线的点1、2、4、10、12、17、20、33、34,与当前点共点的点有0、8、16、24、32、40、48作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。假设在查找范围内确定的预测点数小于3,则在当前点莫顿顺序下的前32个点中查找曼哈顿距离最近的点,补齐3个点作为预测点,属性预测值为这3个点的加权平均值。
作为示例,所有预测点的属性重建值的加权平均值的计算公式如下:
Figure PCTCN2021099888-appb-000017
其中,
Figure PCTCN2021099888-appb-000018
为所有预测点的属性重建值的加权平均值,即当前点O的属性预测值,
Figure PCTCN2021099888-appb-000019
为第i个预测点的属性重建值,w i为第i个预测点的权重,当预测点为空点时,w i=0;R为预测点的总数。
c)、从码流中读取当前点的残差信息,经反量化、反变换等操作后与当前点的属性预测值进行叠加,得到当前点的属性重建值作为后续编码单元的参考信息。
通过以上分析可以发现,上述PCRM的属性编码器和的属性解码器所采用的帧内预测方法,局部使用到了当前点周围的参考信息,分成两个步骤:
a)、以与当前点的共面、共线、共点的点作为预测点的查找范围,确定最少3个、最多6个点作为预测点;
b)、当在查找范围内确定的预测点数小于3时,在当前点莫顿顺序下的前32个点中查找曼哈顿距离最近的点,补齐3个点作为预测点。
然而,在a)中,由于为了控制缓存,考虑参考来自当前点在莫顿顺序下的前128个点中,查找与当前点的共面、共线、共点的点,换言之,在a)中,还需要判断共面、共线、共点点是否处于当前点在莫顿顺序下的的前128个点内。在步骤b)中,按照莫顿顺序比较32个点的曼哈顿距离,这种方法找到的预测点只是在32个点当中相对最近的点,并不一定距当前点最近。换言之,上述PCRM的属性编码器和的属性解码器所采用的帧内预测方法,并不总是能在128个点中找到距当前点最近的预测点。
本申请提供了一种解码方法、编码方法、解码器、编码器以及编解码设备,能够提升针对属性信息的预测效果。
图12是本申请实施例提供的解码方法100的示意性流程图。
如图12所示,所述解码方法100可包括:
S110,对点云的码流进行解析,得到所述点云的几何信息;
S120,若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点, n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
S130,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
S140,针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
基于以上技术方案,针对所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,先基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;然后通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;相当于,基于几何关系确定的至少一个预测点不够(即近邻点不可得)或不是最近邻点的情况下,可通过遍历所述至少一个候选点的方式,对所述至少一个预测点进行补充或替换,不仅能够保证所述当前点对应有足够的预测点,还能够保证所述当前点对应的预测点为所述当前点的最近邻点,进而,能够提升所述当前点的属性预测值的预测准确度。
换言之,由于几何关系也可称为空间关系,遍历所述至少一个候选点的方式相当于基于所述至少一个候选点进行全局搜索,基于此,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,相当于,通过基于空间关系结合全局搜索的方式查找所述当前点对应的预测点,即通过丰富所述当前点的预测点的获取方式,来提升所述当前点的属性预测值的预测准确度。
此外,针对本申请提供的技术方案,利用AVS最新的点云压缩平台PCRM3.0上进行了测试,其测试结果如表1~4所示。
表1
Figure PCTCN2021099888-appb-000020
表2
Figure PCTCN2021099888-appb-000021
表3
Figure PCTCN2021099888-appb-000022
表4
Figure PCTCN2021099888-appb-000023
如表1至表3所示,“-”代表率失真(Bit distortion,BD-rate)下降,BD-rate代表相同峰值信噪比(Peak Signal to Noise Ratio,PSNR)下的码率差异,BD-rate越小表示编码算法的性能越好。如表1是在限制有损几何压缩(limit-lossy geometry)压缩和有损属性压缩(lossy attributes)压缩的情况下Cat1B和Cat3的各个分量的BD-rate,Cat1B表示仅包括点的颜色信息的点的点云,Cat3表示包括点的颜色信息和其他属性信息的点的点云。表2是在无损几何压缩(lossless geometry)和有损属性压缩的情况下Cat1B和Cat3的颜色信息的BD-rate。表3是在无损几何压缩和限制有损属性压缩(limit-lossy attributes)的情况下Cat1B和Cat3的各个分量的BD-rate。图4是无损几何压缩和无损属性压缩的情况下Cat1B和Cat3的bpip比率,bpip比率的值越大表示编码算法的性能越好。通过表1至表4可以看出,本申请提供的解码方法具有明显的性能提升。
需要说明的是,本申请实施例中,所述当前点对应的预测点的数量可以不是固定的。所述当前点对应的预测点的最小数量和最大数量取决于固定缓存的大小。基于此,所述当前点对应的预测点也可称为固定缓存下的预测点或最近邻点。可选的,所述当前点对应的预测点的最小数量可为3,最大数量可为6。
此外,本申请对解码顺序的具体实现方式不作限定。例如,所述解码顺序可以是莫顿排序或希勃尔特排序。其中,莫顿排序是通过交叉分离式计算方法,由几何位置生成的莫顿码的顺序;希尔伯特排序是按照希尔伯特曲线在空间中的遍历顺序。
在一些实施例中,n等于3;所述方法100还可包括:
若所述当前点为所述解码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;若所述当前点为所述解码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;若所述当前点为所述解码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
在一些实施例中,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述方法100还可包括:
基于所述当前点在所述解码顺序中的索引,确定所述至少一个候选点。
在一种实现方式中,若所述当前点的索引小于或等于第一数值,将所述解码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;若所述当前点的索引大于所述第一数值,将所述解码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。可选的,所述第一数值为128。
换言之,当前点的索引大于所述第一数值时,候选点的查找范围为当前点在莫顿顺序下的前所述第一数值个点;当当前点的索引小于等于所述第一数值时,候选点的查找范围为当前点在莫顿顺序下的前面所有点。假设所述点云中的与所述当前点共面、共线以及共点的至少一个预测点的点数小于3,则在候选点的查找范围内,查找与当前点在曼哈顿距离下最近的点,将该距离最近的点补充至所述至少一个预测点。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量小于第二数值或第三数值,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充,以得到所述当前点对应的预测点,所述第三数值大于或等于所述第二数值。或者,若所述至少一个预测点的数量小于第二数值或第三数值,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充和替换,以得到所述当前点对应的预测点。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量等于第三数值,通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行替换,以得到所述当前点对应的预测点。
简言之,若所述至少一个预测点的数量小于第二数值,或者,若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,通过遍历所述至少一个候选点的方式补充预测点;若所述至少一个预测点的数量等于第三数值,通过遍历所述至少一个候选点的方式替换所述至少一个预测点中权重过小的预测点。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值。
当然,在其他可替代实施例中,若所述至少一个预测点的数量小于第二数值,也可以在满足特定条件的情况下,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值。例如,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,才将所述当前候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值。
当然,在其他可替代实施例中,若所述至少一个预测点的数量大于或等于第二数值且小于第三数 值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,也可在满足其他条件的情况下,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值。例如,若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点;若所述当前候选点的权重等于所述最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,将所述当前候选点补充至所述至少一个预测点。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量等于所述第三数值,按照索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
当然,在其他可替代实施例中,若所述至少一个预测点的数量等于所述第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,也可在满足其他条件的情况下,利用所述当前候选点替换所述最小权重对应的预测点。例如,若所述至少一个预测点的数量等于所述第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点;若所述当前候选点的权重等于所述最小权重,利用所述当前候选点替换所述最小权重对应的预测点。
在一些实施例中,所述S130可包括:
若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;若所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;若所述至少一个预测点的数量等于所述第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
当然,在其他可替代实施例中,也可以在所述至少一个预测点的数量等于所述第二数值或所述第三数值的情况下,停止遍历所述至少一个候选点中未遍历的候选点;或者,在所述至少一个预测点的数量等于所述第二数值或所述第三数值的情况下,遍历所述至少一个候选点中未遍历的候选点中的部分候选点。
作为一个示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于第二数值时,停止遍历所述至少一个候选点中未遍历的候选点。
作为一个示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;若所述至少一个预测点的数量达到所述第二数值后,所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点中的m1个候选点,m1大于或等于0;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;若在未遍历完所述m1个候选点的情况下,所述至少一个预测点的数量达到第三数值,所述第三数值大于或等于所述第二数值,停止遍历所述m1个候选点中未遍历的候选点。
作为另一示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;若所述至少一个预测点的数量达到所述第二数值后,所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点中的m1个候选点,m1大于或等于0;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;若在未遍历完所述m1个候选点的情况下,所述至少一个预测点的数量达到第三数值,所述第三数值大于或等于所述第二数值,按照索引由大到小的顺序遍历所述m1个候选点中未遍历的 候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
作为另一示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;若所述至少一个预测点的数量达到所述第二数值后,所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;若在未遍历完所述至少一个候选点的情况下,所述至少一个预测点的数量达到第三数值,所述第三数值大于或等于所述第二数值,停止遍历所述至少一个候选点中未遍历的候选点。
作为另一示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;若所述至少一个预测点的数量达到所述第二数值后,所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;若在未遍历完所述至少一个候选点的情况下,所述至少一个预测点的数量达到第三数值,所述第三数值大于或等于所述第二数值,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点中的m2个候选点,m2大于或等于0;若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
作为一个示例,所述至少一个预测点的数量达到第二数值或第三数值时,停止遍历所述至少一个候选点。
作为另一个示例,已遍历的候选点的数量达到预设阈值时,停止遍历所述至少一个候选点。
换言之,停止遍历所述至少一个候选点的条件包括但不限于:所述至少一个预测点的数量达到第二数值或第三数值、和/或已遍历的候选点的数量达到预设阈值。可选的,所述第三数值大于或等于所述第二数值。可选的,已遍历的候选点的数量可以是从所述至少一个候选点中第一个待遍历的候选点计数,也可以从所述至少一个预测点的数量达到所述第二数值或所述第三数值后的待遍历的第一个候选点计数,本申请实施例对此不作限定。
当然,上述具体示例中,补充或替换预测点的条件可用其他条件替换,本申请实施例对此不作具体限定。
需要说明的是,若所述至少一个预测点的数量小于所述第二数值,或者,若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,即使按照所述解码顺序中索引由大到小的顺序遍历完所述至少一个候选点中未遍历的候选点后,所述至少一个预测点的数量仍有可能小于所述第三数值,这种情况下,不会涉及到对所述至少一个预测点中的预测点进行替换的方案。类似的,若所述至少一个预测点的数量小于所述第二数值,或者,若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历完所述至少一个候选点中部分未遍历的候选点后,所述至少一个预测点的数量已经等于所述第三数值,此时,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,以替换所述至少一个预测点中权重过小的预测点,当然,也有可能继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点后,没有找到合适的用于替换所述至少一个预测点中的预测点的候选点。
本实施例中,由于可能存在多于所述第二数值个的点与当前点具有相同的曼哈顿距离,因此,将所述当前点对应的预测点个数设定为大于或等于所述第二数值且小于或等于所述第三数值,能够提高加权预测的准确性。
在一些实施例中,所述方法100还可包括:
将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
作为示例,若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值,并对所述至少一个预测点按照权重由大到小的顺序进行排序;和/或,若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解 码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点中的末尾的预测点的权重,将所述当前候选点补充至所述至少一个预测点,并对所述至少一个预测点按照权重由大到小的顺序进行排序,所述第三数值大于或等于所述第二数值;和/或,若所述至少一个预测点的数量等于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点中的末尾的预测点的权重,或者,若所述当前候选点的权重等于所述至少一个预测点中的末尾的预测点的权重且所述当前候选点的索引小于所述至少一个预测点中的末尾的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,并对所述至少一个预测点按照权重由大到小的顺序进行排序。
在一些实施例中,所述第二数值为3,所述第三数值为6。
当然,在其他可替代实施例中,所述第二数值和所述第三数值的取值也可以为其他数值,本申请实施例对此不作具体限定。例如,所述第二数值和所述第三数值的取值也可以分别为4和7.
在一些实施例中,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
作为示例,所述当前候选点的权重为所述当前候选点与所述当前点之间的曼哈顿距离的倒数。在计算当前候选点的权重时,假设当前点的序号为i,当前点的几何坐标为(x i,y i,z i),当前候选点的几何坐标为(x ij,y ij,z ij)。其中,j=0,1,2,……,k,则每个候选点的权重w ij如下式1所示:
Figure PCTCN2021099888-appb-000024
当然,在其他可替代实施例中,也可以利用采用其他距离计算所述当前候选点的权重,例如,所述当前候选点的权重为所述当前候选点与所述当前点之间的欧式距离的倒数。再如,所述当前候选点的权重为固定常数。
在一些实施例中,所述S140可包括:
将所述当前点对应的预测点的属性重建值的加权平均值,确定为所述当前点的预测值。
换言之,可基于以下公式确定所述当前点的预测值:
Figure PCTCN2021099888-appb-000025
其中,
Figure PCTCN2021099888-appb-000026
为所有预测点的属性重建值的加权平均值,即当前点O的属性预测值,
Figure PCTCN2021099888-appb-000027
为第i个预测点的属性重建值,w i为第i个预测点的权重,当预测点为空点时,w i=0;R为预测点的总数。
下面结合具体实施例对本申请提供的解码方法进行说明。
本实施例中,上述第一数值为128,上述第二数值为3,上述第三数值为6。基于此,属性解码器的实施方法如下:
几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于解码的第一个点执行a)、e)过程,其余点执行b)、c)、d)、e)过程:
a)、当前点为解码的第一个点时,没有参考点进行预测,其属性预测值直接设为(128,128,128);当前点为解码的第二个点时,以第一个点作为预测点,其属性预测值为第一个点的属性重建值;当前点为解码的第三个点时,以第一个和第二个点作为预测点,其属性预测值为第一个和第二个点的属性重建值的加权平均值。
b)、以点云中的与当前点共面、共线以及共点的点作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。例如,以与当前点共面的点有3、5、6,与当前点共线的点1、2、4、10、12、17、20、33、34,与当前点共点的点有0、8、16、24、32、40、48作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。
c)、当当前点的索引大于128时,候选点的查找范围为当前点在莫顿顺序下的前128个点;当当前点的索引小于等于128时,候选点的查找范围为当前点在莫顿顺序下的前面所有点。假设在b)中确定的预测点数小于3,则在候选点的查找范围内,查找与当前点在曼哈顿距离下最近的点,确定最少3个、最多6个点作为预测点。
可选的,具体确定方法为:
首先,按照莫顿顺序遍历判断128个候选点中的每一个点,当预测点数小于3时,将该候选点直接确定为预测点,然后将所有的预测点按照权重值由大到小排列;当预测点数大于等于3,小于6时, 若当前候选点的权重大于末尾的预测点权重,则将该当前候选点选为预测点,然后将所有的预测点按照权重值由大到小的顺序重新排列;当预测点数等于6时,若当前候选点的权重大于末尾的预测点权重,或者,当前候选点的权重等于末尾的预测点权重且当前候选点的索引小于末尾的预测点的索引,则用该候选点替换原末尾的预测点,然后将所有的预测点按照权重值由大到小的顺序重新排列。
d)、按照以下公式计算所有预测点的属性重建值的加权平均值,并将其作为当前点的属性预测值:
Figure PCTCN2021099888-appb-000028
其中,
Figure PCTCN2021099888-appb-000029
为所有预测点的属性重建值的加权平均值,即当前点O的属性预测值,
Figure PCTCN2021099888-appb-000030
为第i个预测点的属性重建值,w i为第i个预测点的权重,当预测点为空点时,w i=0;R为预测点的总数。
e)、从码流中读取当前点的残差信息,经反量化、反变换等操作后与当前点的属性预测值进行叠加,得到当前点的属性重建值作为后续解码单元的参考信息。
需要说明的是,本实施例可适用于图5所示的解码框架中的帧内预测部分。基于空间关系与全局搜索结合的帧内预测算法可以采用多种解码顺序,包括但不限于莫顿顺序、希尔伯特顺序等;基于空间关系与全局搜索结合的帧内预测算法可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图13是本申请实施例提供的基于编码方法200的示意性流程图。
如图13所示,该解码方法200可包括:
S210,获取点云的几何信息;
S220,若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
S230,通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
S240,针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
在一些实施例中,n等于3;所述方法200还可包括:
若所述当前点为所述编码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
若所述当前点为所述编码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
若所述当前点为所述编码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
在一些实施例中,所述通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述方法200还可包括:
基于所述当前点在所述编码顺序中的索引,确定所述至少一个候选点。
在一些实施例中,若所述当前点的索引小于或等于第一数值,将所述编码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;若所述当前点的索引大于所述第一数值,将所述编码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
在一些实施例中,所述第一数值为128。
在一些实施例中,所述S230可包括:
若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预 测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
若所述至少一个预测点的数量等于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
在一些实施例中,所述S230可包括:
若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
若所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
在一些实施例中,所述方法200还可包括:
将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
在一些实施例中,所述第二数值为3,所述第三数值为6。
在一些实施例中,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
在一些实施例中,所述S240可包括:
将所述当前点对应的预测点的属性重建值的加权平均值,确定为所述当前点的预测值。
应理解,编码方法200可参考解码方法100的相关描述,为避免重复,此处不再赘述。
下面结合具体实施例对本申请提供的解码方法进行说明。
本实施例中,上述第一数值为128,上述第二数值为3,上述第三数值为6。基于此,属性编码器的实施方法如下:
几何重建点云被八叉树递归划分成若干个正方体voxel,每个voxel中的点按照与编码过程相同的莫顿顺序分别进行帧内预测过程计算属性预测值,对于编码的第一个点执行a)、e)过程,其余点执行b)、c)、d)、e)过程:
a)、当前点为编码的第一个点时,没有参考点进行预测,其属性预测值直接设为(128,128,128);当前点为编码的第二个点时,以第一个点作为预测点,其属性预测值为第一个点的属性重建值;当前点为编码的第三个点时,以第一个和第二个点作为预测点,其属性预测值为第一个和第二个点的属性重建值的加权平均值。
b)、以点云中的与当前点共面、共线以及共点的点作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。例如,以与当前点共面的点有3、5、6,与当前点共线的点1、2、4、10、12、17、20、33、34,与当前点共点的点有0、8、16、24、32、40、48作为预测点的查找范围,确定最少3个、最多6个点作为预测点,计算所有预测点的属性重建值的加权平均值作为当前点的属性预测值。
c)当当前点的索引大于128时,候选点的查找范围为当前点在莫顿顺序下的前128个点;当当前点的索引小于等于128时,候选点的查找范围为当前点在莫顿顺序下的前面所有点。假设在b)中确定的预测点数小于3,则在候选点的查找范围内,查找与当前点在曼哈顿距离下最近的点,确定最少3个、最多6个点作为预测点。
可选的,具体确定方法为:
首先,按照莫顿顺序遍历判断128个候选点中的每一个点,当预测点数小于3时,将该候选点直接确定为预测点,然后将所有的预测点按照权重值由大到小排列;当预测点数大于等于3,小于6时,若当前候选点的权重大于末尾的预测点权重,则将该当前候选点选为预测点,然后将所有的预测点按照权重值由大到小的顺序重新排列;当预测点数等于6时,若当前候选点的权重大于末尾的预测点权重,或者,当前候选点的权重等于末尾的预测点权重且当前候选点的索引小于末尾的预测点的索引,则用该候选点替换原末尾的预测点,然后将所有的预测点按照权重值由大到小的顺序重新排列。
d)、按照以下公式计算所有预测点的属性重建值的加权平均值,并将其作为当前点的属性预测值:
Figure PCTCN2021099888-appb-000031
其中,
Figure PCTCN2021099888-appb-000032
为所有预测点的属性重建值的加权平均值,即当前点O的属性预测值,
Figure PCTCN2021099888-appb-000033
为第i个预测点的属性重建值,w i为第i个预测点的权重,当预测点为空点时,w i=0;R为预测点的总数。
e)、残差为当前点的原始属性值和预测值之间的差,然后对残差进行变换、量化等操作;
f)、将属性预测值与反量化、反变换等操作后的残差信息叠加,得到当前点的属性重建值作为后续编码单元的参考信息。
需要说明的是,本实施例可适用于图4所示的编码框架中的帧内预测部分。基于空间关系与全局搜索结合的帧内预测算法可以采用多种编码顺序,包括但不限于莫顿顺序、希尔伯特顺序等;基于空间关系与全局搜索结合的帧内预测算法可以采用多种权重值选取方法,包括但不限于基于欧式距离的权重、固定常数权重等。
下面将结合附图对本申请实施例提供的编码器或解码器进行说明。
图14是本申请实施例提供的解码器300的示意性框图。
如图14所示,该解码器300可包括:
解析单元310,用于对点云的码流进行解析,得到所述点云的几何信息;
第一确定单元320,用于若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
补充替换单元330,用于通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
第二确定单元340,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
在一些实施例中,n等于3;所述第二确定单元340还用于:
若所述当前点为所述解码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
若所述当前点为所述解码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
若所述当前点为所述解码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
在一些实施例中,所述补充替换单元330通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述补充替换单元330还用于:
基于所述当前点在所述解码顺序中的索引,确定所述至少一个候选点。
在一些实施例中,所述补充替换单元330具体用于:
若所述当前点的索引小于或等于第一数值,将所述解码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
若所述当前点的索引大于所述第一数值,将所述解码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
在一些实施例中,所述第一数值为128。
在一些实施例中,所述补充替换单元330具体用于:
若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
若所述至少一个预测点的数量等于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
在一些实施例中,所述补充替换单元330具体用于:
若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
若所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
在一些实施例中,所述补充替换单元330还用于:
将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
在一些实施例中,所述第二数值为3,所述第三数值为6。
在一些实施例中,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
在一些实施例中,所述第二确定单元340具体用于:
将所述当前点对应的预测点的属性重建值的加权平均值,确定为所述当前点的预测值。
需要说明的是,该解码器300也可以结合至图5所示的解码框架,即可将该解码器300中的单元替换或结合至解码框架中的相关部分。例如,该第一确定单元320、所述补充替换单元330以及所述第二确定单元340可用于实现编码框架中的属性预测部分。
图15是本申请实施例提供的编码器400的示意性框图。
如图15所示,该编码器400可包括:
获取单元410,用于获取点云的几何信息;
第一确定单元420,用于若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
补充替换单元430,用于通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
第二确定单元440,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
在一些实施例中,n等于3;所述第二确定单元440还可用于:
若所述当前点为所述编码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
若所述当前点为所述编码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
若所述当前点为所述编码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
在一些实施例中,所述补充替换单元430通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述补充替换单元430还可用于:
基于所述当前点在所述编码顺序中的索引,确定所述至少一个候选点。
在一些实施例中,所述补充替换单元430具体用于:
若所述当前点的索引小于或等于第一数值,将所述编码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
若所述当前点的索引大于所述第一数值,将所述编码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
在一些实施例中,所述第一数值为128。
在一些实施例中,所述补充替换单元430具体用于:
若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
若所述至少一个预测点的数量等于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
在一些实施例中,所述补充替换单元430具体用于:
若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
若所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
在一些实施例中,所述补充替换单元430还可用于:
将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
在一些实施例中,所述第二数值为3,所述第三数值为6。
在一些实施例中,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
在一些实施例中,所述第二确定单元440具体用于:
将所述当前点对应的预测点的属性重建值的加权平均值,确定为所述当前点的预测值。
需要说明的是,该编码器300也可以结合至图4所示的编码框架,即可将该编码器300中的单元替换或结合至编码框架中的相关部分。例如,该第一确定单元420、所述补充替换单元430以及所述第二确定单元440可用于实现编码框架中的属性预测部分。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,解码器300可以对应于执行本申请实施例的方法100中的相应主体,并且解码器300中的各个单元分别为了实现方法100中的相应流程,类似的,编码器400可以对应于执行本申请实施例的方法200中的相应主体,并且编码器400中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
还应当理解,本申请实施例涉及的解码器300或编码器400中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该解码器300或编码器400也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的解码器300或编码器400,以及来实现本申请实施例的基于点云属性预测的编解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于任意具有数据处理能力的电子设备,并在其中运行,来实现本申请实施例的相应方法。
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的 存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图16是本申请实施例提供的编解码设备500的示意结构图。
如图16所示,该编解码设备500至少包括处理器510以及计算机可读存储介质520。其中,处理器510以及计算机可读存储介质520可通过总线或者其它方式连接。计算机可读存储介质520用于存储计算机程序521,计算机程序521包括计算机指令,处理器510用于执行计算机可读存储介质520存储的计算机指令。处理器510是编解码设备500的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器510也可称为中央处理器(Central Processing Unit,CPU)。处理器510可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质520可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器510的计算机可读存储介质。具体而言,计算机可读存储介质520包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在一种实现方式中,该编解码设备500可以是图4所示的编码框架或图15所示的编码器400;该计算机可读存储介质520中存储有第一计算机指令;由处理器510加载并执行计算机可读存储介质520中存放的第一计算机指令,以实现图13所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质520中的第一计算机指令由处理器510加载并执行相应步骤,为避免重复,此处不再赘述。在一种实现方式中,该编解码设备500可以是图5所示的解码框架或图14所示的解码器300;该计算机可读存储介质520中存储有第二计算机指令;由处理器510加载并执行计算机可读存储介质520中存放的第二计算机指令,以实现图12所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质520中的第二计算机指令由处理器510加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是编解码设备500中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质520。可以理解的是,此处的计算机可读存储介质520既可以包括编解码设备500中的内置存储介质,当然也可以包括编解码设备500所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了编解码设备500的操作系统。并且,在该存储空间中还存放了适于被处理器510加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序521(包括程序代码)。这些计算机指令指令用于计算机执行上述各种可选方式中提供的基于点云属性预测的编解码方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序521。此时,编解码设备500可以是计算机,处理器510从计算机可读存储介质520读取该计算机指令,处理器510执行该计算机指令,使得该计算机执行上述各种可选方式中提供的基于点云属性预测的编解码方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步 骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (42)

  1. 一种解码方法,其特征在于,包括:
    对点云的码流进行解析,得到所述点云的几何信息;
    若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
    通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
    针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
  2. 根据权利要求1所述的方法,其特征在于,n等于3;所述方法还包括:
    若所述当前点为所述解码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
    若所述当前点为所述解码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
    若所述当前点为所述解码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
  3. 根据权利要求1或2所述的方法,其特征在于,所述通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述方法还包括:
    基于所述当前点在所述解码顺序中的索引,确定所述至少一个候选点。
  4. 根据权利要求3所述的方法,其特征在于,所述基于所述当前点在所述解码顺序中的索引,确定所述至少一个候选点,包括:
    若所述当前点的索引小于或等于第一数值,将所述解码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
    若所述当前点的索引大于所述第一数值,将所述解码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
  5. 根据权利要求4所述的方法,其特征在于,所述第一数值为128。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点,包括:
    若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
    若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
    若所述至少一个预测点的数量等于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点,包括:
    若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
    若所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
    若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所 述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
  8. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
    将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
  9. 根据权利要求8所述的方法,其特征在于,所述第二数值为3,所述第三数值为6。
  10. 根据权利要求8所述的方法,其特征在于,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
  11. 一种编码方法,其特征在于,包括:
    获取点云的几何信息;
    若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
    通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
    针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
  12. 根据权利要求11所述的方法,其特征在于,n等于3;所述方法还包括:
    若所述当前点为所述编码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
    若所述当前点为所述编码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
    若所述当前点为所述编码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
  13. 根据权利要求11或12所述的方法,其特征在于,所述通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述方法还包括:
    基于所述当前点在所述编码顺序中的索引,确定所述至少一个候选点。
  14. 根据权利要求13所述的方法,其特征在于,所述基于所述当前点在所述编码顺序中的索引,确定所述至少一个候选点,包括:
    若所述当前点的索引小于或等于第一数值,将所述编码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
    若所述当前点的索引大于所述第一数值,将所述编码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
  15. 根据权利要求14所述的方法,其特征在于,所述第一数值为128。
  16. 根据权利要求11至15中任一项所述的方法,其特征在于,所述通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点,包括:
    若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
    若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
    若所述至少一个预测点的数量等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
  17. 根据权利要求11至16中任一项所述的方法,其特征在于,所述通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点,包括:
    若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
    若所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
    若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
  18. 根据权利要求16或17所述的方法,其特征在于,所述方法还包括:
    将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
  19. 根据权利要求18所述的方法,其特征在于,所述第二数值为3,所述第三数值为6。
  20. 根据权利要求18所述的方法,其特征在于,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
  21. 一种解码器,其特征在于,包括:
    解析单元,用于对点云的码流进行解析,得到所述点云的几何信息;
    第一确定单元,用于若所述点云中待解码的当前点为所述点云的属性信息的解码顺序中的前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
    补充替换单元,用于通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
    第二确定单元,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
  22. 根据权利要求21所述的解码器,其特征在于,n等于3;所述第二确定单元还用于:
    若所述当前点为所述解码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
    若所述当前点为所述解码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
    若所述当前点为所述解码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
  23. 根据权利要求21或22所述的解码器,其特征在于,所述补充替换单元通过遍历所述解码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述补充替换单元还用于:
    基于所述当前点在所述解码顺序中的索引,确定所述至少一个候选点。
  24. 根据权利要求23所述的解码器,其特征在于,所述补充替换单元具体用于:
    若所述当前点的索引小于或等于第一数值,将所述解码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
    若所述当前点的索引大于所述第一数值,将所述解码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
  25. 根据权利要求24所述的解码器,其特征在于,所述第一数值为128。
  26. 根据权利要求21至25中任一项所述的解码器,其特征在于,所述补充替换单元具体用于:
    若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
    若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
    若所述至少一个预测点的数量等于第三数值,按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点。
  27. 根据权利要求21至26中任一项所述的解码器,其特征在于,所述补充替换单元具体用于:
    若所述至少一个预测点的数量小于第二数值,按照所述解码顺序中索引由大到小的顺序遍历所述 至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
    若所述至少一个候选点还包括未遍历的候选点,继续按照所述解码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
    若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
  28. 根据权利要求26或27所述的解码器,其特征在于,所述补充替换单元还用于:
    将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
  29. 根据权利要求28所述的解码器,其特征在于,所述第二数值为3,所述第三数值为6。
  30. 根据权利要求28所述的解码器,其特征在于,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
  31. 一种编码器,其特征在于,包括:
    获取单元,用于获取点云的几何信息;
    第一确定单元,用于若所述点云中待编码的当前点为所述点云的属性信息的编码顺序中的除前n个点之外的点,n为正整数,基于所述几何信息,确定所述点云中的与所述当前点共面、共线以及共点的至少一个预测点;
    补充替换单元,用于通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点;
    第二确定单元,用于针对所述当前点对应的预测点的属性重建值,确定所述当前点的属性预测值。
  32. 根据权利要求31所述的编码器,其特征在于,n等于3;所述第二确定单元还用于:
    若所述当前点为所述编码顺序中的第一个点,将所述第一个点的属性预测值设为预设数值;
    若所述当前点为所述编码顺序中的第二个点,将所述第一个点的属性重建值确定为所述第二个点的属性预测值;
    若所述当前点为所述编码顺序中的第三个点,将所述第一个点的属性重建值和所述第二个点的属性重建值的加权平均值,确定为所述第三个点的属性预测值。
  33. 根据权利要求31或32所述的编码器,其特征在于,所述补充替换单元通过遍历所述编码顺序中的位于所述当前点之前的至少一个候选点,对所述至少一个预测点进行补充或替换,得到所述当前点对应的预测点之前,所述补充替换单元还用于:
    基于所述当前点在所述编码顺序中的索引,确定所述至少一个候选点。
  34. 根据权利要求33所述的编码器,其特征在于,所述补充替换单元具体用于:
    若所述当前点的索引小于或等于第一数值,将所述编码顺序中的位于所述当前点之前的所有点确定为所述至少一个候选点;
    若所述当前点的索引大于所述第一数值,将所述编码顺序中的位于所述当前点之前的第一数值个点,确定为所述至少一个候选点。
  35. 根据权利要求34所述的编码器,其特征在于,所述第一数值为128。
  36. 根据权利要求31至35中任一项所述的编码器,其特征在于,所述补充替换单元具体用于:
    若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;和/或
    若所述至少一个预测点的数量大于或等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点,所述第三数值大于或等于所述第二数值;和/或
    若所述至少一个预测点的数量等于第二数值且小于第三数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的 预测点。
  37. 根据权利要求31至36中任一项所述的编码器,其特征在于,所述补充替换单元具体用于:
    若所述至少一个预测点的数量小于第二数值,按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,并将已遍历的候选点补充至所述至少一个预测点,直至所述至少一个预测点的数量等于所述第二数值;
    若所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,将所述当前候选点补充至所述至少一个预测点;
    若所述至少一个预测点的数量等于第三数值且所述至少一个候选点还包括未遍历的候选点,继续按照所述编码顺序中索引由大到小的顺序遍历所述至少一个候选点中未遍历的候选点,若当前候选点的权重大于所述至少一个预测点分别对应的至少一个权重中的最小权重,或者,若所述当前候选点的权重等于所述最小权重且所述当前候选点的索引小于所述最小权重对应的预测点的索引,利用所述当前候选点替换所述最小权重对应的预测点,所述第三数值大于或等于所述第二数值。
  38. 根据权利要求36或37所述的编码器,其特征在于,所述补充替换单元还用于:
    将所述当前候选点补充至所述至少一个预测点或利用所述当前候选点替换所述最小权重对应的预测点后,对所述至少一个预测点按照权重由大到小的顺序进行排序。
  39. 根据权利要求38所述的编码器,其特征在于,所述第二数值为3,所述第三数值为6。
  40. 根据权利要求38所述的编码器,其特征在于,所述当前候选点的权重为所述当前候选点与所述当前点之间的距离的倒数。
  41. 一种编解码设备,其特征在于,包括:
    处理器,适于执行计算机程序;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至10中任一项所述的解码方法,或实现如权利要求11至20中任一项所述的编码方法。
  42. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至10中任一项所述的解码方法,或实现如权利要求11至20中任一项所述的编码方法。
PCT/CN2021/099888 2021-06-11 2021-06-11 解码方法、编码方法、解码器、编码器以及编解码设备 WO2022257155A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180099010.3A CN117426086A (zh) 2021-06-11 2021-06-11 解码方法、编码方法、解码器、编码器以及编解码设备
PCT/CN2021/099888 WO2022257155A1 (zh) 2021-06-11 2021-06-11 解码方法、编码方法、解码器、编码器以及编解码设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/099888 WO2022257155A1 (zh) 2021-06-11 2021-06-11 解码方法、编码方法、解码器、编码器以及编解码设备

Publications (1)

Publication Number Publication Date
WO2022257155A1 true WO2022257155A1 (zh) 2022-12-15

Family

ID=84425601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099888 WO2022257155A1 (zh) 2021-06-11 2021-06-11 解码方法、编码方法、解码器、编码器以及编解码设备

Country Status (2)

Country Link
CN (1) CN117426086A (zh)
WO (1) WO2022257155A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190311502A1 (en) * 2018-04-10 2019-10-10 Apple Inc. Point cloud attribute transfer algorithm
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统
CN112438049A (zh) * 2020-06-24 2021-03-02 北京小米移动软件有限公司 编码和解码方法、编码器、解码器以及软件

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190311502A1 (en) * 2018-04-10 2019-10-10 Apple Inc. Point cloud attribute transfer algorithm
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
CN111405284A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种基于点云密度的属性预测方法及设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112438049A (zh) * 2020-06-24 2021-03-02 北京小米移动软件有限公司 编码和解码方法、编码器、解码器以及软件
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DOMEN MONGUS ; DENIS SPELIC; BORUT ZALIK; BOJAN RUPNIK: "Geometry compression of scanned point-clouds", SOFTWARE TECHNOLOGY AND ENGINEERING (ICSTE), 2010 2ND INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 3 October 2010 (2010-10-03), Piscataway, NJ, USA , pages V1 - V1-282, XP031780218, ISBN: 978-1-4244-8667-0 *

Also Published As

Publication number Publication date
CN117426086A (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022067775A1 (zh) 点云的编码、解码方法、编码器、解码器以及编解码系统
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2023015530A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2023023918A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023159428A1 (zh) 编码方法、编码器以及存储介质
WO2023197337A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023240455A1 (zh) 点云编码方法、编码装置、编码设备以及存储介质
WO2023197338A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2022257143A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2023240660A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
WO2024077548A1 (zh) 点云解码方法、点云编码方法、解码器和编码器
WO2022133752A1 (zh) 点云的编码方法、解码方法、编码器以及解码器
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2024145953A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023023914A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2022116122A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022183611A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180099010.3

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

Country of ref document: EP

Kind code of ref document: A1