WO2023023918A1 - 解码方法、编码方法、解码器以及编码器 - Google Patents

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

Info

Publication number
WO2023023918A1
WO2023023918A1 PCT/CN2021/114160 CN2021114160W WO2023023918A1 WO 2023023918 A1 WO2023023918 A1 WO 2023023918A1 CN 2021114160 W CN2021114160 W CN 2021114160W WO 2023023918 A1 WO2023023918 A1 WO 2023023918A1
Authority
WO
WIPO (PCT)
Prior art keywords
neighbor points
current point
neighbor
attribute
point cloud
Prior art date
Application number
PCT/CN2021/114160
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 CN202180101210.8A priority Critical patent/CN117751574A/zh
Priority to PCT/CN2021/114160 priority patent/WO2023023918A1/zh
Publication of WO2023023918A1 publication Critical patent/WO2023023918A1/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/124Quantisation

Definitions

  • the embodiments of the present application relate to the technical field of encoding and decoding, and more specifically, relate to a decoding method, an encoding method, a decoder, and an encoder.
  • 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, and an encoder, which can improve prediction accuracy for attribute information.
  • the present application provides a decoding method, including:
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • the present application provides an encoding method, including:
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • the present application provides a decoder, including:
  • An analysis unit is used to analyze the code stream of the current point cloud to obtain the geometric information of the current point cloud
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • an encoder including:
  • the acquisition unit is used to acquire the geometric information of the current point cloud
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • the decoder can use the attribute reconstruction values of the m second neighbor points before the n first neighbor points of the current point to determine the attribute information of the n first neighbor points used for prediction of the current point That is to say, on the basis of using the attribute reconstruction value of the n first neighbor points of the current point to determine the attribute prediction value of the current point, it also takes into account the m before the n first neighbor points The influence of the attribute information of the second neighbor point on the weight of the attribute information of the n first neighbor points realizes the optimization of the calculation method of the weight of the attribute information of the n first neighbor points, and the n first neighbor points can The accuracy of the weight of the attribute information of the point can improve the prediction accuracy of the decoder for 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 geometric information of point cloud and the attribute information corresponding to each point are encoded separately.
  • the original geometric information is preprocessed, that is, 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 floating point numbers to integers through coordinate quantization , which is convenient for subsequent regularization processing. Since the geometric information of some points is the same due to quantization and rounding, it is necessary to decide whether to remove duplicate points at this time. Quantization and removal of duplicate points belong to the preprocessing process; then, the regularized geometric information is Geometric coding, that is, to use the octree structure to recursively divide the point cloud space. Each time the current block is divided into eight sub-blocks of the same size, and the occupancy of each sub-block is judged.
  • the geometric information is reconstructed, and the attribute information is encoded by using the reconstructed geometric information.
  • the attribute coding is mainly carried out for color and reflectance information. First, determine whether to perform color space conversion. If the processed attribute information is color information, the original color needs to be transformed into a YUV color space that is more in line with the visual characteristics of the human eye; then, the geometric lossy In the case of encoding, since the geometric information changes after geometric encoding, it is necessary to reassign attribute values for each point after geometric encoding, so that the attribute error between the reconstructed point cloud and the original point cloud is minimized.
  • attribute interpolation or Attribute recoloring
  • attribute encoding is performed on the preprocessed attribute information, which is divided into attribute prediction and attribute transformation; the attribute prediction process refers to the reordering of point clouds and attribute prediction.
  • the reordering methods include Morton reordering and Hilbert (Hilbert) reordering; for example, the Hilbert code is used in the AVS coding framework to reorder the point cloud; the sorted point cloud uses a differential method for attribute prediction , specifically, if the geometric information of the current point to be encoded is the same as that of the previous encoded point, that is, it is a repeated point, then use the reconstructed attribute value of the repeated point as the attribute prediction value of the current point to be encoded, otherwise select
  • the m points in the pre-Hilbert order are used as neighbor candidate points, and then the Manhattan distance between them and the geometric information of the current point to be encoded is calculated respectively, and the n points with the closest distance are determined as the neighbor points of the current point to be encoded.
  • the reciprocal is used as the weight, and the weighted average of the attributes of n neighbors is calculated as the attribute prediction value of the current point to be encoded.
  • the attribute prediction value of the current point to be encoded can be obtained in the following ways:
  • PredR (1/W 1 ⁇ ref 1 +1/W 2 ⁇ ref 2 +1/W 3 ⁇ ref 3 )/(1/W 1 +1/W 2 +1/W 3 ).
  • W 1 , W 2 , W 3 represent the geometric distances between neighbor point 1, neighbor point 2, neighbor point 3 and the current point to be coded
  • ref 1 , ref 2 , ref 3 represent neighbor point 1, neighbor point 2, Attribute reconstruction value of neighbor point 3.
  • the residual value of the current point to be encoded is obtained based on the attribute prediction value of the current point to be encoded, and the residual value is the difference between the original attribute value and the predicted attribute value of the current point to be encoded value; finally, the residual value is quantized, and the quantized residual is input into the attribute entropy encoder to form an 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.
  • x min min(x 0 ,x 1 ,...,x K-1 );
  • y min min(y 0 ,y 1 ,...,y K-1 );
  • z min min(z 0 ,z 1 ,...,z K-1 );
  • x max max(x 0 ,x 1 ,...,x K-1 );
  • y max max(y 0 ,y 1 ,...,y K-1 );
  • z max max(z 0 , z 1 , . . . , z K ⁇ 1 ).
  • origin (x origin , y origin , z origin ) of the bounding box can be calculated as follows:
  • 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, and eight sub-blocks are obtained each time, and then the non-empty blocks in the sub-blocks (including points) 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
  • 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 determine a certain order to encode each voxel (voxel), 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.
  • Fig. 12 is a schematic flowchart of a decoding method 100 provided by an embodiment of the present application.
  • the method 100 can be executed by a decoder or a decoding framework, such as the decoding framework shown in FIG. 5 .
  • the decoding method 100 may include:
  • the decoder can use the attribute reconstruction values of the m second neighbor points before the n first neighbor points of the current point to determine the attribute information of the n first neighbor points used for prediction of the current point That is to say, on the basis of using the attribute reconstruction value of the n first neighbor points of the current point to determine the attribute prediction value of the current point, it also takes into account the m before the n first neighbor points The influence of the attribute information of the second neighbor point on the weight of the attribute information of the n first neighbor points realizes the optimization of the calculation method of the weight of the attribute information of the n first neighbor points, and the n first neighbor points can The accuracy of the weight of the attribute information of the point can improve the prediction accuracy of the decoder for the current point.
  • the decoder After the decoder obtains the attribute prediction value of the current point, the residual value of the current point is obtained based on the attribute prediction value of the current point, and the residual value is the difference between the original attribute value of the current point and the predicted attribute value; The value is quantized, and the quantized residual is input into the attribute entropy encoder to form the attribute code stream.
  • BD-rate represents the bit rate difference under the same peak signal-to-noise ratio (Peak Signal to Noise Ratio, PSNR), BD
  • PSNR Peak Signal to Noise Ratio
  • Table 1 is the BD-rate of each component of Cat1A to Cat1A+Cat2 in the case of limiting lossy geometry (limit-lossy geometry) compression and lossy attributes (lossy attributes) compression
  • Cat1A indicates that only the reflectance information of the point is included
  • the point cloud of the point, Cat1B means the point cloud of the point including only the color information of the point
  • Cat1B means the point cloud of the point including only the color information and reflectance information of the point
  • Cat2 means the reflectance information of the point and other attribute information
  • 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 color information from Cat1A to Cat1A+Cat2 in the case of lossless geometry compression and lossy attribute compression.
  • Table 3 is the BD-rate of each component of Cat1A to Cat1A+Cat2 in the case of lossless geometry compression and limit-lossy attributes compression.
  • Fig. 4 is the bpip ratio of Cat1A to Cat1A+Cat2 in the case of lossless geometry 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 by the present application has obvious performance improvement.
  • 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 the traversal order of the Hilbert curve in space.
  • the S140 may include:
  • n first weights respectively corresponding to the n first neighbor points
  • the S150 may include:
  • the attribute prediction value of the current point is obtained by dividing the sum of the product reconstruction values of the n first neighbor points and the products of the n second weights by the sum of the n second weights.
  • the decoder can use the attribute reconstruction values of the m second neighbor points before the n first neighbor points of the current point to respectively correspond to the n first neighbor points used for prediction of the current point
  • the n first weights are corrected, that is to say, when determining the weight of the attribute reconstruction value of the n first neighbor points of the current point, not only the distance between the n first neighbor points and the current point is considered, but also Taking into account the influence of the attribute information of the m second neighbor points before the n first neighbor points on the weight of the attribute information of the n first neighbor points, that is, considering the n first neighbor points at the same time
  • the influence of the geometric distribution and the attribute distribution of the m second neighbor points on the weight of the attribute information of the n first neighbor points avoids directly using the reciprocal of the distance between the n first neighbor points and the current point as the weight of the n first neighbor points
  • the attribute information of the first neighbor point is weighted and predicted to obtain the attribute prediction value of the current point, and the calculation method of the weight
  • the decoder can determine the attribute prediction value of the current point through the following formula:
  • PredR (1/W 1 ⁇ cnt 1 ⁇ ref 1 +1/W 2 ⁇ ref 2 ⁇ cnt 2 +1/W 3 ⁇ ref 3 ⁇ cnt 3 )/(1/W 1 ⁇ cnt 1 +1/W 2 ⁇ cnt 2 +1/W 3 ⁇ cnt 3 ).
  • PredR indicates the attribute prediction value of the current point
  • W 1 , W 2 , and W 3 respectively indicate the distances between neighbor point 1, neighbor point 2, neighbor point 3 and the current point to be encoded
  • ref 1 , ref 2 , and ref 3 respectively Represents the attribute reconstruction values of neighbor point 1, neighbor point 2, and neighbor point 3.
  • cnt 1 , cnt 2 , and cnt 3 respectively represent coefficients for correcting the first weight determined based on the attribute reconstruction values of the m second neighbor points.
  • the decoder may determine the reciprocals of the distances between the n first neighbor points and the current point as the n first weights.
  • the decoder calculates the distance between the s first neighbor points among the n first neighbor points and the current point based on the first distance weight in the z-axis direction; Two distance weights, respectively calculating the distance between the first neighbor point and the current point except the s first neighbor points in the n first neighbor points; the first distance weight is greater than the second distance weight; then, The decoder determines the n first weights by reciprocals of the distances between the n first neighbor points and the current point.
  • the decoder determines the weight of the attribute information of the n first neighbor points based on the attribute reconstruction values of the m second neighbor points
  • the distance weight can be adjusted in the z-axis direction at the same time, so as to The accuracy of the weights of the attribute information of the n first neighbor points is further improved, thereby improving the accuracy of the decoder for the current point.
  • the decoder may determine the second distance weight based on the type of the current point cloud and/or the type of attribute information of the current point. For example, the decoder may determine, based on a preset mapping relationship, a distance weight corresponding to the type of the current point cloud and/or the type of attribute information of the current point as the second distance weight; the preset mapping relationship A plurality of distance weights and a point cloud type and/or a type of attribute information corresponding to each distance weight in the plurality of distance weights are included.
  • the decoder may also determine the second distance weight in other ways.
  • first distance weight involved in this application only needs to be greater than the second distance weight, and this application does not limit the specific value of the first distance weight.
  • first distance weight and the second distance weight may also be called axis bias (axisBias) or other names, which are not limited in the present application.
  • the distances between the n first neighbor points and the current point involved in the embodiment of the present application include but are not limited to geometric distance, Manhattan distance or Hibolt distance and the like.
  • the decoder obtains s coefficients respectively corresponding to the s first neighbor points among the n first neighbor points; wherein, the coefficients corresponding to the first neighbor points are used to represent the m second neighbor points
  • the absolute value of the difference between the attribute reconstruction value included in the point and the attribute reconstruction value of the first neighbor point is less than or equal to the number of second neighbor points of the first threshold, s is a positive integer; the decoder based on the s coefficients
  • the s first weights respectively corresponding to the s first neighbor points are obtained to obtain the s second weights respectively corresponding to the s first neighbor points.
  • the decoder multiplies the s coefficients by the s first weights corresponding to the s first neighbor points to obtain s second weights respectively corresponding to the s first neighbor points.
  • the coefficient corresponding to the neighbor point 1 is used to represent the attribute reconstruction value included in the m second neighbor points and the attribute reconstruction value of the neighbor point 1
  • the coefficient corresponding to the neighbor point 1 can be obtained in the following way:
  • the decoder determines the decoding sequence and regards the first n+m points of the current point as neighbor points, where m is the number of points used to correct the n first weights for additional multi-search in this application.
  • the number of the second neighbor points, the m second neighbor points are the n+1th neighbors, the n+2th neighbors, ..., the n+mth neighbors of the current point; then, the decoder can traverse the nth neighbors A neighbor point, calculate the geometric information distance (disPos) between each first neighbor point and the current point, so as to obtain the n first weights.
  • the decoder can calculate the difference between the attribute reconstruction value included in the m second neighbor points and the attribute reconstruction value of the first neighbor point The number of the second neighbor points whose absolute value is less than or equal to the first threshold, and then obtain the s coefficients, the s coefficients can be expressed as cnt 1 , cnt 2 ,..., cnt s ; finally, the decoder can be based on the n The first weight and the s coefficients perform a weighted average on the attribute reconstruction values of the n first neighbor points to obtain the attribute prediction value of the current point.
  • the s first neighbor points include the nearest neighbor points of the current point.
  • the weight of the attribute information of the nearest neighbor point Since the distance between the nearest neighbor point and the current point is the shortest, when predicting the attribute value of the current point, the weight of the attribute information of the nearest neighbor point has the greatest influence on the prediction accuracy of the current point.
  • the calculation method of the weight of the attribute information is optimized, that is, by improving the accuracy of the weight of the attribute information of the nearest neighbor point, the prediction accuracy of the decoder for the current point can be improved.
  • the decoder can determine the attribute prediction value of the current point through the following formula:
  • PredR (1/W 1 ⁇ cnt 1 ⁇ ref 1 +1/W 2 ⁇ ref 2 +1/W 3 ⁇ ref 3 )/(1/W 1 ⁇ cnt 1 +1/W 2 +1/W 3 ) .
  • PredR indicates the attribute prediction value of the current point
  • W 1 , W 2 , and W 3 respectively indicate the distances between neighbor point 1, neighbor point 2, neighbor point 3 and the current point to be encoded
  • ref 1 , ref 2 , and ref 3 respectively Represents the attribute reconstruction values of neighbor point 1, neighbor point 2, and neighbor point 3.
  • cnt 1 respectively represent coefficients for correcting the first weight of the nearest neighbor point of the current point determined based on the attribute reconstruction values of the m second neighbor points.
  • the s first neighbor points may also be determined by the decoder, for example, the first neighbor point selected by the decoder among the n first neighbor points, and this application does not make specific limited.
  • the decoder can calculate the m attribute reconstruction values corresponding to the m second neighbor points for one of the n first neighbor points by traversing the n first neighbor points, respectively The difference with the certain first neighbor point, get m difference values, if there are k difference values greater than or equal to the first threshold value among the m difference values, then use this certain first neighbor point as the The first neighbor point among the s first neighbor points; otherwise, the certain first neighbor point is not used as the first neighbor point among the s first neighbor points.
  • the coefficient corresponding to the first neighbor point is used to indicate that the quotient of the attribute reconstruction value included in the m second neighbor points and the attribute reconstruction value of the first neighbor point is less than or the number of second neighbor points equal to the first threshold, which is not specifically limited in the present application.
  • the method 100 further includes:
  • the first threshold is determined based on the type of the current point cloud and/or the type of attribute information of the current point.
  • the decoder determines the threshold corresponding to the type of the current point cloud and/or the type of attribute information of the current point as the first threshold based on the first mapping relationship; the first mapping relationship includes a plurality of A threshold and a point cloud type and/or a type of attribute information corresponding to each of the multiple thresholds.
  • the multiple thresholds include a threshold corresponding to a dense point cloud and a threshold corresponding to a sparse point cloud, and the threshold corresponding to the dense point cloud is smaller than the threshold corresponding to the sparse point cloud; and/or, the multiple The threshold includes a threshold corresponding to the color information and a threshold corresponding to the reflectance information, and the threshold corresponding to the color information is smaller than the threshold corresponding to the reflectance information.
  • the decoder may also determine the first threshold based on codec parameters, for example, the codec parameters may include: limit-lossy geometry compression, lossless geometry compression, lossy Attribute (lossy attributes) compression, limit-lossy attributes (limit-lossy attributes) compression or lossless attribute compression; at this time, different codec parameters can correspond to different thresholds.
  • codec parameters may include: limit-lossy geometry compression, lossless geometry compression, lossy Attribute (lossy attributes) compression, limit-lossy attributes (limit-lossy attributes) compression or lossless attribute compression; at this time, different codec parameters can correspond to different thresholds.
  • the method 100 may further include:
  • the value of m is determined based on the type of the current point cloud and/or the type of attribute information of the current point.
  • the decoder determines the value corresponding to the type of the current point cloud and/or the type of attribute information of the current point as the value of m based on the second mapping relationship; the second mapping relationship includes multiple A numerical value and a point cloud type and/or a type of attribute information corresponding to each numerical value in the plurality of numerical values.
  • the multiple values include values corresponding to the dense point cloud and values corresponding to the sparse point cloud, and the value corresponding to the dense point cloud is smaller than the value corresponding to the sparse point cloud; and/or, the multiple The threshold includes a value corresponding to the color information and a value corresponding to the reflectance information, and the value corresponding to the color information is smaller than the value corresponding to the reflectance information.
  • the decoder may also determine the value of m based on codec parameters, for example, the codec parameters may include: limit-lossy geometry compression, lossless geometry compression, Lossy attributes (lossy attributes) compression, limit-lossy attributes (limit-lossy attributes) compression or lossless attribute compression; at this time, different codec parameters can correspond to different values of m.
  • codec parameters may include: limit-lossy geometry compression, lossless geometry compression, Lossy attributes (lossy attributes) compression, limit-lossy attributes (limit-lossy attributes) compression or lossless attribute compression; at this time, different codec parameters can correspond to different values of m.
  • the S140 may include:
  • the weight of the attribute information of the n first neighbor points is determined based on the attribute reconstruction values of the m second neighbor points.
  • the decoder determines whether to determine the weight of the attribute information of the n first neighbor points based on the attribute reconstruction values of the m second neighbor points .
  • the weight of the attribute information of the first neighbor point is not specifically limited in this application.
  • 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 method 200 can be executed by an encoder or an encoding framework, such as the encoding framework shown in FIG. 4 .
  • the encoding method 200 may include:
  • the S240 may include:
  • n first weights respectively corresponding to the n first neighbor points
  • the S250 may include:
  • the attribute prediction value of the current point is obtained by dividing the sum of the product reconstruction values of the n first neighbor points and the products of the n second weights by the sum of the n second weights.
  • the distances between the s first neighbor points among the n first neighbor points and the current point are respectively calculated; in the z-axis direction, based on the second distance Weight, respectively calculate the distance between the first neighbor point and the current point except the s first neighbor point in the n first neighbor points; the first distance weight is greater than the second distance weight; the n The reciprocal of the distance between the first neighbor point and the current point determines the n first weights.
  • the s coefficients respectively corresponding to the s first neighbor points among the n first neighbor points are obtained; wherein, the coefficients corresponding to the first neighbor points are used to represent the m second neighbor points
  • the absolute value of the difference between the attribute reconstruction value included in the point and the attribute reconstruction value of the first neighbor point is less than or equal to the number of second neighbor points of the first threshold, s is a positive integer; based on the s coefficients and the The s first weights respectively corresponding to the s first neighbor points are obtained, and the s second weights respectively corresponding to the s first neighbor points are obtained.
  • the s first neighbor points include the nearest neighbor points of the current point.
  • the type of the current point cloud and/or the current point is determined as the first threshold; the first mapping relationship includes a plurality of thresholds and a point cloud type and/or a type of attribute information corresponding to each threshold in the plurality of thresholds.
  • the multiple thresholds include a threshold corresponding to a dense point cloud and a threshold corresponding to a sparse point cloud, and the threshold corresponding to the dense point cloud is smaller than the threshold corresponding to the sparse point cloud; and/or, the The multiple thresholds include a threshold corresponding to the color information and a threshold corresponding to the reflectance information, and the threshold corresponding to the color information is smaller than the threshold corresponding to the reflectance information.
  • the method 200 may further include:
  • the value corresponding to the type of the current point cloud and/or the type of attribute information of the current point is determined as the value of m; the second mapping relationship includes a plurality of values and the plurality of values The type of point cloud and/or the type of attribute information corresponding to each value in .
  • the multiple values include a value corresponding to a dense point cloud and a value corresponding to a sparse point cloud, and the value corresponding to the dense point cloud is smaller than the value corresponding to the sparse point cloud; and/or, the The multiple thresholds include a value corresponding to color information and a value corresponding to reflectance information, and the value corresponding to the color information is smaller than the value corresponding to the reflectance information.
  • the S220 may include:
  • the weight of the attribute information of the n first neighbor points is determined based on the attribute reconstruction values of the m second neighbor points.
  • 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 current point cloud to obtain geometric information of the current point cloud
  • Prediction unit 320 used for:
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • the prediction unit 320 is specifically used for:
  • n first weights respectively corresponding to the n first neighbor points
  • the attribute prediction value of the current point is obtained by dividing the sum of the product reconstruction values of the n first neighbor points and the products of the n second weights by the sum of the n second weights.
  • the prediction unit 320 is specifically used for:
  • the first distance weight is greater than the second distance weight
  • the n first weights are determined by the reciprocal of the distances between the n first neighbor points and the current point.
  • the prediction unit 320 is specifically used for:
  • the s first neighbor points include the nearest neighbor points of the current point.
  • the prediction unit 320 before the prediction unit 320 is used to obtain the s coefficients respectively corresponding to the s first neighbor points among the n first neighbor points, the prediction unit 320 is also used to:
  • a threshold corresponding to the type of the current point cloud and/or the type of attribute information of the current point is determined as the first threshold; the first mapping relationship includes multiple thresholds and the multiple thresholds The type of point cloud and/or the type of attribute information corresponding to each threshold in .
  • the multiple thresholds include a threshold corresponding to a dense point cloud and a threshold corresponding to a sparse point cloud, and the threshold corresponding to the dense point cloud is smaller than the threshold corresponding to the sparse point cloud; and/or, the The multiple thresholds include a threshold corresponding to the color information and a threshold corresponding to the reflectance information, and the threshold corresponding to the color information is smaller than the threshold corresponding to the reflectance information.
  • the prediction unit 320 is used to obtain n first neighbor points before the current point and m second neighbor points before the n first neighbor points, and the prediction unit 320 is also used to :
  • the value corresponding to the type of the current point cloud and/or the type of attribute information of the current point is determined as the value of m; the second mapping relationship includes a plurality of values and the plurality of values The type of point cloud and/or the type of attribute information corresponding to each value in .
  • the multiple values include a value corresponding to a dense point cloud and a value corresponding to a sparse point cloud, and the value corresponding to the dense point cloud is smaller than the value corresponding to the sparse point cloud; and/or, the The multiple thresholds include a value corresponding to color information and a value corresponding to reflectance information, and the value corresponding to the color information is smaller than the value corresponding to the reflectance information.
  • the prediction unit 320 is specifically used for:
  • the weight of the attribute information of the n first neighbor points is determined based on the attribute reconstruction values of the m second neighbor points.
  • 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 prediction unit 320 can be used to realize the attribute prediction part in the decoding 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 current point cloud
  • Prediction unit 420 used for:
  • n first neighbor points before the current point and the m second neighbor points before the n first neighbor points in the encoding order where n and m are both positive integers;
  • the current point is predicted to obtain an attribute prediction value of the current point.
  • the prediction unit 420 is specifically used for:
  • n first weights respectively corresponding to the n first neighbor points
  • the attribute prediction value of the current point is obtained by dividing the sum of the product reconstruction values of the n first neighbor points and the products of the n second weights by the sum of the n second weights.
  • the prediction unit 420 is specifically used for:
  • the first distance weight is greater than the second distance weight
  • the n first weights are determined by the reciprocal of the distances between the n first neighbor points and the current point.
  • the prediction unit 420 is specifically used for:
  • the s first neighbor points include the nearest neighbor points of the current point.
  • the prediction unit 420 before the prediction unit 420 is used to obtain the s coefficients respectively corresponding to the s first neighbor points among the n first neighbor points, the prediction unit 420 is also used to:
  • a threshold corresponding to the type of the current point cloud and/or the type of attribute information of the current point is determined as the first threshold; the first mapping relationship includes multiple thresholds and the multiple thresholds The type of point cloud and/or the type of attribute information corresponding to each threshold in .
  • the multiple thresholds include a threshold corresponding to a dense point cloud and a threshold corresponding to a sparse point cloud, and the threshold corresponding to the dense point cloud is smaller than the threshold corresponding to the sparse point cloud; and/or, the The multiple thresholds include a threshold corresponding to the color information and a threshold corresponding to the reflectance information, and the threshold corresponding to the color information is smaller than the threshold corresponding to the reflectance information.
  • the prediction unit 420 is used to obtain n first neighbor points before the current point and m second neighbor points before the n first neighbor points, and the prediction unit 420 is also used to :
  • the value corresponding to the type of the current point cloud and/or the type of attribute information of the current point is determined as the value of m; the second mapping relationship includes a plurality of values and the plurality of values The type of point cloud and/or the type of attribute information corresponding to each value in .
  • the multiple values include a value corresponding to a dense point cloud and a value corresponding to a sparse point cloud, and the value corresponding to the dense point cloud is smaller than the value corresponding to the sparse point cloud; and/or, the The multiple thresholds include a value corresponding to color information and a value corresponding to reflectance information, and the value corresponding to the color information is smaller than the value corresponding to the reflectance information.
  • the prediction unit 420 is specifically used for:
  • the weight of the attribute information of the n first neighbor points is determined based on the attribute reconstruction values of the m second neighbor points.
  • the encoder 400 can also be combined with the encoding framework shown in FIG. 4 , that is, units in the encoder 400 can be replaced or combined with relevant parts in the encoding framework.
  • the prediction unit 420 can be used to implement 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 may be located in mature storage media 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 further 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)
  • Image Processing (AREA)

Abstract

本申请实施例提供了一种解码方法、编码方法、解码器以及编码器,该解码方法包括:对当前点云的码流进行解析,得到该当前点云的几何信息;针对该当前点云中待解码的当前点,基于该几何信息,确定该当前点云的属性信息的解码顺序,获取该解码顺序中的位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点;基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。该解码方法能够提升解码器对当前点的预测准确度。

Description

解码方法、编码方法、解码器以及编码器 技术领域
本申请实施例涉及编解码技术领域,并且更具体地,涉及解码方法、编码方法、解码器以及编码器。
背景技术
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息系统、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和属性信息。具体而言,先通过对点云的位置信息进行八叉树编码;同时,根据八叉树编码后的当前点的位置信息在已编码的点中选择出用于预测当前点属性信息的预测值的点后,基于选择出的点对其属性信息进行预测,再通过与属性信息的原始值进行做差的方式来编码颜色信息,以实现对点云的编码。
截止目前,在对属性信息进行预测的过程中,如何在提升针对属性信息的预测准确度是本领域急需解决的技术问题。
发明内容
本申请实施例提供了一种解码方法、编码方法、解码器以及编码器,能够提升针对属性信息的预测准确度。
第一方面,本申请提供了一种解码方法,包括:
对当前点云的码流进行解析,得到该当前点云的几何信息;
针对该当前点云中待解码的当前点,基于该几何信息,确定该当前点云的属性信息的解码顺序;
获取所述解码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
第二方面,本申请提供了一种编码方法,包括:
获取当前点云的几何信息;
针对该当前点云中待编码的当前点,基于该几何信息,确定该当前点云的属性信息的编码顺序;
获取所述编码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
第三方面,本申请提供了一种解码器,包括:
解析单元,用于对当前点云的码流进行解析,得到该当前点云的几何信息;
预测单元,用于:
针对该当前点云中待解码的当前点,基于该几何信息,确定该当前点云的属性信息的解码顺序;
获取所述解码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
第四方面,本申请提供了一种编码器,包括:
获取单元,用于获取当前点云的几何信息;
预测单元,用于:
针对该当前点云中待编码的当前点,基于该几何信息,确定该当前点云的属性信息的编码顺序;
获取所述编码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
基于以上技术方案,解码器可利用当前点的n个第一邻居点之前的m个第二邻居点的属性重建值,确定用于对当前点的进行预测的n个第一邻居点的属性信息的权重,也即是说,在利用当前点的n个第一邻居点的属性重建值确定该当前点的属性预测值的基础上,还考虑到了与该n个第一邻居点之前的m个第二邻居点的属性信息对该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色彩空间;然后,在几何有损编码的情况下,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,使得重建点云和原始点云的属性误差最小,这个过程叫做属性插值或属性重上色;接着,对预处理后属性信息进行属性编码,在属性信息编码中分为属性预测与属性变换;其中属性预测过程指对点云进行重排序以及进行属性预测。重排序的方法有莫顿重排序和希尔伯特(Hilbert)重排序;例如,AVS编码框架中均采用希尔伯特码对点云进行重排序;排序之后的点云使用差分方式进行属性预测,具体地,若当前待编码点与前一个已编码点的几何信息相同,即为重复点,则利用重复点的重建属性值作为当前待编码点的属性预测值,否则对当前待编码点选择前希尔伯特顺序的m个点作为邻居候选点,然后分别计算它们同当前待编码点的几何信息的曼哈顿距离,确定距离最近的n个点作为当前待编码点的邻居点,以距离的倒数作为权重,计算n个邻居的属性的加权平均值,作为当前待编码点的属性预测值。
例如,可通过以下方式得到当前待编码点的属性预测值:
PredR=(1/W 1×ref 1+1/W 2×ref 2+1/W 3×ref 3)/(1/W 1+1/W 2+1/W 3)。
其中,W 1、W 2、W 3分别表示邻居点1、邻居点2、邻居点3与当前待编码点的几何距离,ref 1、ref 2、ref 3分别表示邻居点1、邻居点2、邻居点3的属性重建值。
得到当前待编码点的属性预测值后,基于当前待编码点的属性预测值得到当前待编码点的残差值,残差值为当前待编码点的原始属性值与预测属性值之间的差值;最后对残差值进行量化,将量化残差输入到属性熵编码器中形成属性码流。
图5是本申请实施例提供的解码框架的示意性框图。
如图5所示,在解码端,同样采用几何和属性分别解码的方式。在几何解码部分,首先对几何码流进行熵解码,得到每个点的几何信息,然后按照和几何编码相同的方式构建八叉树结构,结合解码几何重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码几何信息,一方面作为附加信息输入到属性解码器中。在属性解码部分,按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后进行反量化,得到点云残差;类似的,按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值;最后,经过颜色空间反变换得到解码属性信息。
为便于描述,下面对点云的规则化处理方法进行说明。
由于点云在空间中无规则分布的特性,给编码过程带来挑战,因此采用递归八叉树的结构,如图6所示,将点云中的点规则化地表达成立方体的中心。具体而言,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x k,y k,z k),k=0,…,K-1,其中K是点云的总点数,点云在x、y、z方向上的边界值分别为:
x min=min(x 0,x 1,…,x K-1);
y min=min(y 0,y 1,…,y K-1);
z min=min(z 0,z 1,…,z K-1);
x max=max(x 0,x 1,…,x K-1);
y max=max(y 0,y 1,…,y K-1);
z max=max(z 0,z 1,…,z K-1)。
则包围盒的原点(x origin,y origin,z origin)可以计算如下:
x origin=int(floor(x min));
y origin=int(floor(y min));
z origin=int(floor(z min))。
其中,floor()表示向下取整计算或向下舍入计算。int()表示取整运算。
基于边界值和原点的计算公式,可以计算包围盒在x、y、z方向上的尺寸如下:
BoudingBoxSize_x=int(x max-x origin)+1;
BoudingBoxSize_y=int(y max-y origin)+1;
BoudingBoxSize_z=int(z max-z origin)+1。
如图7所示,得到包围盒在x、y、z方向上的尺寸后,首先对包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作体素(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轴。
点云压缩中的属性帧内预测部分,对于颜色属性,主要参考当前点的相邻点对当前点进行预测,将属性预测值与当前点属性值计算残差信息后经量化等过程,将残差信息传输到解码端;解码端接收并解析码流后,经反变换与反量化等步骤得到残差信息,解码端以相同过程预测得到属性预测值,与残差信息叠加后得到当前点的属性重建值。
图12是本申请实施例提供的解码方法100的示意性流程图。该方法100可由解码器或解码框架执行,例如图5所示的解码框架。
如图12所示,所述解码方法100可包括:
S110,对当前点云的码流进行解析,得到该当前点云的几何信息;
S120,针对该当前点云中待解码的当前点,基于该几何信息,确定该当前点云的属性信息的解码顺序;
S130,获取该解码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
S140,基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
S150,基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
本实施例中,解码器可利用当前点的n个第一邻居点之前的m个第二邻居点的属性重建值,确定用于对当前点的进行预测的n个第一邻居点的属性信息的权重,也即是说,在利用当前点的n个第一邻居点的属性重建值确定该当前点的属性预测值的基础上,还考虑到了与该n个第一邻居点之前的m个第二邻居点的属性信息对该n个第一邻居点的属性信息的权重的影响,实现了该n个第一邻居点的属性信息的权重的计算方法进行优化,能够该n个第一邻居点的属性信息的权重的准确度,进而能够提升解码器对当前点的预测准确度。
解码器得到当前点的属性预测值后,基于当前点的属性预测值得到当前点的残差值,残差值为当前点的原始属性值与预测属性值之间的差值;最后对残差值进行量化,将量化残差输入到属性熵编码器中形成属性码流。
此外,针对本申请提供的技术方案,利用AVS最新的点云压缩平台PCRM3.0上进行了测试,其测试结果如表1~4所示。
表1
Figure PCTCN2021114160-appb-000001
表2
Figure PCTCN2021114160-appb-000002
表3
Figure PCTCN2021114160-appb-000003
表4
Figure PCTCN2021114160-appb-000004
如表1至表3所示,“-”代表率失真(Bit distortion,BD-rate)下降,BD-rate代表相同峰值信噪比(Peak Signal to Noise Ratio,PSNR)下的码率差异,BD-rate越小表示编码算法的性能越好。如表1是在限制有损几何(limit-lossy geometry)压缩和有损属性(lossy attributes)压缩的情况下Cat1A至Cat1A+Cat2的各个分量的BD-rate,Cat1A表示仅包括点的反射率信息的点的点云,Cat1B表示仅包括点的颜色信息的点的点云,Cat1B表示仅包括点的颜色信息和反射率信息的点的点云,Cat2表示包括点的反射率信息和其他属性信息的点的点云,Cat3表示包括点的颜色信息和其他属性信息的点的点云。表2是在无损几何(lossless geometry)压缩和有损属性压缩的情况下Cat1A至Cat1A+Cat2的颜色信息的BD-rate。表3是在无损几何压缩和限制有损属性(limit-lossy attributes)压缩的情况下Cat1A至Cat1A+Cat2的各个分量的BD-rate。图4是无损几何压缩和无损属性压缩的情况下Cat1A至Cat1A+Cat2的bpip比率,bpip比率的值越大表示编码算法的性能越好。通过表1至表4可以看出,本申请提供的解码方法具有明显的性能提升。
需要说明的是,本申请对解码顺序的具体实现方式不作限定。例如,所述解码顺序可以是莫顿排序或希勃尔特排序。其中,莫顿排序是通过交叉分离式计算方法,由几何位置生成的莫顿码的顺序;希尔伯特排序是按照希尔伯特曲线在空间中的遍历顺序。
在一些实施例中,该S140可包括:
基于该n个第一邻居点与该当前点的距离,确定该n个第一邻居点分别对应的n个第一权重;
基于该m个第二邻居点的属性重建值,对该n个第一权重中的部分或全部第一权重进行修正,得 到该n个第一邻居点分别对应的n个第二权重;
其中,该S150可包括:
利用该n个第一邻居点的属性重建值分别与该n个第二权重的乘积的和,除以该n个第二权重的和,得到该当前点的属性预测值。
本实施例中,解码器可利用当前点的n个第一邻居点之前的m个第二邻居点的属性重建值,对用于对当前点的进行预测的n个第一邻居点分别对应的n个第一权重进行修正,也即是说,在确定当前点的n个第一邻居点的属性重建值的权重时,不仅考虑了该n个第一邻居点与该当前点的距离,还考虑到了与该n个第一邻居点之前的m个第二邻居点的属性信息对该n个第一邻居点的属性信息的权重的影响,即,同时考虑了该n个第一邻居点的几何分布和m个第二邻居点属性分布对该n个第一邻居点的属性信息的权重的影响,避免了直接以n个第一邻居点和当前点的距离的倒数作为权重对该n个第一邻居点的属性信息进行加权预测得到当前点的属性预测值,实现了该n个第一邻居点的属性信息的权重的计算方法进行优化,能够该n个第一邻居点的属性信息的权重的准确度,进而能够提升解码器对当前点的预测准确度。
示例性地,以该n=3为例,解码器可通过以下公式确定该当前点的属性预测值:
PredR=(1/W 1×cnt 1×ref 1+1/W 2×ref 2×cnt 2+1/W 3×ref 3×cnt 3)/(1/W 1×cnt 1+1/W 2×cnt 2+1/W 3×cnt 3)。
其中,PredR表示该当前点的属性预测值,W 1、W 2、W 3分别表示邻居点1、邻居点2、邻居点3与当前待编码点的距离,ref 1、ref 2、ref 3分别表示邻居点1、邻居点2、邻居点3的属性重建值。cnt 1、cnt 2、cnt 3分别表示基于该m个第二邻居点的属性重建值确定的用于修正第一权重的系数。
示例性地,解码器可将该n个第一邻居点分别与该当前点的距离的倒数,确定为该n个第一权重。
作为一个示例,解码器在z轴方向上基于第一距离权重,分别计算该n个第一邻居点中的s个第一邻居点与该当前点的距离;解码器在z轴方向上基于第二距离权重,分别计算该n个第一邻居点中除该s个第一邻居点之外的第一邻居点与该当前点的距离;该第一距离权重大于该第二距离权重;接着,解码器将该n个第一邻居点与该当前点的距离的倒数,确定该n个第一权重。
换言之,解码器基于该m个第二邻居点的属性重建值确定该n个第一邻居点的属性信息的权重时,在计算第一权重时,可同时在z轴方向上调整距离权重,以进一步提升该n个第一邻居点的属性信息的权重的准确度,进而提升解码器对该当前点的准确度。
示例性地,解码器可以基于该当前点云的类型和/或该当前点的属性信息的类型,确定该第二距离权重。例如,解码器可基于预设的映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的距离权重,确定为该第二距离权重;该预设的映射关系包括多个距离权重和该多个距离权重中每一个距离权重对应的点云类型和/或属性信息的类型。
当然,在其他可替代实施例中,解码器也可通过其他的方式确定该第二距离权重。
需要说明的是,本申请涉及的第一距离权重只需要大于该第二距离权重即可,本申请对该第一距离权重的具体取值不作限定。此外,在其他可替代实施例中,该第一距离权重和该第二距离权重也可称为轴偏系数(axisBias)或其他名称,本申请对此不作限定。
此外,本申请实施例涉及的该n个第一邻居点分别与该当前点的距离包括但不限于几何距离、曼哈顿距离或希勃尔特距离等等。
作为一个示例,解码器获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;解码器基于该s个系数和该s个第一邻居点分别对应的s个第一权重,得到该s个第一邻居点分别对应的s个第二权重。例如,解码器利用该s个系数分别乘以该s个第一邻居点对应的s个第一权重,得到该s个第一邻居点分别对应的s个第二权重。
示例性地,针对该s个第一邻居点中的邻居点1,该邻居点1对应的系数用于表示该m个第二邻居点中包括的属性重建值与该邻居点1的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量。具体地,可通过以下方式获取该邻居点1对应的系数:
针对该m个第二邻居点中的第i个邻居点,若|curpredRefl–neiborRefl[i]|<maxDiff,则该邻居点1对应的系数加1;其中,curpredRefl表示该邻居点1的属性重建值,neiborRefl[i]表示该第i个邻居点的属性重建值,maxDiff表示该第一阈值。
换言之,解码器在寻找近邻点的技术基础上,确定解码顺序对当前点的前n+m个点作为邻居点,m为本申请额外多搜索的用于对修正该n个第一权重的第二邻居点的个数,该m个第二邻居点也就是该当前点的第n+1近邻、第n+2近邻,…,第n+m近邻;然后,解码器可通过遍历n个第一邻居点,计算各个第一邻居点与当前点的几何信息距离(disPos),以得到该n个第一权重。然后,针对该s个 第一邻居点中每一个第一邻居点,解码器可通过统计该m个第二邻居点中包括的属性重建值与该第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,进而得到该s个系数,该s个系数可表示为cnt 1,cnt 2,…,cnt s;最终,解码器可基于该n个第一权重以及该s个系数对该n个第一邻居点的属性重建值进行加权平均,以得到该当前点的属性预测值。
可选的,该s个第一邻居点包括该当前点的最近邻点。
由于最近邻点与当前点的距离最近,因此,对当前点的属性值进行预测时,最近邻点的属性信息的权重对当前点的预测准确度影响最大,本申请通过对该最近邻点的属性信息的权重的计算方法进行优化,即通过提升最近邻点的属性信息的权重的准确度,能够提升解码器对当前点的预测准确度。
可选的,s=1,或s=n。
示例性地,以该n=3且s=1为例,解码器可通过以下公式确定该当前点的属性预测值:
PredR=(1/W 1×cnt 1×ref 1+1/W 2×ref 2+1/W 3×ref 3)/(1/W 1×cnt 1+1/W 2+1/W 3)。
其中,PredR表示该当前点的属性预测值,W 1、W 2、W 3分别表示邻居点1、邻居点2、邻居点3与当前待编码点的距离,ref 1、ref 2、ref 3分别表示邻居点1、邻居点2、邻居点3的属性重建值。cnt 1分别表示基于该m个第二邻居点的属性重建值确定的用于修正该当前点的最近邻点的第一权重的系数。
当然,在其他可替代实施例中,该s个第一邻居点也可以是解码器确定的,例如解码器在该n个第一邻居点中选取的第一邻居点,本申请对此不作具体限定。例如,解码器可以通过遍历该n个第一邻居点的方式,针对该n个第一邻居点中的某一个第一邻居点,计算该m个第二邻居点对应的m个属性重建值分别与该某一个第一邻居点的差值,得到m个差值,若该m个差值中存在k个大于或等于该第一阈值的差值,则将该某一个第一邻居点作为该s个第一邻居点中第一邻居点;否则,将该某一个第一邻居点不作为该s个第一邻居点中的第一邻居点。换言之,该m个第二邻居点对应的m个属性重建值,针对该s个第一邻居点中的某一个第一邻居点,该m个属性重建值中至少存在k个属性重建值,该k个属性重建值中的每一个属性重建值与该某一个第一邻居点的属性重建值的差值大于或等于该第一阈值。
此外,在其他可替代实施例中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的商小于或等于第一阈值的第二邻居点的数量,本申请对此不作具体限定。
可选的,解码器获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,该方法100还包括:
基于该当前点云的类型和/或该当前点的属性信息的类型,确定该第一阈值。
作为一个示例,解码器基于第一映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的阈值,确定为该第一阈值;该第一映射关系包括多个阈值和该多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
可选的,该多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,该密集型点云对应的阈值小于该稀疏型点云对应的阈值;和/或,该多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,该颜色信息对应的阈值小于该反射率信息对应的阈值。
需要说明的是,本申请涉及的多个阈值可基于实际需求进行设定,也可通过用户设定,本申请对此不作具体限定。此外,在其他可替代实施例中,解码器还可基于编解码参数确定该第一阈值,例如该编解码参数可包括:限制有损几何(limit-lossy geometry)压缩、无损几何压缩、有损属性(lossy attributes)压缩、限制有损属性(limit-lossy attributes)压缩或无损属性压缩;此时,不同的编解码参数可对应不同的阈值。
在一些实施例中,该S120之前,该方法100还可包括:
基于该当前点云的类型和/或该当前点的属性信息的类型,确定m的取值。
作为一个示例,解码器基于第二映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的数值,确定为m的取值;该第二映射关系包括多个数值和该多个数值中每一个数值对应的点云类型和/或属性信息的类型。
可选的,该多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,该密集型点云对应的数值小于该稀疏型点云对应的数值;和/或,该多个阈值包括颜色信息对应的数值和反射率信息对应的数值,该颜色信息对应的数值小于该反射率信息对应的数值。
需要说明的是,本申请涉及的多个数值可基于实际需求进行设定,也可通过用户设定,本申请对此不作具体限定。此外,在其他可替代实施例中,解码器还可基于编解码参数确定该m的取值,例如该编解码参数可包括:限制有损几何(limit-lossy geometry)压缩、无损几何压缩、有损属性(lossy attributes)压缩、限制有损属性(limit-lossy attributes)压缩或无损属性压缩;此时,不同的编解码参数可对应m 的不同的取值。
在一些实施例中,该S140可包括:
若该当前点使用的量化步长小于或等于第二阈值,则基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重。
换言之,解码器可基于该当前点使用的量化步长是否小于或等于第二阈值,确定是否基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重。
当然,在其他可替代实施例中,也可以基于该当前点云的类型和/或该当前点的属性信息的类型,确定是否基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重,本申请对此不作具体限定。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图13是本申请实施例提供的基于编码方法200的示意性流程图。该方法200可由编码器或编码框架执行,例如图4所示的编码框架。
如图13所示,该编码方法200可包括:
S210,获取当前点云的几何信息;
S220,针对该当前点云中待编码的当前点,基于该几何信息,确定该当前点云的属性信息的编码顺序;
S220,获取该编码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
S240,基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
S250,基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
在一些实施例中,该S240可包括:
基于该n个第一邻居点与该当前点的距离,确定该n个第一邻居点分别对应的n个第一权重;
基于该m个第二邻居点的属性重建值,对该n个第一权重中的部分或全部第一权重进行修正,得到该n个第一邻居点分别对应的n个第二权重;
其中,该S250可包括:
利用该n个第一邻居点的属性重建值分别与该n个第二权重的乘积的和,除以该n个第二权重的和,得到该当前点的属性预测值。
在一些实施例中,在z轴方向上基于第一距离权重,分别计算该n个第一邻居点中的s个第一邻居点与该当前点的距离;在z轴方向上基于第二距离权重,分别计算该n个第一邻居点中除该s个第一邻居点之外的第一邻居点与该当前点的距离;该第一距离权重大于该第二距离权重;将该n个第一邻居点与该当前点的距离的倒数,确定该n个第一权重。
在一些实施例中,获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;基于该s个系数和该s个第一邻居点分别对应的s个第一权重,得到该s个第一邻居点分别对应的s个第二权重。
在一些实施例中,该s个第一邻居点包括该当前点的最近邻点。
在一些实施例中,s=1,或s=n。
在一些实施例中,获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,基于第一映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的阈值,确定为该第一阈值;该第一映射关系包括多个阈值和该多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
在一些实施例中,该多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,该密集型点云对应的阈值小于该稀疏型点云对应的阈值;和/或,该多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,该颜色信息对应的阈值小于该反射率信息对应的阈值。
在一些实施例中,该S220之前,该方法200还可包括:
基于第二映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的数值,确定为m的取值;该第二映射关系包括多个数值和该多个数值中每一个数值对应的点云类型和/或属性信息的类型。
在一些实施例中,该多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,该密集型点云对应的数值小于该稀疏型点云对应的数值;和/或,该多个阈值包括颜色信息对应的数值和反射率信息对应的数值,该颜色信息对应的数值小于该反射率信息对应的数值。
在一些实施例中,该S220可包括:
若该当前点使用的量化步长小于或等于第二阈值,则基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重。
下面将结合附图对本申请实施例提供的编码器或解码器进行说明。
图14是本申请实施例提供的解码器300的示意性框图。
如图14所示,该解码器300可包括:
解析单元310,用于对当前点云的码流进行解析,得到该当前点云的几何信息;
预测单元320,用于:
针对该当前点云中待解码的当前点,基于该几何信息,确定该当前点云的属性信息的解码顺序;
获取该解码顺序中位于当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
在一些实施例中,该预测单元320具体用于:
基于该n个第一邻居点与该当前点的距离,确定该n个第一邻居点分别对应的n个第一权重;
基于该m个第二邻居点的属性重建值,对该n个第一权重中的部分或全部第一权重进行修正,得到该n个第一邻居点分别对应的n个第二权重;
利用该n个第一邻居点的属性重建值分别与该n个第二权重的乘积的和,除以该n个第二权重的和,得到该当前点的属性预测值。
在一些实施例中,该预测单元320具体用于:
在z轴方向上基于第一距离权重,分别计算该n个第一邻居点中的s个第一邻居点与该当前点的距离;
在z轴方向上基于第二距离权重,分别计算该n个第一邻居点中除该s个第一邻居点之外的第一邻居点与该当前点的距离;该第一距离权重大于该第二距离权重;
将该n个第一邻居点与该当前点的距离的倒数,确定该n个第一权重。
在一些实施例中,该预测单元320具体用于:
获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;
基于该s个系数和该s个第一邻居点分别对应的s个第一权重,得到该s个第一邻居点分别对应的s个第二权重。
在一些实施例中,该s个第一邻居点包括该当前点的最近邻点。
在一些实施例中,s=1,或s=n。
在一些实施例中,该预测单元320用于获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,该预测单元320还用于:
基于第一映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的阈值,确定为该第一阈值;该第一映射关系包括多个阈值和该多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
在一些实施例中,该多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,该密集型点云对应的阈值小于该稀疏型点云对应的阈值;和/或,该多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,该颜色信息对应的阈值小于该反射率信息对应的阈值。
在一些实施例中,该预测单元320用于获取该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点之前,该预测单元320还用于:
基于第二映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的数值,确定为m的取值;该第二映射关系包括多个数值和该多个数值中每一个数值对应的点云类型和/或属性信息的 类型。
在一些实施例中,该多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,该密集型点云对应的数值小于该稀疏型点云对应的数值;和/或,该多个阈值包括颜色信息对应的数值和反射率信息对应的数值,该颜色信息对应的数值小于该反射率信息对应的数值。
在一些实施例中,该预测单元320具体用于:
若该当前点使用的量化步长小于或等于第二阈值,则基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重。
需要说明的是,该解码器300也可以结合至图5所示的解码框架,即可将该解码器300中的单元替换或结合至解码框架中的相关部分。例如,该预测单元320可用于实现解码框架中的属性预测部分。
图15是本申请实施例提供的编码器400的示意性框图。
如图15所示,该编码器400可包括:
获取单元410,用于获取当前点云的几何信息;
预测单元420,用于:
针对该当前点云中待编码的当前点,基于该几何信息,确定该当前点云的属性信息的编码顺序;
获取该编码顺序中位于该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重;
基于该n个第一邻居点的属性信息和该n个第一邻居点的属性信息的权重,对该当前点进行预测,得到该当前点的属性预测值。
在一些实施例中,该预测单元420具体用于:
基于该n个第一邻居点与该当前点的距离,确定该n个第一邻居点分别对应的n个第一权重;
基于该m个第二邻居点的属性重建值,对该n个第一权重中的部分或全部第一权重进行修正,得到该n个第一邻居点分别对应的n个第二权重;
利用该n个第一邻居点的属性重建值分别与该n个第二权重的乘积的和,除以该n个第二权重的和,得到该当前点的属性预测值。
在一些实施例中,该预测单元420具体用于:
在z轴方向上基于第一距离权重,分别计算该n个第一邻居点中的s个第一邻居点与该当前点的距离;
在z轴方向上基于第二距离权重,分别计算该n个第一邻居点中除该s个第一邻居点之外的第一邻居点与该当前点的距离;该第一距离权重大于该第二距离权重;
将该n个第一邻居点与该当前点的距离的倒数,确定该n个第一权重。
在一些实施例中,该预测单元420具体用于:
获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;
基于该s个系数和该s个第一邻居点分别对应的s个第一权重,得到该s个第一邻居点分别对应的s个第二权重。
在一些实施例中,该s个第一邻居点包括该当前点的最近邻点。
在一些实施例中,s=1,或s=n。
在一些实施例中,该预测单元420用于获取该n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,该预测单元420还用于:
基于第一映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的阈值,确定为该第一阈值;该第一映射关系包括多个阈值和该多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
在一些实施例中,该多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,该密集型点云对应的阈值小于该稀疏型点云对应的阈值;和/或,该多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,该颜色信息对应的阈值小于该反射率信息对应的阈值。
在一些实施例中,该预测单元420用于获取该当前点之前的n个第一邻居点和位于该n个第一邻居点之前的m个第二邻居点之前,该预测单元420还用于:
基于第二映射关系,将与该当前点云的类型和/或该当前点的属性信息的类型对应的数值,确定为m的取值;该第二映射关系包括多个数值和该多个数值中每一个数值对应的点云类型和/或属性信息的类型。
在一些实施例中,该多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,该密集型点云对应的数值小于该稀疏型点云对应的数值;和/或,该多个阈值包括颜色信息对应的数值和反射率信息对应的数值,该颜色信息对应的数值小于该反射率信息对应的数值。
在一些实施例中,该预测单元420具体用于:
若该当前点使用的量化步长小于或等于第二阈值,则基于该m个第二邻居点的属性重建值,确定该n个第一邻居点的属性信息的权重。
需要说明的是,该编码器400也可以结合至图4所示的编码框架,即可将该编码器400中的单元替换或结合至编码框架中的相关部分。例如,该预测单元420可用于实现编码框架中的属性预测部分。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,解码器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 (28)

  1. 一种解码方法,其特征在于,包括:
    对当前点云的码流进行解析,得到所述当前点云的几何信息;
    针对所述当前点云中待解码的当前点,基于所述几何信息,确定所述当前点云的属性信息的解码顺序;
    获取所述解码顺序中位于所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
    基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重;
    基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值。
  2. 根据权利要求1所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重,包括:
    基于所述n个第一邻居点与所述当前点的距离,确定所述n个第一邻居点分别对应的n个第一权重;
    基于所述m个第二邻居点的属性重建值,对所述n个第一权重中的部分或全部第一权重进行修正,得到所述n个第一邻居点分别对应的n个第二权重;
    其中,所述基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值,包括:
    利用所述n个第一邻居点的属性重建值分别与所述n个第二权重的乘积的和,除以所述n个第二权重的和,得到所述当前点的属性预测值。
  3. 根据权利要求2所述的方法,其特征在于,所述基于所述n个第一邻居点与所述当前点的距离,确定所述n个第一邻居点分别对应的n个第一权重,包括:
    在z轴方向上基于第一距离权重,分别计算所述n个第一邻居点中的s个第一邻居点与所述当前点的距离;
    在z轴方向上基于第二距离权重,分别计算所述n个第一邻居点中除所述s个第一邻居点之外的第一邻居点与所述当前点的距离;所述第一距离权重大于所述第二距离权重;
    将所述n个第一邻居点与所述当前点的距离的倒数,确定所述n个第一权重。
  4. 根据权利要求2所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,对所述n个第一权重进行修正,得到所述n个第一邻居点分别对应的n个第二权重,包括:
    获取所述n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;
    基于所述s个系数和所述s个第一邻居点分别对应的s个第一权重,得到所述s个第一邻居点分别对应的s个第二权重。
  5. 根据权利要求4所述的方法,其特征在于,所述s个第一邻居点包括所述当前点的最近邻点。
  6. 根据权利要求4所述的方法,其特征在于,s=1,或s=n。
  7. 根据权利要求4所述的方法,其特征在于,所述获取所述n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,所述方法还包括:
    基于第一映射关系,将与所述当前点云的类型和/或所述当前点的属性信息的类型对应的阈值,确定为所述第一阈值;所述第一映射关系包括多个阈值和所述多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
  8. 根据权利要求7所述的方法,其特征在于,所述多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,所述密集型点云对应的阈值小于所述稀疏型点云对应的阈值;和/或,所述多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,所述颜色信息对应的阈值小于所述反射率信息对应的阈值。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述获取所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点之前,所述方法还包括:
    基于第二映射关系,将与所述当前点云的类型和/或所述当前点的属性信息的类型对应的数值,确定为m的取值;所述第二映射关系包括多个数值和所述多个数值中每一个数值对应的点云类型和/或属性信息的类型。
  10. 根据权利要求9所述的方法,其特征在于,所述多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,所述密集型点云对应的数值小于所述稀疏型点云对应的数值;和/或,所述多个阈值 包括颜色信息对应的数值和反射率信息对应的数值,所述颜色信息对应的数值小于所述反射率信息对应的数值。
  11. 根据权利要求1至10中任一项所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重,包括:
    若所述当前点使用的量化步长小于或等于第二阈值,则基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重。
  12. 一种编码方法,其特征在于,包括:
    获取当前点云的几何信息;
    针对所述当前点云中待编码的当前点,基于所述几何信息,确定所述当前点云的属性信息的编码顺序;
    获取所述编码顺序中位于所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点,n和m均为正整数;
    基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重;
    基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值。
  13. 根据权利要求12所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重,包括:
    基于所述n个第一邻居点与所述当前点的距离,确定所述n个第一邻居点分别对应的n个第一权重;
    基于所述m个第二邻居点的属性重建值,对所述n个第一权重中的部分或全部第一权重进行修正,得到所述n个第一邻居点分别对应的n个第二权重;
    其中,所述基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值,包括:
    利用所述n个第一邻居点的属性重建值分别与所述n个第二权重的乘积的和,除以所述n个第二权重的和,得到所述当前点的属性预测值。
  14. 根据权利要求13所述的方法,其特征在于,所述基于所述n个第一邻居点与所述当前点的距离,确定所述n个第一邻居点分别对应的n个第一权重,包括:
    在z轴方向上基于第一距离权重,分别计算所述n个第一邻居点中的s个第一邻居点与所述当前点的距离;
    在z轴方向上基于第二距离权重,分别计算所述n个第一邻居点中除所述s个第一邻居点之外的第一邻居点与所述当前点的距离;所述第一距离权重大于所述第二距离权重;
    将所述n个第一邻居点与所述当前点的距离的倒数,确定所述n个第一权重。
  15. 根据权利要求13所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,对所述n个第一权重进行修正,得到所述n个第一邻居点分别对应的n个第二权重,包括:
    获取所述n个第一邻居点中的s个第一邻居点分别对应的s个系数;其中,所述第一邻居点对应的系数用于表示所述m个第二邻居点中包括的属性重建值与所述第一邻居点的属性重建值的差值的绝对值小于或等于第一阈值的第二邻居点的数量,s为正整数;
    基于所述s个系数和所述s个第一邻居点分别对应的s个第一权重,得到所述s个第一邻居点分别对应的s个第二权重。
  16. 根据权利要求15所述的方法,其特征在于,所述s个第一邻居点包括所述当前点的最近邻点。
  17. 根据权利要求15所述的方法,其特征在于,s=1,或s=n。
  18. 根据权利要求15所述的方法,其特征在于,所述获取所述n个第一邻居点中的s个第一邻居点分别对应的s个系数之前,所述方法还包括:
    基于第一映射关系,将与所述当前点云的类型和/或所述当前点的属性信息的类型对应的阈值,确定为所述第一阈值;所述第一映射关系包括多个阈值和所述多个阈值中每一个阈值对应的点云类型和/或属性信息的类型。
  19. 根据权利要求18所述的方法,其特征在于,所述多个阈值包括密集型点云对应的阈值和稀疏型点云对应的阈值,所述密集型点云对应的阈值小于所述稀疏型点云对应的阈值;和/或,所述多个阈值包括颜色信息对应的阈值和反射率信息对应的阈值,所述颜色信息对应的阈值小于所述反射率信息对应的阈值。
  20. 根据权利要求12至19中任一项所述的方法,其特征在于,所述获取所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点之前,所述方法还包括:
    基于第二映射关系,将与所述当前点云的类型和/或所述当前点的属性信息的类型对应的数值,确 定为m的取值;所述第二映射关系包括多个数值和所述多个数值中每一个数值对应的点云类型和/或属性信息的类型。
  21. 根据权利要求20所述的方法,其特征在于,所述多个数值包括密集型点云对应的数值和稀疏型点云对应的数值,所述密集型点云对应的数值小于所述稀疏型点云对应的数值;和/或,所述多个阈值包括颜色信息对应的数值和反射率信息对应的数值,所述颜色信息对应的数值小于所述反射率信息对应的数值。
  22. 根据权利要求12至21中任一项所述的方法,其特征在于,所述基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重,包括:
    若所述当前点使用的量化步长小于或等于第二阈值,则基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重。
  23. 一种解码器,其特征在于,包括:
    解析单元,用于对当前点云的码流进行解析,得到所述当前点云的几何信息;
    预测单元,用于:
    针对所述当前点云中待解码的当前点,基于所述几何信息,确定所述当前点云的属性信息的解码顺序,n和m均为正整数;
    获取所述解码顺序中的位于所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点;
    基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重;
    基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值。
  24. 一种编码器,其特征在于,包括:
    获取单元,用于获取当前点云的几何信息;
    预测单元,用于:
    针对所述当前点云中待编码的当前点,基于所述几何信息,确定所述当前点云的属性信息的编码顺序,n和m均为正整数;
    获取所述编码顺序中的位于所述当前点之前的n个第一邻居点和位于所述n个第一邻居点之前的m个第二邻居点;
    基于所述m个第二邻居点的属性重建值,确定所述n个第一邻居点的属性信息的权重;
    基于所述n个第一邻居点的属性信息和所述n个第一邻居点的属性信息的权重,对所述当前点进行预测,得到所述当前点的属性预测值。
  25. 一种解码设备,其特征在于,包括:
    处理器,适于执行计算机程序;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至11中任一项所述的解码方法。
  26. 一种编码设备,其特征在于,包括:
    处理器,适于执行计算机程序;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求12至22中任一项所述的编码方法。
  27. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至11中任一项所述的解码方法。
  28. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求12至22中任一项所述的编码方法。
PCT/CN2021/114160 2021-08-23 2021-08-23 解码方法、编码方法、解码器以及编码器 WO2023023918A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180101210.8A CN117751574A (zh) 2021-08-23 2021-08-23 解码方法、编码方法、解码器以及编码器
PCT/CN2021/114160 WO2023023918A1 (zh) 2021-08-23 2021-08-23 解码方法、编码方法、解码器以及编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/114160 WO2023023918A1 (zh) 2021-08-23 2021-08-23 解码方法、编码方法、解码器以及编码器

Publications (1)

Publication Number Publication Date
WO2023023918A1 true WO2023023918A1 (zh) 2023-03-02

Family

ID=85321410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/114160 WO2023023918A1 (zh) 2021-08-23 2021-08-23 解码方法、编码方法、解码器以及编码器

Country Status (2)

Country Link
CN (1) CN117751574A (zh)
WO (1) WO2023023918A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889840A (zh) * 2019-03-20 2019-06-14 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN110708560A (zh) * 2018-07-10 2020-01-17 腾讯美国有限责任公司 点云数据处理方法和装置
WO2020246689A1 (ko) * 2019-06-05 2020-12-10 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN112771583A (zh) * 2018-10-02 2021-05-07 腾讯美国有限责任公司 视频编码的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708560A (zh) * 2018-07-10 2020-01-17 腾讯美国有限责任公司 点云数据处理方法和装置
CN112771583A (zh) * 2018-10-02 2021-05-07 腾讯美国有限责任公司 视频编码的方法和装置
CN109889840A (zh) * 2019-03-20 2019-06-14 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
WO2020246689A1 (ko) * 2019-06-05 2020-12-10 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备

Also Published As

Publication number Publication date
CN117751574A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
US20230237707A1 (en) Point cloud encoding and decoding method, encoder, decoder and codec system
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
US20230237704A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
WO2023023918A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023015530A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2023159428A1 (zh) 编码方法、编码器以及存储介质
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023197337A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023240455A1 (zh) 点云编码方法、编码装置、编码设备以及存储介质
WO2023197338A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023240660A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2024077548A1 (zh) 点云解码方法、点云编码方法、解码器和编码器
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
WO2022133752A1 (zh) 点云的编码方法、解码方法、编码器以及解码器
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2022257143A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022116122A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
WO2022133755A1 (zh) 点云的解码方法、编码方法、解码器以及编码器
RU2778377C1 (ru) Способ и устройство для кодирования облака точек

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180101210.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE