WO2022133752A1 - 点云的编码方法、解码方法、编码器以及解码器 - Google Patents

点云的编码方法、解码方法、编码器以及解码器 Download PDF

Info

Publication number
WO2022133752A1
WO2022133752A1 PCT/CN2020/138421 CN2020138421W WO2022133752A1 WO 2022133752 A1 WO2022133752 A1 WO 2022133752A1 CN 2020138421 W CN2020138421 W CN 2020138421W WO 2022133752 A1 WO2022133752 A1 WO 2022133752A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
target point
point
weight
residual value
Prior art date
Application number
PCT/CN2020/138421
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 JP2023538020A priority Critical patent/JP2023553503A/ja
Priority to CN202080108037.XA priority patent/CN116783887A/zh
Priority to PCT/CN2020/138421 priority patent/WO2022133752A1/zh
Priority to EP20966332.7A priority patent/EP4261785A1/en
Priority to KR1020237024952A priority patent/KR20230124673A/ko
Priority to PCT/CN2021/087064 priority patent/WO2022062369A1/zh
Priority to KR1020237009716A priority patent/KR20230075426A/ko
Priority to JP2023518709A priority patent/JP2023543752A/ja
Priority to CN202180064277.9A priority patent/CN116325731A/zh
Priority to EP21870758.6A priority patent/EP4221207A4/en
Publication of WO2022133752A1 publication Critical patent/WO2022133752A1/zh
Priority to US18/125,276 priority patent/US20230232004A1/en
Priority to US18/208,771 priority patent/US20230328246A1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments of the present application relate to the field of point cloud encoding and decoding, and more particularly, to a point cloud encoding method, decoding method, encoder, and decoder.
  • Point clouds have begun to spread to various fields, such as virtual/augmented reality, robotics, geographic information systems, medical fields, 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 the storage and transmission of computers. Therefore, point-to-point compression has become a hot issue.
  • octree encoding is performed on the position information of the point cloud; at the same time, the color information is predicted according to the octree-encoded position information, and then the color is encoded by making a difference with the original color information. information to encode the point cloud.
  • the embodiments of the present application provide a point cloud encoding method, decoding method, encoder and decoder, which can improve the prediction accuracy of attribute information of points.
  • a method for encoding a point cloud including:
  • the prediction residual value is quantized to obtain the quantized residual value of the attribute information of the target point, and the quantization weight of the target point is the weight used when weighting the quantization step size of the target point;
  • the quantized residual value is encoded to obtain a code stream.
  • a decoding method of point cloud including:
  • Inverse quantization is performed on the quantization residual value based on the quantization weight of the target point and the quantization step size of the target point to obtain the reconstructed residual value of the attribute information of the target point, and the quantization weight of the target point is the weight used when weighting the quantization step size of the target point;
  • a decoded point cloud is obtained according to the reconstructed value of the attribute information of the target point.
  • an encoder for point clouds including:
  • a first processing unit configured to process the attribute information of the target point in the point cloud to obtain a prediction residual value of the attribute information of the target point
  • the second processing unit is configured to quantize the prediction residual value based on the quantization weight of the target point and the quantization step size of the target point, so as to obtain the quantized residual value of the attribute information of the target point.
  • the quantization weight of the target point is the weight adopted when weighting the quantization step size of the target point;
  • an encoding unit configured to encode the quantized residual value to obtain a code stream.
  • a decoder for point clouds including:
  • a parsing unit configured to parse the code stream of the point cloud to obtain the quantized residual value of the attribute information of the target point of the point cloud
  • the first processing unit is configured to perform inverse quantization on the quantization residual value based on the quantization weight of the target point and the quantization step size of the target point, so as to obtain the reconstructed residual value of the attribute information of the target point, where
  • the quantization weight of the target point is the weight adopted when weighting the quantization step size of the target point;
  • a second processing unit configured to obtain a reconstructed value of the attribute information of the target point according to the predicted residual value and the predicted value of the attribute information of the target point;
  • the third processing unit is configured to obtain a decoded point cloud according to the reconstructed value of the attribute information of the target point.
  • an embodiment of the present application provides a data processing device for point cloud media, and the data processing device for point cloud media includes:
  • a processor adapted to implement computer instructions
  • a computer-readable storage medium where computer instructions are stored in the computer-readable storage medium, and the computer instructions are suitable for being loaded by a processor and executing the above-mentioned data processing method for point cloud media.
  • an embodiment of the present application provides a computer-readable storage medium, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions are read and executed by a processor of a computer device, the computer device can perform the above point.
  • Data processing method of cloud media
  • a parameter for characterizing the importance of the target point that is, the quantization weight of the target point
  • the quantization weight of the target point is introduced through Combine the quantization weight of the target point and the quantization step size of the target point to quantize the prediction residual value of the target point, obtain the quantized residual value of the attribute information of the target point, and then quantify the quantization residual value.
  • the difference is encoded to obtain the code stream.
  • the quantization weight of the target point By introducing the quantization weight of the target point, it is equivalent to modifying the quantization step size of the target point based on the quantization weight of the target point, that is, according to the importance of the target point, the Quantization step size, and then quantize the prediction residual value of the target point based on the adjusted quantization step size, in the process of predicting the attribute information of the point in the point cloud, for the position closer
  • the previous point when it is more important in prediction, can avoid its quantization step size being too large, and thus can avoid generating a large reconstruction error, which is equivalent to using a smaller quantization step size to reduce Its reconstruction error can improve its prediction accuracy for points located later in the coding order.
  • FIG. 1 is a schematic block diagram of a coding framework provided by an embodiment of the present application.
  • FIG. 2 is a schematic block diagram of an LOD layer provided by an embodiment of the present application.
  • FIG. 3 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an encoder provided by an embodiment of the present application.
  • FIG. 7 is a schematic block diagram of a decoder provided by an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
  • a point cloud is a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of a three-dimensional object or three-dimensional scene.
  • Point cloud data is the specific recording form of point cloud.
  • the point cloud data of each point in the point cloud can include geometric information and attribute information.
  • the geometric information of each point in the point cloud refers to the Cartesian three-dimensional coordinate data
  • the attribute information of each point in the point cloud may include but not limited to at least one of the following: color information, material information, and laser reflection intensity information.
  • Color information can be information in any color space.
  • the color information may be Red Green Blue (RGB) information.
  • the color information may also be luminance chrominance (YcbCr, YUV) information.
  • Y represents brightness (Luma)
  • Cb (U) represents blue color difference
  • Cr (V) represents red color
  • U and V represent chroma (Chroma)
  • chroma is used to describe color difference information.
  • Each point in the point cloud has the same amount of attribute information.
  • each point in a 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 geometric information of points can also be called geometric components or geometric components of point cloud media
  • the attribute information of points can also be called attribute components or attribute components of point cloud media.
  • Component Point cloud media may include a geometric component and one or more attribute components.
  • 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, rescue robot and other point cloud application scenarios.
  • the application scenarios of human eye perception point cloud 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 acquisition methods of point cloud include but are not limited to: computer generation, 3D laser scanning, 3D photogrammetry, etc. Computers can generate point clouds of virtual 3D objects and scenes.
  • 3D scanning can obtain point clouds of static real-world 3D objects or scenes, and millions of point clouds can be obtained per second.
  • 3D cameras can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
  • the point cloud on 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 principle of laser measurement which may include three-dimensional coordinate information of the point and laser reflection intensity (reflectance) of the point.
  • the point cloud obtained according to the principle of photogrammetry may include three-dimensional coordinate information of the point and color information of the point.
  • the point cloud is obtained by combining the principles of laser measurement and photogrammetry, which may include three-dimensional coordinate information of the point, laser reflection intensity of the point, and color information of the point.
  • the point cloud can also be divided into three types of point clouds based on the acquisition method of the point cloud, 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 acquiring the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device for acquiring the point cloud is stationary; for the third type of dynamic point cloud
  • the point cloud is acquired, and the device that acquires the point cloud is moving.
  • point clouds of biological tissues and organs can be obtained from magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic localization information.
  • MRI magnetic resonance imaging
  • CT computed tomography
  • electromagnetic localization information reduce the cost and time period of point cloud acquisition and improve the accuracy of the data.
  • the change in the acquisition method of point clouds makes it possible to acquire a large number of point clouds. With the continuous accumulation of large-scale point clouds, efficient storage, transmission, publishing, sharing and standardization of point clouds have become the key to point cloud applications.
  • Point cloud data can be used to form point cloud media, which can be a media file.
  • the point cloud media may include multiple media frames, each media frame in the point cloud media being composed of point cloud data.
  • Point cloud media can express the spatial structure and surface properties of 3D objects or 3D scenes flexibly and conveniently, so it is widely used.
  • After encoding the point cloud media encapsulate the encoded stream to form an encapsulated file, and the encapsulated file can be used for transmission to users.
  • the encapsulated file needs to be decapsulated first, then decoded, and finally the decoded data stream is presented.
  • Package files can also be referred to as point cloud files.
  • point clouds can be encoded through the point cloud encoding framework.
  • the point cloud coding framework can be the Geometry Point Cloud Compression (G-PCC) codec framework provided by the Moving Picture Experts Group (MPEG) or the Video Point Cloud Compression (Video Point Cloud Compression, V-PCC) codec framework, it can also be the AVS-PCC codec framework provided by the Audio Video Standard (AVS).
  • 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
  • the V-PCC codec framework is also called point cloud codec TMC2.
  • FIG. 1 is a schematic block diagram of an encoding framework 100 provided by an embodiment of the present application.
  • the encoding framework 100 can obtain the location information and attribute information of the point cloud from the acquisition device.
  • the encoding of point cloud includes position encoding and attribute encoding.
  • the process of position encoding includes: performing preprocessing on the original point cloud, such as coordinate transformation, quantization and removing duplicate points; and encoding to form a geometric code stream after constructing an octree.
  • the attribute coding process includes: by given the reconstruction information of the position information of the input point cloud and the true value of the attribute information, select one of the three prediction modes for point cloud prediction, quantify the predicted result, and perform arithmetic coding to form attribute code stream.
  • position encoding can be achieved by the following units:
  • Coordinate transformation transformation (Tanmsform coordinates) unit 101, quantize and remove duplicate points (Quantize and remove points) unit 102, octree analysis (Analyze octree) unit 103, geometric reconstruction (Reconstruct Geometry) unit 104 and first arithmetic coding (Arithmetic) enconde) unit 105.
  • the coordinate transformation unit 101 can be used to transform the world coordinates of the points in the point cloud into relative coordinates. For example, the geometric coordinates of the points are respectively subtracted from the minimum value of the xyz coordinate axes, which is equivalent to the DC removal operation, so as to realize the transformation of the coordinates of the points in the point cloud from world coordinates to relative coordinates.
  • the quantization and removal of duplicate points unit 102 can reduce the number of coordinates through quantization; points that were originally different after quantization may be assigned the same coordinates, and based on this, duplicate points can be deleted through a deduplication operation; for example, points with the same quantization position and Multiple clouds with different attribute information can be merged into one cloud through attribute transformation.
  • the quantization and removal of duplicate points unit 102 is an optional unit module.
  • the octree analysis unit 103 may encode the position information of the quantized points using an octree encoding method.
  • the point cloud is divided in the form of an octree, so that the position of the point can be in a one-to-one correspondence with the position of the octree.
  • the flag (flag) is recorded as 1, for geometry encoding.
  • the first arithmetic coding unit 105 can perform arithmetic coding on the position information output by the octree analysis unit 103 by using the entropy coding method, that is, the position information output by the octree analysis unit 103 uses the arithmetic coding method to generate a geometric code stream; the geometric code stream also It can be called a geometry bitstream.
  • Attribute encoding can be achieved through the following units:
  • Color space transform (Transform colors) unit 110 attribute transform (Transfer attributes) unit 111, Region Adaptive Hierarchical Transform (RAHT) unit 112, predicting transform (predicting transform) unit 113 and lifting transform (lifting transform) ) unit 114 , a quantization (Quantize) unit 115 and a second arithmetic coding unit 116 .
  • RAHT Region Adaptive Hierarchical Transform
  • the color space transformation unit 110 may be used to transform the RGB color space of the points in the point cloud into YCbCr format or other formats.
  • the attribute transformation unit 111 may be used to transform attribute information of points in the point cloud to minimize attribute distortion.
  • the attribute transformation unit 111 may be used to obtain the true value of the attribute information of the point.
  • the attribute information may be color information of dots.
  • any prediction unit can be selected to predict the point in the point cloud.
  • the unit for predicting points in the point cloud may include at least one of: RAHT 112 , predicting transform unit 113 and lifting transform unit 114 .
  • any one of the RAHT 112, the predicting transform unit 113 and the lifting transform unit 114 can be used to predict the attribute information of points in the point cloud to obtain the predicted value of the attribute information of the points, Further, the residual value of the attribute information of the point can be obtained based on the predicted value of the attribute information of the point.
  • the residual value of the attribute information of the point may be the actual value of the attribute information of the point minus the predicted value of the attribute information of the point.
  • the prediction transformation unit 113 may also be used to generate a level of detail (LOD), to sequentially predict the attribute information of points in the LOD, and to calculate a prediction residual for subsequent quantization coding. Specifically, for each point in the LOD, find the three nearest neighbor points in the LOD in front of it, and then use the reconstructed values of the three neighbor points to predict the current point to obtain the predicted value; based on this, it can be based on The predicted value of the current point and the true value of the current point get the residual value of the current point. For example, the residual value can be determined based on the following equation:
  • AttrResidualQuant (attrValue-attrPred)/Qstep
  • AttrResidualQuant represents the residual value of the current point
  • attrPred represents the predicted value of the current point
  • attrValue represents the real value of the current point
  • Qstep represents the quantization step size.
  • Qstep is calculated by the quantization parameter (Quantization Parameter, Qp).
  • the current point will be used as the nearest neighbor of the subsequent point, and the reconstructed value of the current point will be used to predict the attribute information of the subsequent point.
  • the reconstructed value of the attribute information of the current point can be obtained by the following formula:
  • reconstructedColor represents the reconstructed value of the current point
  • attrResidualQuant represents the residual value of the current point
  • Qstep represents the quantization step size
  • attrPred represents the predicted value of the current point.
  • Qstep is calculated by the quantization parameter (Quantization Parameter, Qp).
  • the LOD generation process includes: obtaining the Euclidean distance between points according to the position information of the points in the point cloud; dividing the points into different LOD layers according to the Euclidean distance.
  • different ranges of Euclidean distances may be divided into different LOD layers. For example, a point can be randomly picked as the first LOD layer. Then calculate the Euclidean distance between the remaining points and the point, and classify the points whose Euclidean distance meets the requirements of the first threshold as the second LOD layer.
  • the centroid of the midpoint of the second LOD layer calculate the Euclidean distance between the points other than the first and second LOD layers and the centroid, and classify the points whose Euclidean distance meets the second threshold as the third LOD layer. And so on, put all the points in the LOD layer.
  • the threshold of Euclidean distance By adjusting the threshold of Euclidean distance, the number of points in each layer of LOD can be increased.
  • the manner of dividing the LOD layer may also adopt other manners, which are not limited in this application. It should be noted that the point cloud can be directly divided into one or more LOD layers, or the point cloud can be divided into multiple point cloud slices first, and then each point cloud slice can be divided into one or more slices. LOD layers.
  • the point cloud can be divided into multiple point cloud slices, and the number of points in each point cloud slice can be between 550,000 and 1.1 million.
  • Each point cloud tile can be seen as a separate point cloud.
  • Each point cloud slice can be divided into multiple LOD layers, and each LOD layer includes multiple points. In one embodiment, the division of the LOD layer may be performed according to the Euclidean distance between points.
  • FIG. 2 is a schematic block diagram of an LOD layer provided by an embodiment of the present application.
  • the point cloud includes multiple points arranged in the original order, namely P0, P1, P2, P3, P4, P5, P6, P7, P8 and P9.
  • the assumption can be based on point and point
  • the Euclidean distance between them can divide the point cloud into 3 LOD layers, namely LOD0, LOD1 and LOD2.
  • LOD0 may include P0, P5, P4 and P2
  • LOD2 may include P1, P6 and P3
  • LOD3 may include P9, P8 and P7.
  • LOD0, LOD1 and LOD2 can be used to form the LOD-based order of the point cloud, namely P0, P5, P4, P2, P1, P6, P3, P9, P8 and P7.
  • the LOD-based order can be used as the encoding order of the point cloud.
  • the quantization unit 115 may be used to quantize residual values of attribute information of points. For example, if the quantization unit 115 and the predictive transformation unit 113 are connected, the quantization unit can be used to quantize the residual value of the attribute information of the point output by the predictive transformation unit 113 . For example, the residual value of the attribute information of the point output by the predictive transform unit 113 is quantized using a quantization step size, so as to improve the system performance.
  • the second arithmetic coding unit 116 may perform entropy coding on the residual value of the attribute information of the point by using zero run length coding, so as to obtain the attribute code stream.
  • the attribute code stream may be bit stream information
  • the predicted value (predicted value) of the attribute information of the point in the point cloud may also be referred to as the color predicted value (predicted Color) in the LOD mode.
  • a residual value of the point can be obtained by subtracting the predicted value of the attribute information of the point from the actual value of the attribute information of the point.
  • the residual value of the attribute information of the point may also be referred to as a color residual value (residualColor) in the LOD mode.
  • the predicted value of the attribute information of the point and the residual value of the attribute information of the point are added to generate a reconstructed value of the attribute information of the point.
  • the reconstructed value of the attribute information of the point may also be referred to as a color reconstructed value (reconstructedColor) in the LOD mode.
  • FIG. 3 is a schematic block diagram of a decoding framework 200 provided by an embodiment of the present application.
  • the decoding framework 200 can obtain the code stream of the point cloud from the encoding device, and obtain the position information and attribute information of the points in the point cloud by parsing the code.
  • the decoding of point cloud includes position decoding and attribute decoding.
  • the position decoding process includes: performing arithmetic decoding on the geometric code stream; merging after constructing the octree, and reconstructing the position information of the point to obtain the reconstruction information of the position information of the point; The reconstructed information of the information is subjected to coordinate transformation to obtain the position information of the point.
  • the position information of the point may also be referred to as the geometric information of the point.
  • the attribute decoding process includes: obtaining the residual value of the attribute information of the point in the point cloud by parsing the attribute code stream; obtaining the residual value of the attribute information of the point after inverse quantization by inverse quantizing the residual value of the attribute information of the point value; based on the reconstruction information of the position information of the point obtained in the position decoding process, select one of the three prediction modes to perform point cloud prediction, and obtain the reconstructed value of the attribute information of the point; the reconstructed value of the attribute information of the point is color space Inverse transform to get the decoded point cloud.
  • the position decoding can be implemented by the following units: a first arithmetic decoding unit 201, an octree analysis (synthesize octree) unit 202, a geometric reconstruction (Reconstruct geometry) unit 203, and a coordinate inverse transform (inverse transform coordinates) unit. 204.
  • Attribute encoding can be implemented by the following units: a second arithmetic decoding unit 210, an inverse quantize unit 211, a RAHT unit 212, a predicting transform unit 213, a lifting transform unit 214, and an inverse color space transform (inverse trasform colors) unit 215.
  • each unit in the decoding framework 200 may refer to the functions of the corresponding units in the encoding framework 100 .
  • the decoding framework 200 can divide the point cloud into a plurality of LODs according to the Euclidean distance between the points in the point cloud; then, decode the attribute information of the points in the LOD in sequence; Quantity (zero_cnt), to decode the residual with a zero-based quantity; then, the decoding framework 200 can perform inverse quantization based on the decoded residual value, and add the predicted value of the current point based on the inverse quantized residual value Get the reconstructed value of the point cloud until all point clouds are decoded.
  • the current point will be used as the nearest neighbor of the subsequent LOD midpoint, and the reconstructed value of the current point will be used to predict the attribute information of the subsequent point.
  • inverse transform transform
  • inverse quantization scale/scaling
  • orthogonal transform if one of the matrices is used for transform, the other matrix is used for inverse transform.
  • the matrices used in the decoder may be referred to as "transform" matrices.
  • the quantization unit 115 may quantize the prediction residual value of the attribute information of the point output by the predictive transform unit 113 using the quantization step size through the fixed quantization step size technique or the variable quantization step size technique.
  • the prediction residual values of all LOD midpoints are dequantized with a fixed quantization step size.
  • the variable quantization step size technology the LOD layered quantization technology can be used to set a quantization parameter for each layer of LOD. The increment is superimposed with the quantization parameters provided by the attribute parameter set to obtain the effective quantization parameters of each layer of LOD.
  • Table 1 The specific increment settings of the quantization parameters are shown in Table 1 below:
  • LOD0 to LOD14 represent different LODs
  • R1 to R5 represent different code rates, that is, different quantization parameters (Quantization Parameter, Qp), the larger the value of Qp, the higher the code rate, and R1 represents the value of Qp is 10, R2 indicates that the value of Qp is 16, and the value of Qp increases by 6 each time, and R5 indicates that the value of Qp is larger, that is, the quantization step size is larger, and the code stream will become smaller, so the code rate is very low.
  • Qp Quantization Parameter
  • the fixed quantization step size technology does not take into account the influence of the reconstructed value of the previous LOD midpoint on the predictive transformation of the subsequent LOD point when the point in the subsequent LOD is predicted and transformed using the reconstructed value of the previous LOD midpoint. If the quantization step size of the layer LOD is larger, the corresponding reconstruction error will also be larger.
  • the prediction transformation technology based on the attribute information of the point will lead to the transmission of the reconstruction error, which will affect the prediction effect of the subsequent LOD midpoint and reduce the prediction effect. accuracy.
  • variable quantization step size technology does not fully consider the characteristics of the number of LOD layers and the number of LOD points in each layer.
  • the quality of the reconstructed value will affect the prediction effect of the subsequent points, resulting in a large quantization step size of the LOD of the first few layers, which cannot take into account the bit rate and encoding quality.
  • the embodiments of the present application provide a point cloud encoding method, decoding method, encoder and decoder, which can improve the prediction accuracy of attribute information of points.
  • FIG. 4 shows a schematic flowchart of a point cloud encoding method 300 according to an embodiment of the present application, and the encoding method 300 may be executed by an encoder.
  • the encoding framework 100 shown in FIG. 1 is the point cloud encoder TMC13.
  • the technical solution of the present application will be described below by taking the encoder as the execution body.
  • the encoding method 300 may include:
  • the encoder quantizes the prediction residual value based on the quantization weight of the target point and the quantization step size of the target point to obtain the quantized residual value of the attribute information of the target point, and then quantifies the residual value of the prediction.
  • the quantized residual value is encoded to obtain a code stream.
  • a quantization weight for weighting the quantization step size of the target point is introduced, and by combining the target point
  • the quantization weight of the target point and the quantization step size of the target point are quantized to the prediction residual value of the target point to obtain the quantized residual value of the attribute information of the target point, and then the quantized residual value is encoded, get the stream.
  • the quantization of the target point can be adaptively adjusted according to the importance of the target point step size, and then quantize the prediction residual value of the target point based on the adjusted quantization step size, in the process of predicting the attribute information of the point in the point cloud, the position in the coding sequence , when it is more important in prediction, it can avoid that its quantization step size is too large, and then it can avoid generating large reconstruction errors.
  • the reconstruction error can improve the prediction accuracy and the coding effect for the points located later in the coding order.
  • BDBR represents the code rate difference under the same Peak Signal to Noise Ratio (PSNR), the smaller the BDBR, the better the performance of the encoding algorithm.
  • the point cloud sequence of type A represents the point cloud of points including the color information of the point and other attribute information
  • the point cloud sequence of type B includes the point cloud of the point only including the color information of the point.
  • the BDBR average value of point cloud-like sequences can objectively and truly reflect that the performance of the encoding algorithm can be improved by introducing quantization weights.
  • the code rate decreases and the PSNR increases, which can indicate that the new method has better performance.
  • the PSNR that is, the quality of the video
  • BDBR can be used to measure the performance of the encoding algorithm.
  • other parameters can also be used to measure the performance of the encoding algorithm to characterize the changes in the bit rate and PSNR of the video obtained by the new method compared to the video obtained by the original method. This is not specifically limited.
  • BDPSNR delta peak signal-to-noise rate
  • BDPSNR the Björgyard incremental signal-to-noise power ratio ( delta peak signal-to-noise rate, BD-PSNR or BDPSNR) to measure the performance of the coding algorithm
  • BDPSNR represents the difference in PSNR under the same code rate
  • the larger the BDPSNR the better the performance of the coding algorithm.
  • the prediction value before the quantization of the prediction residual value based on the quantization weight of the target point and the quantization step size of the target point is called prediction residual.
  • difference value the prediction value after the prediction residual value is processed based on the quantization weight of the target point and before the prediction residual value is processed based on the quantization step size of the target point is called the weighted residual.
  • the quantized residual value may also be referred to as a weighted quantized residual value, or may even be simply referred to as a residual value.
  • the method 300 may further include:
  • the encoder can obtain the quantization weight of the point based on the index of the point.
  • the quantization weight of the point cloud is stored as an array, and the dimension of the array is the same as the number of points in the point cloud.
  • QuantWeight[index] represents the quantization weight whose point index is index.
  • QuantWeight[] can be understood as an array that stores the quantization weights of all points in the point cloud, and the dimension of the array is the same as that of the point.
  • the number of points in the cloud is the same, and the quantitative weight of the point can be queried through the index of the point.
  • the method 300 may further include:
  • the point cloud is divided into one or more LOD layers, and each LOD layer includes one or more points; the initial value of the quantization weight of the points in the LOD of the first M layers in the multiple LOD layers is greater than the Initial value of quantization weights for points in the remaining LODs in multiple LOD layers.
  • M is an integer greater than 0.
  • the initial value of the quantization weight of each point in the first 7 LODs is set to 512
  • the initial value of the quantization weight of each point in the remaining LODs is set to 256.
  • the quantization weights of the N nearest neighbors of the current point are updated based on the quantization weights of the current point, N is an integer greater than 0.
  • N is an integer greater than 0.
  • the influence weight of the current point on each of the N closest adjacent points is obtained, and the influence weight depends on the relationship between the current point and the N closest adjacent points Location information; based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors, updating the quantization weights of the N nearest neighbors.
  • the attribute parameter set of the point cloud includes an influence weight of the current point on each of the N closest adjacent points; by querying the attribute parameter set, the The influence weight of the current point on each of the N nearest neighbors.
  • the initial value of the quantization weight of each point in the point cloud is a preset value.
  • the specific numerical value of the initial value is not limited in the embodiments of the present application.
  • the initial value may be 256, 512 or other specific values.
  • Initializing to 256 means setting the value of the quantization weight of all points in the point cloud to 256.
  • the quantization weight of each point will be updated according to its importance in the process of predicting the attribute information of the point cloud, the more important The point whose quantization weight value is larger is.
  • the quantization weights of the N nearest neighbors are updated based on the following formula:
  • newneighborQuantWeight[i] represents the updated quantization weight of the ith nearest neighbor based on the quantization weight of the current point
  • the neighborQuantWeight[i] represents the ith nearest neighbor based on the current point.
  • the quantization weight before the quantization weight is updated QuantWeight[index-c] represents the quantization weight of the current point
  • T[i] represents the influence weight of the current point on the i-th nearest neighbor
  • k represents the influence of the current point on T[ i]*QuantWeight[index-c]
  • the value of T[i] decreases as i increases.
  • the quantization weight of the three nearest neighbors of the current point can be recorded as:
  • the quantization weights of its three nearest neighbors are updated as follows:
  • the value of k is 8. 32, 16, and 8 are the influence weights of the current point on the 1st, 2nd, and 3rd nearest neighbors, respectively.
  • the influence weight can be defined as a grammar in the attribute parameter set of the point cloud, which can be passed through the attribute
  • the parameter set sets the values that affect the weights.
  • the encoder can activate or access the attribute parameter set in the process of encoding the attribute information, and then call the value of the influence weight of the point from the attribute parameter set.
  • >> means right shift operation.
  • the embodiments of the present application do not limit the specific values of k and the influence weight, and the above numbers are only illustrative, and should not be construed as limitations on the present application.
  • the influence weights of the 1st, 2nd, and 3rd nearest neighbor points can also be changed to 64, 32, and 16, respectively.
  • the quantization weight of the current point is 256
  • the quantization weight of the nearest point 0 that is, the first nearest point
  • the result of (32 ⁇ 256)>>8 is 32, that is, the operation result is shifted to the right by 8 bits
  • the nearest point 0 is traversed, the three neighbors of the nearest point 0 are updated using the quantization weight 288.
  • attribute_parameter_set represents the attribute parameter set
  • aps_chroma_qp_offset represents the chromaticity deviation
  • weightOfNearestNeighborsInAdaptiveQuant[i] represents the influence weight of the current point on the i-th nearest neighbor, where i is 0, 1, and 2 respectively represent the current point’s 1, 2, 3 are the nearest neighbors.
  • the first nearest neighbor point represents the nearest neighbor point to the current point
  • the second nearest neighbor point represents the second nearest neighbor point to the current point, and so on.
  • the S302 may include:
  • the effective quantization weight is less than or equal to the quantization step size of the target point.
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • QuantWeight[index] represents the quantization weight of the target point
  • k represents the number of bits for the right-shift operation on the QuantWeight[index]
  • Qstep represents the quantization weight of the target point. Quantization step size.
  • the quantization weight of the target point may exceed the quantization step size.
  • the smaller value obtains an effective quantization weight, thereby ensuring that the encoder can perform a quantization operation on the prediction residual value, that is, the encoding performance of the encoder is guaranteed.
  • the value of the effective quantization weight is equal to an integer power of 2.
  • the value of the quantization weight of the target point is not equal to the integer power of 2, and based on the value of the quantization weight of the target point, the integer power of 2 that is closest to the quantization weight of the target point is determined. is the effective quantization weight.
  • the value of the quantization weight of the target point is 18, for the convenience of hardware implementation, 18 can be converted to the nearest integer power of 2, that is, 16 or 32, for example, 18 can be converted to 16, that is, 18 can be replaced is 16. Assuming that the value of the quantization weight of the target point is 30, the nearest integer power of 2 will become 32. At this time, the quantization weight of the target point will be converted to 32; for the integer power of 2,
  • the function of adaptive quantization can be realized by binary shift operation, which is convenient for hardware realization.
  • the weighted multiplication operation can be processed as a shift operation, which can improve the processing efficiency of the encoder, thereby improving the performance of the encoder.
  • the minimum value may be obtained from the quantization weight of the target point and the quantization step size of the target point, and then the integer power of 2 that is closest to the minimum value may be Determined as the effective quantization weight.
  • the effective quantization weight may also be determined in other ways, which is not specifically limited in this embodiment of the present application.
  • the quantization weight of the target point can be directly determined as the effective quantization weight of the target point.
  • the S302 may include:
  • the effective quantization weight is multiplied by the prediction residual value to obtain a weighted residual value; and the quantization step size of the target point is used to quantize the weighted residual value to obtain the quantized residual value.
  • the encoder can obtain the predicted value of the attribute information of the current point through the prediction transformation, and the real value of the attribute information of the current point is known, and then the predicted residual of the attribute information of the current point can be obtained by subtracting the predicted value from the real value. value, the prediction residual value is multiplied by the effective quantization weight to obtain the weighted prediction residual value, and the quantization step is used to quantize the weighted prediction residual value to obtain the quantized weighted prediction residual value, that is, the quantized residual value.
  • the quantized residual value is entropy encoded and written into the code stream.
  • the decoder first calculates the quantization weight of each point in the point cloud according to the reconstructed position information, determines the effective quantization weight of each point by comparing with the quantization step size, and then parses the code stream to obtain the quantization residual value of the current point, The weighted prediction residual value is obtained by inverse quantization. The weighted prediction residual value is divided by the effective quantization weight to obtain the prediction residual value.
  • the decoder determines the predicted value of the attribute information of the current point through the prediction transformation, and then based on the predicted value of the attribute information of the current point. The reconstructed value of the attribute information of the current point is obtained from the prediction residual value. After the decoder obtains the reconstructed value of the attribute information of the current point, it traverses the next point in order to decode and reconstruct.
  • the encoder multiplies the prediction residual value by the effective quantization weight for weighting; after inverse quantization, the decoder divides the inverse quantized weighted prediction residual value by the effective quantization weight to remove Weighting the effects to get the predicted residual value. It should be noted that since quantization is not lossless, the weighted prediction residual value obtained by the decoder is not necessarily equal to the weighted prediction residual value obtained by the encoder.
  • the S302 may include:
  • the prediction residual value is quantized by the following formula to obtain the quantized residual value:
  • AttrResidualQuant2 attrResidualQuant1 ⁇ effectiveQuantWeight/Qstep;
  • AttrResidualQuant2 represents the quantization residual value
  • attrResidualQuant1 represents the prediction residual value
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • Qstep represents the quantization step size of the target point.
  • the S302 may include:
  • the quantization step size of the target point is updated using the following formula:
  • effectiveQuantWeight represents the effective quantization step size of the target point
  • newQstep represents the updated quantization step size of the target point based on the effective quantization step size of the target point
  • Qstep represents the target point based on the target point
  • the effective quantization step size of the quantization step size before updating Indicates the round-up operation
  • the prediction residual value is quantized by using the updated quantization step size of the target point to obtain the quantized residual value.
  • the S301 may include:
  • the attribute information of the target point in the target point is processed to obtain the real value of the attribute information of the target point; according to the predicted value of the attribute information of the target point and the real value of the attribute information of the target point, the real value of the attribute information of the target point is obtained. Prediction residual values.
  • the encoder processes the position information of a target point in the point cloud to obtain the reconstruction information of the position information of the target point; according to the reconstruction information of the position information of the target point, the prediction of the attribute information of the target point is obtained process the attribute information of the target point in the point cloud to obtain the real value of the attribute information of the target point; according to the predicted value of the attribute information of the target point and the real value of the attribute information of the target point value to obtain the prediction residual value of the attribute information of the target point; and obtain the code stream based on the prediction residual value.
  • FIG. 5 shows a schematic flowchart of a point cloud decoding method 400 according to an embodiment of the present application, and the method 400 may be executed by a decoding end.
  • the decoding framework 200 shown in FIG. 3 is the point cloud decoder TMC13.
  • the technical solution of the present application will be described below by taking the decoder as the execution body.
  • the method 400 may include:
  • the method 400 may further include:
  • the quantization weight corresponding to the index of the target point is determined as the quantization weight of the target point.
  • the S402 may include:
  • the quantization residual value is inversely quantized by using the effective quantization weight of the target point and the quantization step size of the target point to obtain the reconstructed residual value.
  • the effective quantization weight is less than or equal to the quantization step size of the target point.
  • the effective quantization weight of the target point is determined by the following formula:
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • QuantWeight[index] represents the quantization weight of the target point
  • k represents the number of bits for the right-shift operation on the QuantWeight[index]
  • Qstep represents the quantization weight of the target point. Quantization step size.
  • the value of the effective quantization weight is equal to an integer power of 2.
  • the value of the quantization weight of the target point is not equal to the integer power of 2.
  • the quantization weight closest to the target point can be The integer power of 2 of the weight is determined as the effective quantization weight.
  • the S402 may include:
  • the reconstructed residual value is obtained by dividing the weighted residual value by the effective quantization weight.
  • the S402 may include:
  • AttrResidualQuant1 (attrResidualQuant2 ⁇ Qstep)/effectiveQuantWeight;
  • AttrResidualQuant2 represents the quantization residual value
  • attrResidualQuant1 represents the reconstruction residual value
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • Qstep represents the quantization step size of the target point.
  • the S402 may include:
  • the quantization step size of the target point is updated using the following formula:
  • effectiveQuantWeight represents the effective quantization step size of the target point
  • newQstep represents the updated quantization step size of the target point based on the effective quantization step size of the target point
  • Qstep represents the target point based on the target point
  • the quantization residual value is inversely quantized by using the updated quantization step size of the target point to obtain the reconstructed residual value.
  • the method 400 may further include:
  • the quantization weight of each of the N nearest neighbors of the target point is updated; N is an integer greater than 0.
  • the quantization weights of the N nearest neighbors of the current point are updated based on the quantization weights of the current point , where N is an integer greater than 0.
  • the initial value of the quantization weight of each point in the point cloud is a preset value.
  • the method 400 may further include:
  • each LOD layer including one or more points
  • the initial value of the quantization weight of the points in the LODs of the first M layers in the plurality of LOD layers is greater than the initial value of the quantization weight of the points in the remaining LODs in the plurality of LOD layers.
  • an influence weight of the current point on each of the N closest adjacent points is obtained, and the influence weight depends on the current point and the N closest adjacent points position information of the point; based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbor points, update the quantization weight of the N nearest neighbor points.
  • the attribute parameter set of the point cloud includes the influence weight of the current point on each of the N closest adjacent points; by querying the attribute parameter set, obtain Influence weight of the current point on each of the N nearest neighbors.
  • the quantization weights of the N nearest neighbors are updated based on the following formula:
  • newneighborQuantWeight[i] represents the updated quantization weight of the ith nearest neighbor based on the quantization weight of the current point
  • the neighborQuantWeight[i] represents the ith nearest neighbor based on the current point.
  • the quantization weight before the quantization weight is updated QuantWeight[index-c] represents the quantization weight of the current point
  • T[i] represents the influence weight of the current point on the i-th nearest neighbor
  • k represents the influence of the current point on T[ i]*QuantWeight[index-c] The number of bits to shift right.
  • the value of T[i] decreases as i increases.
  • the quantization weight of the point cloud is stored as an array, and the dimension of the array is the same as the number of points in the point cloud.
  • the method 400 may further include:
  • the code stream is analyzed to obtain the reconstruction information of the position information of the target point; according to the reconstruction information of the position information of the target point, the predicted value of the attribute information of the target point is obtained.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the present application.
  • the implementation of the embodiments constitutes no limitation.
  • FIG. 6 is a schematic block diagram of a point cloud encoder 500 provided by an embodiment of the present application.
  • the encoder 500 may include:
  • a first processing unit 501 configured to process the attribute information of the target point in the point cloud to obtain the prediction residual value of the attribute information of the target point;
  • the second processing unit 502 is configured to quantize the prediction residual value based on the quantization weight of the target point and the quantization step size of the target point to obtain a quantized residual value of the attribute information of the target point,
  • the quantization weight of the target point is the weight used when weighting the quantization step size of the target point;
  • the encoding unit 503 is configured to encode the quantized residual value to obtain a code stream.
  • the encoder 500 can also be combined with the encoding framework 100 shown in FIG. 1 , that is, the units in the encoder 500 can be replaced or combined with the relevant units in the encoding framework 100 .
  • the first processing unit 501 can be used to implement the relevant functions of the predictive transformation unit 113 in the coding framework 100, and can even be used to implement the position coding function and the function before prediction for attribute information.
  • the second processing unit 502 may be used to replace the quantization unit 115 in the encoding framework 100 .
  • the second processing unit 502 is further configured to:
  • the quantization weight corresponding to the index of the target point is determined as the quantization weight of the target point.
  • the second processing unit 502 is specifically configured to:
  • the prediction residual value is quantized by using the effective quantization weight of the target point and the quantization step size of the target point to obtain the quantized residual value.
  • the effective quantization weight is less than or equal to the quantization step size of the target point.
  • the second processing unit 502 is specifically configured to:
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • QuantWeight[index] represents the quantization weight of the target point
  • k represents the number of bits for the right-shift operation on the QuantWeight[index]
  • Qstep represents the quantization weight of the target point. Quantization step size.
  • the value of the effective quantization weight is equal to an integer power of 2.
  • the value of the effective quantization weight is not equal to an integer power of 2
  • the second processing unit 502 is specifically configured to:
  • an integer power of 2 that is closest to the quantization weight of the target point is determined as the effective quantization weight.
  • the second processing unit 502 is specifically configured to:
  • the weighted residual value is quantized by using the quantization step size of the target point to obtain the quantized residual value.
  • the second processing unit 502 is specifically configured to:
  • the prediction residual value is quantized by the following formula to obtain the quantized residual value:
  • AttrResidualQuant2 attrResidualQuant1 ⁇ effectiveQuantWeight/Qstep;
  • AttrResidualQuant2 represents the quantization residual value
  • attrResidualQuant1 represents the prediction residual value
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • Qstep represents the quantization step size of the target point.
  • the second processing unit 502 is specifically configured to:
  • the quantization step size of the target point is updated using the following formula:
  • effectiveQuantWeight represents the effective quantization step size of the target point
  • newQstep represents the updated quantization step size of the target point based on the effective quantization step size of the target point
  • Qstep represents the target point based on the target point
  • the prediction residual value is quantized by using the updated quantization step size of the target point to obtain the quantized residual value.
  • the second processing unit 502 is further configured to:
  • the quantization weights of the N nearest neighbors of the current point are updated based on the quantization weights of the current point, where N is an integer greater than 0.
  • the initial value of the quantization weight of each point in the point cloud is a preset value.
  • the first processing unit 501 is further configured to:
  • each LOD layer including one or more points
  • the initial value of the quantization weight of the points in the LODs of the first M layers in the plurality of LOD layers is greater than the initial value of the quantization weight of the points in the remaining LODs in the plurality of LOD layers.
  • the second processing unit 502 is specifically configured to:
  • the influence weight depends on the position information of the current point and the N closest adjacent points;
  • the quantization weights of the N nearest neighbors are updated based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors.
  • the attribute parameter set of the point cloud includes the influence weight of the current point on each of the N closest adjacent points; the second processing unit 502 specifically uses At:
  • the influence weight of the current point on each of the N nearest neighbor points is obtained.
  • the second processing unit 502 is specifically configured to:
  • the quantization weights of the N nearest neighbors are updated based on the following formula:
  • newneighborQuantWeight[i] represents the updated quantization weight of the ith nearest neighbor based on the quantization weight of the current point
  • the neighborQuantWeight[i] represents the ith nearest neighbor based on the current point.
  • the quantization weight before the quantization weight is updated QuantWeight[index-c] represents the quantization weight of the current point
  • T[i] represents the influence weight of the current point on the i-th nearest neighbor
  • k represents the influence of the current point on T[ i]*QuantWeight[index-c] The number of bits to shift right.
  • the value of T[i] decreases as i increases.
  • the quantization weight of the point cloud is stored as an array, and the dimension of the array is the same as the number of points in the point cloud.
  • the first processing unit 501 is specifically configured to:
  • the predicted residual value is obtained according to the predicted value of the attribute information of the target point and the real value of the attribute information of the target point.
  • FIG. 7 is a schematic block diagram of a point cloud decoder 600 provided by an embodiment of the present application.
  • the decoder 600 may include:
  • the parsing unit 601 is configured to parse the code stream of the point cloud to obtain the quantized residual value of the attribute information of the target point of the point cloud;
  • a first processing unit 602 configured to perform inverse quantization on the quantization residual value based on the quantization weight of the target point and the quantization step size of the target point, to obtain the reconstructed residual value of the attribute information of the target point,
  • the quantization weight of the target point is the weight used when weighting the quantization step size of the target point;
  • a second processing unit 603, configured to obtain a reconstructed value of the attribute information of the target point according to the reconstructed residual value and the predicted value of the attribute information of the target point;
  • the third processing unit 604 is configured to obtain a decoded point cloud according to the reconstructed value of the attribute information of the target point.
  • the decoder 600 can also be combined with the decoding framework 200 shown in FIG.
  • the parsing unit 601 can be used to implement the related functions of the predictive transformation unit 213 in the decoding framework 200 , and can even be used to implement the position decoding function and the function of the second arithmetic decoding unit 210 .
  • the first processing unit 602 and the second processing unit 603 may be used to replace the inverse quantization unit 211 in the decoding framework 200 .
  • the third processing unit 604 may be used to implement the function of the color space inverse transformation unit 215 in the decoding framework 200 .
  • the first processing unit 602 is further configured to:
  • the quantization weight corresponding to the index of the target point is determined as the quantization weight of the target point.
  • the first processing unit 602 is specifically configured to:
  • the quantization residual value is inversely quantized by using the effective quantization weight of the target point and the quantization step size of the target point to obtain the reconstructed residual value.
  • the effective quantization weight is less than or equal to the quantization step size of the target point.
  • the value of the effective quantization weight is equal to an integer power of 2.
  • the value of the effective quantization weight is not equal to an integer power of 2
  • the first processing unit 602 the first processing unit 602:
  • an integer power of 2 that is closest to the quantization weight of the target point is determined as the effective quantization weight.
  • the first processing unit 602 is specifically configured to:
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • QuantWeight[index] represents the quantization weight of the target point
  • k represents the number of bits for the right-shift operation on the QuantWeight[index]
  • Qstep represents the quantization weight of the target point. Quantization step size.
  • the first processing unit 602 is specifically configured to:
  • the reconstructed residual value is obtained by dividing the weighted residual value by the effective quantization weight.
  • the first processing unit 602 is specifically configured to:
  • AttrResidualQuant1 (attrResidualQuant2 ⁇ Qstep)/effectiveQuantWeight;
  • AttrResidualQuant2 represents the quantization residual value
  • attrResidualQuant1 represents the reconstruction residual value
  • effectiveQuantWeight represents the effective quantization weight of the target point
  • Qstep represents the quantization step size of the target point.
  • the first processing unit 602 is specifically configured to:
  • the quantization step size of the target point is updated using the following formula:
  • effectiveQuantWeight represents the effective quantization step size of the target point
  • newQstep represents the updated quantization step size of the target point based on the effective quantization step size of the target point
  • Qstep represents the target point based on the target point
  • the quantization residual value is inversely quantized by using the updated quantization step size of the target point to obtain the reconstructed residual value.
  • the first processing unit 602 is further configured to:
  • the quantization weight of each of the N nearest neighbors of the target point is updated; N is an integer greater than 0.
  • the first processing unit 602 is specifically configured to:
  • the quantization weights of the N nearest neighbors of the current point are updated based on the quantization weights of the current point, where N is an integer greater than 0.
  • the initial value of the quantization weight of each point in the point cloud is a preset value.
  • the second processing unit 603 is specifically configured to:
  • each LOD layer including one or more points
  • the initial value of the quantization weight of the points in the LODs of the first M layers in the plurality of LOD layers is greater than the initial value of the quantization weight of the points in the remaining LODs in the plurality of LOD layers.
  • the first processing unit 602 is specifically configured to:
  • the influence weight depends on the position information of the current point and the N closest adjacent points;
  • the quantization weights of the N nearest neighbors are updated based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors.
  • the attribute parameter set of the point cloud includes the influence weight of the current point on each of the N closest adjacent points; the first processing unit 602 specifically uses At:
  • the influence weight of the current point on each of the N nearest neighbor points is obtained.
  • the first processing unit 602 is specifically configured to:
  • the quantization weights of the N nearest neighbors are updated based on the following formula:
  • newneighborQuantWeight[i] represents the updated quantization weight of the ith nearest neighbor based on the quantization weight of the current point
  • the neighborQuantWeight[i] represents the ith nearest neighbor based on the current point.
  • the quantization weight before the quantization weight is updated QuantWeight[index-c] represents the quantization weight of the current point
  • T[i] represents the influence weight of the current point on the i-th nearest neighbor
  • k represents the influence of the current point on T[ i]*QuantWeight[index-c] The number of bits to shift right.
  • the value of T[i] decreases as i increases.
  • the quantization weight of the point cloud is stored as an array, and the dimension of the array is the same as the number of points in the point cloud.
  • the parsing unit 601 is specifically configured to:
  • the predicted value of the attribute information of the target point is obtained.
  • the apparatus embodiments and the method embodiments may correspond to each other, and similar descriptions may refer to the method embodiments. To avoid repetition, details are not repeated here.
  • the encoder 500 may correspond to executing the corresponding subject in the method 300 of the embodiments of the present application, and each unit in the encoder 500 is to implement the corresponding process in the method 300
  • the decoder 600 may correspond to executing The corresponding main body in the method 400 in the embodiment of the present application, and each unit in the decoder 600 are respectively to implement the corresponding process in the method 400, and are not repeated here for brevity.
  • each unit in the encoder or decoder involved in the embodiments of the present application may be respectively or all merged into one or several other units to form, or some of the unit(s) may be further split into It is composed of multiple units with smaller functions, which can realize the same operation without affecting the realization of the technical effects of the embodiments of the present application.
  • the above units are divided based on logical functions.
  • the function of one unit may also be implemented by multiple units, or the functions of multiple units may be implemented by one unit.
  • the encoder or decoder may also include other units, and in practical applications, these functions may also be implemented with the assistance of other units, and may be implemented by cooperation of 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), etc.
  • a general-purpose computer may be implemented
  • a computer program (including program code) capable of executing the steps involved in the corresponding method is run on the computer to construct the encoder or decoder involved in the embodiments of the present application, and to implement the encoding method or decoding method provided by the embodiments of the present application.
  • the computer program may be recorded on, for example, a computer-readable storage medium, and loaded on any electronic device with processing capability through the computer-readable storage medium, and executed in it, to implement the corresponding methods of the embodiments 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.
  • the steps of the method embodiments in the embodiments of the present application may be completed by hardware integrated logic circuits in the processor and/or instructions in the form of software, and the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as hardware
  • the execution of the decoding processor is completed, or the execution is completed by a combination of hardware and software in the decoding processor.
  • the software may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, and other storage media mature in the art.
  • 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. 8 is a schematic structural diagram of an electronic device 700 provided by an embodiment of the present application.
  • the electronic device 700 includes at least a processor 710 and a computer-readable storage medium 720 .
  • the processor 710 and the computer-readable storage medium 720 may be connected through a bus or other means.
  • the computer-readable storage medium 720 is used for storing a computer program 721
  • the computer program 721 includes computer instructions
  • the processor 710 is used for executing the computer instructions stored in the computer-readable storage medium 720 .
  • the processor 710 is the computing core and the control core of the electronic device 700, which is suitable for implementing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions to implement corresponding method processes or corresponding functions.
  • the processor 710 may also be referred to as a central processing unit (Central Processing Unit, CPU).
  • the processor 710 may include, but is 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, and the like.
  • the computer-readable storage medium 720 may be a high-speed RAM memory, or a non-volatile memory (Non-Volatile Memory), such as at least one disk memory; computer readable storage medium.
  • the computer-readable storage medium 720 includes, but is not limited to, volatile memory and/or non-volatile memory.
  • the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically programmable read-only memory (Erasable PROM, EPROM).
  • Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
  • RAM Random Access Memory
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDR SDRAM
  • enhanced SDRAM ESDRAM
  • synchronous link dynamic random access memory SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • the electronic device 700 may be the encoding framework 100 shown in FIG. 1 or the encoder 500 shown in FIG. 6 ; the computer-readable storage medium 720 stores first computer instructions; Load and execute the first computer instructions stored in the computer-readable storage medium 720 to implement the corresponding steps in the method embodiment of FIG. 4 ; in specific implementation, the first computer instructions in the computer-readable storage medium 720 are loaded by the processor 710 and perform corresponding steps, which are not repeated here to avoid repetition.
  • the electronic device 700 may be the decoding framework 200 shown in FIG. 3 or the decoder 600 shown in FIG. 7 ; the computer-readable storage medium 720 stores second computer instructions; Load and execute the second computer instructions stored in the computer-readable storage medium 720 to implement the corresponding steps in the method embodiment shown in FIG. 5; in specific implementation, the second computer instructions in the computer-readable storage medium 720 are executed by the processor 710 Load and execute corresponding steps, which are not repeated here to avoid repetition.
  • an embodiment of the present application further provides a computer-readable storage medium (Memory), where the computer-readable storage medium is a memory device in the electronic device 700 for storing programs and data.
  • computer readable storage medium 720 may include both a built-in storage medium in the electronic device 700 , and certainly also an extended storage medium supported by the electronic device 700 .
  • the computer-readable storage medium provides storage space in which the operating system of the electronic device 700 is stored.
  • one or more computer instructions suitable for being loaded and executed by the processor 710 are also stored in the storage space, and these computer instructions may be one or more computer programs 721 (including program codes).
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the electronic device 700 may be a computer, the processor 710 reads the computer instructions from the computer-readable storage medium 720, and the processor 710 executes the computer instructions, so that the computer executes the encoding method provided in the above-mentioned various optional manners or decoding method.
  • the computer program product includes one or more computer instructions.
  • the computer may 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, the computer instructions may be transmitted from a website site, computer, server or data center via Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, digital subscriber line, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means.
  • wired eg, coaxial cable, optical fiber, digital subscriber line, DSL
  • wireless eg, infrared, wireless, microwave, etc.

Landscapes

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

Abstract

本申请实施例提供了一种点云的编码方法、解码方法、编码器以及解码器。编码方法包括:对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;对所述量化残差值进行编码,得到码流。本申请提供的方案中,通过引入目标点的量化权重,相当于基于所述目标点的量化权重对所述目标点的量化步长进行了修正,能够提升其预测的准确性。

Description

点云的编码方法、解码方法、编码器以及解码器 技术领域
本申请实施例涉及点云编解码领域,并且更具体地,涉及点云的编码方法、解码方法、编码器以及解码器。
背景技术
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息系统、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和颜色信息。具体而言,先通过对点云的位置信息进行八叉树编码;同时,根据八叉树编码后的位置信息对其颜色信息进行预测,再通过与原始颜色信息进行做差的方式来编码颜色信息,以实现对点云的编码。
截止目前,在对颜色信息进行预测的过程中,如何提升预测效果是本领域急需解决的技术问题。
发明内容
本申请实施例提供一种点云的编码方法、解码方法、编码器以及解码器,能够提升点的属性信息的预测准确性。
一方面,提供了一种点云的编码方法,包括:
对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
对所述量化残差值进行编码,得到码流。
另一方面,提供了一种点云的解码方法,包括:
对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
根据所述预测残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
根据所述目标点的属性信息的重建值,得到解码点云。
另一方面,提供了一种点云的编码器,包括:
第一处理单元,用于对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
第二处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
编码单元,用于对所述量化残差值进行编码,得到码流。
另一方面,提供了一种点云的解码器,包括:
解析单元,用于对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
第一处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权 重为对所述目标点的量化步长进行加权时采用的权重;
第二处理单元,用于根据所述预测残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
第三处理单元,用于根据所述目标点的属性信息的重建值,得到解码点云。
另一方面,本申请实施例提供一种点云媒体的数据处理设备,该点云媒体的数据处理设备包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述的点云媒体的数据处理方法。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述的点云媒体的数据处理方法。
本申请提供的方案中,在对所述点云中的点的属性信息进行预测的过程中,引入了用于表征所述目标点的重要程度的参数,即所述目标点的量化权重,通过结合所述目标点的量化权重和所述目标点的量化步长对所述目标点的预测残差值进行量化,得到所述目标点的属性信息的量化残差值,进而对所述量化残差值进行编码,得到码流。通过引入目标点的量化权重,相当于基于所述目标点的量化权重对所述目标点的量化步长进行了修正,即根据所述目标点的重要程度可自适应调整所述目标点的的量化步长,进而基于调整后的量化步长对所述目标点的预测残差值进行量化,在对所述点云中的点的属性信息进行预测的过程中,针对在编码顺序中位置靠前的点,当其在预测中比较重要时,能够避免其量化步长过大,进而能够避免产生较大的重建误差,相当于,量化权重高的点采用较小的量化步长量化以降低其重建误差,针对在编码顺序中位置靠后的点,能够提升其预测准确性。
附图说明
图1是本申请实施例提供的编码框架的示意性框图。
图2是本申请实施例提供的LOD层的示意性框图。
图3是本申请实施例提供的解码框架的示意性框图。
图4是本申请实施例提供的编码方法的示意性流程图。
图5是本申请实施例提供的解码方法的示意性流程图。
图6是本申请实施例提供的编码器的示意性框图。
[根据细则91更正 12.01.2021] 
图7是本申请实施例提供的解码器的示意性框图。
[根据细则91更正 12.01.2021] 
图8是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面对点云相关的概念进行说明。
点云(Point Cloud)是空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。
点云数据(Point Cloud Data)是点云的具体记录形式,点云中每个点的点云数据可以包括几何信息和属性信息,其中,点云中每个点的几何信息是指该点的笛卡尔三维坐标数据,点云中每个点的属性信息可以包括但不限于以下至少一种:色彩信息、材质信息、激光反射强度信息。色彩信息可以是任意一种色彩空间上的信息。例如,色彩信息可以是红绿蓝(Red Green Blue,RGB)信息。再如,色彩信息还可以是亮度色度(YcbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色,U和V表示为色度(Chroma),色度用于描述色差信息。
点云中的每个点都具有相同数量的属性信息。例如,点云中的每个点都具有色彩信息和激光反射强度两种属性信息。再如,点云中的每个点都具有色彩信息、材质信息和 激光反射强度信息三种属性信息。在点云媒体的封装过程中,点的几何信息也可称为点云媒体的几何分量或几何成分(Geometry Component),点的属性信息也可称为点云媒体的属性分量或属性成分(Attribute Component)。点云媒体可包括一个几何成分以及一个或多个属性成分。
基于应用场景可以将点云划分为两大类别,即机器感知点云和人眼感知点云。机器感知点云的应用场景包括但不限于:自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等点云应用场景。人眼感知点云的应用场景包括但不限于:数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。点云的获取途径包括但不限于:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云。3D扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云。3D摄像可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。具体而言,可通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云。根据激光测量原理得到的点云,其可以包括点的三维坐标信息和点的激光反射强度(reflectance)。根据摄影测量原理得到的点云,其可以可包括点的三维坐标信息和点的色彩信息。结合激光测量和摄影测量原理得到点云,其可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的色彩信息。相应的,也可基于点云的获取途径将点云划分为三种类型的点云,即第一静态点云、第二类动态点云以及第三类动态获取点云。针对第一静态点云,物体是静止的,且获取点云的设备也是静止的;针对第二类动态点云,物体是运动的,但获取点云的设备是静止的;针对第三类动态获取点云,获取点云的设备是运动的。
例如,在医学领域,由磁共振成像(magnetic resonance imaging,MRI)、计算机断层摄影(computed tomography,CT)、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云的获取成本和时间周期,提高了数据的精度。点云的获取方式的变革,使大量点云的获取成为可能。伴随着大规模的点云不断积累,点云的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
点云数据可用于形成点云媒体,点云媒体可以是一个媒体文件。点云媒体可包括多个媒体帧,点云媒体中的每个媒体帧由点云数据组成。点云媒体可以灵活方便地表达三维物体或三维场景的空间结构及表面属性,因此被广泛应用。对点云媒体进行编码后,再对编码后的码流进行封装可形成封装文件,封装文件可用于传输给用户。相对应的,在点云媒体播放器端,需要先对封装文件进行解封装,然后再进行解码,最后对解码后的数据流进行呈现。封装文件也可称为点云文件。
截止目前,可通过点云编码框架对点云进行编码。
点云编码框架可以是运动图象专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。下面以G-PCC编解码框架对本申请实施例可适用的编解码框架进行说明。
图1是本申请实施例提供的编码框架100的示意性框图。
如图1所示,编码框架100可以从采集设备获取点云的位置信息和属性信息。点云的编码包括位置编码和属性编码。在一个实施例中,位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性 码流。
如图1所示,位置编码可通过以下单元实现:
坐标变换(Tanmsform coordinates)单元101、量化和移除重复点(Quantize and remove points)单元102、八叉树分析(Analyze octree)单元103、几何重建(Reconstruct geometry)单元104以及第一算术编码(Arithmetic enconde)单元105。
坐标变换单元101可用于将点云中点的世界坐标变换为相对坐标。例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标变换为相对坐标。量化和移除重复点单元102可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性变换合并到一个云中。在本申请的一些实施例中,量化和移除重复点单元102为可选的单元模块。八叉树分析单元103可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。第一算术编码单元105可以采用熵编码方式对八叉树分析单元103输出的位置信息进行算术编码,即将八叉树分析单元103输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
颜色空间变换(Transform colors)单元110、属性变换(Transfer attributes)单元111、区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)单元112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114、量化(Quantize)单元115以及第二算术编码单元116。
颜色空间变换单元110可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。属性变换单元111可用于变换点云中点的属性信息,以最小化属性失真。例如,属性变换单元111可用于得到点的属性信息的真实值。例如,所述属性信息可以是点的颜色信息。经过属性变换单元111变换得到点的属性信息的真实值后,可选择任一种预测单元,对点云中的点进行预测。用于对点云中的点进行预测的单元可包括:RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114中的至少一项。换言之,RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而可基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的真实值减去点的属性信息的预测值。
预测变换单元113还可用于生成细节层(level of detail,LOD),对LOD中点的属性信息依次进行预测,计算得到预测残差以便后续进行量化编码。具体地,对LOD中的每一个点,在其前面的LOD中找到3个距离最近的邻居点,然后利用3个邻居点的重建值对当前点进行预测,得到预测值;基于此,可基于当前点的预测值和当前点的真实值得到当前点的残差值。例如,可基于下述方公式确定残差值:
attrResidualQuant=(attrValue-attrPred)/Qstep;
其中,attrResidualQuant表示当前点的残差值,attrPred表示当前点的预测值,attrValue表示当前点的真实值,Qstep表示量化步长。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
当前点将会作为后续点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。当前点的属性信息的重建值可通过以下公式得到:
reconstructedColor=attrResidualQuant×Qstep+attrPred
其中,reconstructedColor表示当前点的重建值,attrResidualQuant表示当前点的残差 值,Qstep表示量化步长,attrPred表示当前点的预测值。其中,Qstep由量化参数(Quantization Parameter,Qp)计算得到。
LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的LOD层。在一个实施例中,可以将欧式距离进行排序后,将不同范围的欧式距离划分为不同的LOD层。例如,可以随机挑选一个点,作为第一LOD层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二LOD层。获取第二LOD层中点的质心,计算除第一、第二LOD层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三LOD层。以此类推,将所有的点都归到LOD层中。通过调整欧式距离的阈值,可以使得每层LOD的点的数量是递增的。应理解,LOD层划分的方式还可以采用其它方式,本申请对此不进行限制。需要说明的是,可以直接将点云划分为一个或多个LOD层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个LOD层,每个LOD层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行LOD层的划分。
图2是本申请实施例提供的LOD层的示意性框图。
如图2所示,假设点云包括按照原始顺序(original order)排列的多个点,即P0,P1,P2,P3,P4,P5,P6,P7,P8以及P9,假设可基于点与点之间的欧式距离可将点云划分为3个LOD层,即LOD0、LOD1以及LOD2。其中,LOD0可包括P0,P5,P4以及P2,LOD2可包括P1,P6以及P3,LOD3可包括P9,P8以及P7。此时,LOD0、LOD1以及LOD2可用于形成该点云的基于LOD的顺序(LOD-based order),即P0,P5,P4,P2,P1,P6,P3,P9,P8以及P7。所述基于LOD的顺序可作为该点云的编码顺序。
量化单元115可用于量化点的属性信息的残差值。例如,若所述量化单元115和所述预测变换单元113相连,则所述量化单元可用于量化所述预测变换单元113输出的点的属性信息的残差值。例如,对预测变换单元113输出的点的属性信息的残差值使用量化步长进行量化,以实现提升系统性能。第二算术编码单元116可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息
应当理解,本申请实施例中,点云中点的属性信息的预测值(predictedvalue)也可称为LOD模式下的颜色预测值(predictedColor)。点的属性信息的真实值减去点的属性信息的预测值可得到点的残差值(residualvalue)。点的属性信息的残差值也可称为LOD模式下的颜色残差值(residualColor)。点的属性信息的预测值和点的属性信息的残差值相加可生成点的属性信息的重建值(reconstructedvalue)。点的属性信息的重建值也可称为LOD模式下的颜色重建值(reconstructedColor)。
图3是本申请实施例提供的解码框架200的示意性框图。
如图3所示,解码框架200可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
在一个实施例中,位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反变换,以得到解码点云。
如图3所示,位置解码可通过以下单元实现:第一算数解码单元201、八叉树分析(synthesize octree)单元202、几何重建(Reconstruct geometry)单元203以及坐标反变化(inverse transform coordinates)单元204。属性编码可通过以下单元实现:第二算数解码单元210、反量化(inverse quantize)单元211、RAHT单元212、预测变化(predicting transform)单元213、提升变化(lifting transform)单元214以及颜色空间反变换(inverse trasform colors)单元215。
需要说明的是,解压缩是压缩的逆过程,类似的,解码框架200中的各个单元的功能可参见编码框架100中相应的单元的功能。例如,解码框架200可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于零的数量对残差进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LOD中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。此外,关于反变换(transform)和反量化(scale/scaling),对于正交变换,如果将其中的一个矩阵用于变换,则另一个矩阵用于反变换。对于解码方法,可将解码器中使用的矩阵称为“变换”(transform)矩阵。
在上述编码框架100中,量化单元115可通过固定量化步长技术或可变量化步长技术对预测变换单元113输出的点的属性信息的预测残差值使用量化步长进行量化。固定量化步长技术中对所有LOD中点的预测残差值采用固定量化步长去量化,针对可变量化步长技术,可基于LOD的分层量化技术,为每层LOD设置一个量化参数的增量与属性参数集提供的量化参数叠加,以获得每层LOD的有效量化参数,其具体的量化参数的增量设置如下述表1所示:
表1 量化参数的增量设置表
Figure PCTCN2020138421-appb-000001
如表2所示,LOD0至LOD14表示不同的LOD,R1至R5表示不同的码率,即不同的量化参数(Quantization Parameter,Qp),Qp的值越大码率越高,R1表示Qp的值为10,R2表示Qp的值为16,每次Qp的值增加6,R5表示Qp的值较大,即量化步长较大,码流会变小,因此码率很低。
通过以上分析可见,固定量化步长技术和可变量化步长技术的预测准确性均有待提高。固定量化步长技术没有考虑到后续LOD中的点在利用前面LOD中点的重建值进行预测变换时,前面LOD中点的重建值对后续LOD中的点的预测变换产生的影响,如果 前几层LOD的量化步长较大,则其对应的重建误差也会较大,根据点的属性信息的预测变换技术,会导致重建误差传递,进而影响到后续LOD中点的预测效果,降低了预测的准确性。此外,可变量化步长技术中未充分考虑LOD层数及每层LOD点数的特性,机械地采用步进的方式设置每层LOD的量化参数的增量,未考虑到前几层LOD点的重建值的质量会对后续点的预测效果的影响,导致前几层LOD的量化步长较大,不能很好地兼顾码率和编码质量。
本申请实施例提供一种点云的编码方法、解码方法、编码器以及解码器,能够提升点的属性信息的预测准确性。
图4示出了根据本申请实施例的点云的编码方法300的示意性流程图,所述编码方法300可以由编码器执行。例如,图1所示的编码框架100,即点云编码器TMC13。为便于说明,下面以编码器为执行主体对本申请的技术方案进行说明。
如图4所示,所述编码方法300可包括:
S301,对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
S302,基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
S303,对所述量化残差值进行编码,得到码流。
简言之,编码器基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,进而对所述量化残差值进行编码,得到码流。
本申请提供的方案中,在对所述点云中的点的属性信息进行预测的过程中,引入了用于对所述目标点的量化步长进行加权的量化权重,通过结合所述目标点的量化权重和所述目标点的量化步长对所述目标点的预测残差值进行量化,得到所述目标点的属性信息的量化残差值,进而对所述量化残差值进行编码,得到码流。通过引入目标点的量化权重,相当于基于所述目标点的量化权重对所述目标点的量化步长进行了修正,即根据所述目标点的重要程度可自适应调整所述目标点的量化步长,进而基于调整后的量化步长对所述目标点的预测残差值进行量化,在对所述点云中的点的属性信息进行预测的过程中,针对在编码顺序中位置靠前的点,当其在预测中比较重要时,能够避免其量化步长过大,进而能够避免产生较大的重建误差,相当于,量化权重高的点采用较小的量化步长量化以降低其重建误差,针对在编码顺序中位置靠后的点,能够提升其预测准确性,提升编码效果。
基于本申请提供的技术方案,在G-PCC参考软件TMC13 V11.0上进行了测试,在CTC CY测试条件下对运动图象专家组(Moving Picture Experts Group)要求的部分测试序列进行测试,测试结果如下述表2所示,下面结合表2对性能提升效果进行说明。
表2
测试序列 亮度 色度(蓝色色差) 色度(红色色差)
A类点云序列 -10.5% -20.5% -21.6%
B类点云序列 -4.3% -10.9% -11.5%
A类、B类点云序列的平均值 -7.2% -15.5% -16.3%
如表2所示,采用本申请实施例的方案,“-”代表比约加德增量比特率(
Figure PCTCN2020138421-appb-000002
delta bit rate,BD-BitRate、BD-BR或BDBR)下降,BDBR代表相同峰值信噪比(Peak Signal to Noise Ratio,PSNR)下的码率差异,BDBR越小表示编码算法的性能越好。如表2所示,A类点云序列表示包括点的颜色信息和其他属性信息的点的点云,B类点云序列包括仅包括点的颜色信息的点的点云,通过A类、B类点云序列的BDBR平均值,能够客观真实的反映通过引入量化权重能够提升编码算法的性能。
需要说明的是,一般来说,码率降低,PSNR增大,能够说明新方法具有较好的性能。然而,会出现这样一种情况,即码率相对于原来的方法有所降低,但是PSNR即视频的质量却降低了,在这种情况下,可以采用BDBR衡量编码算法的性能。当然,在视频处理过程中,也可利用其他参数来衡量编码算法的性能,以表征利用新方法得到的视频相对于原来的方法得到的视频在码率和PSNR上的变化情况,本申请实施例对此不作具体限定。例如,也可采用比约加德增量信号噪音功率比(
Figure PCTCN2020138421-appb-000003
delta peak signal-to-noise rate,BD-PSNR或BDPSNR)来衡量编码算法的性能,BDPSNR代表相同码率下的PSNR的差异,BDPSNR越大表示编码算法的性能越好。
需要说明的是,本申请实施例中,为了便于描述,将基于所述目标点的量化权重和所述目标点的量化步长对所述预测残差值进行量化之前的预测值称为预测残差值,将基于所述目标点的量化权重对所述预测残差值进行处理后且基于所述目标点的量化步长对所述预测残差值进行处理前的预测值称为加权残差值,将基于所述目标点的量化权重和所述目标点的量化步长对所述预测残差值进行量化后的预测值称为量化残差值。当然,上述命名方式仅为本申请的示例,不应理解为对本申请的限制。在本申请的可替代实施例中,所述量化残差值也可称为加权量化残差值,甚至可以直接简称为残差值。
在本申请的一些实施例中,所述方法300还可包括:
确定所述目标点的索引;将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
简言之,编码器可基于点的索引获取点的量化权重。
可选的,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。例如,QuantWeight[index]表示点索引为index的量化权重,此时,QuantWeight[]可以理解为是存储了所述点云中的所有点的量化权重的数组,所述数组的维度与所述点云中点的个数一致,通过点的索引便可以查询到点的量化权重。
在本申请的一些实施例中,所述方法300还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。M为大于0的整数。例如,前7层LOD中每个点的量化权重的初始值设为512,其余LOD中每个点的量化权重的初始值设为256。
在一种实现方式中,按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。例如,针对目标点而言,基于所述目标点的量化权重,更新所述目标点的N个最邻近点中的每一个最邻近点的量化权重;N为大于0的整数。在一种实现方式中,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。在一种实现方式中,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
可选的,所述点云中的每一个点的量化权重的初始值为预设值。
需要说明的是,本申请实施例对初始值的具体数值不作限定。作为示例,所述初始值可以是256、512或其他具体数值。初始化为256就是将所述点云中所有点的量化权重的值都设为256。
编码器在倒序遍历完所述点云中的每个点后,每个点的量化权重会根据其在对所述点云的点的属性信息进行预测的过程中的重要性得到更新,越重要的点其量化权重数值越大。
在一种实现方式中,基于以下公式更新所述N个最邻近点的量化权重:
newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。可选的,T[i]的值随i的增大而减小。
例如,假设所述点云中的所有点的量化权重的初始值设为256,然后按编码顺序的倒序遍历每个点更新其三个最邻近点的量化权重,假设当前遍历到的点索引为index,当前点三个最邻近点的索引分别为indexN1,indexN2,indexN3,则当前点三个最邻近点的量化权重可以记为:
neighborQuantWeight[0]=QuantWeight[indexN1];
neighborQuantWeight[1]=QuantWeight[indexN2];
neighborQuantWeight[2]=QuantWeight[indexN3]。
利用当前点的量化权重按照以下方式对其三个最邻近点的量化权重进行更新:
newneighborQuantWeight[0]=neighborQuantWeight[0]+(32×QuantWeight[index])>>k;
newneighborQuantWeight[1]=neighborQuantWeight[1]+(16×QuantWeight[index])>>k;
newneighborQuantWeight[2]=neighborQuantWeight[2]+(8×QuantWeight[index])>>k。
其中,k的值为8。32、16、8分别为当前点对第1、2、3最邻近点的影响权重,该影响权重可作为语法定义在点云的属性参数集中,即可通过属性参数集设置影响权重的值。编码器在编码属性信息的过程中可激活或访问所述属性参数集,继而从所述属性参数集中调用点的影响权重的值。>>表示右移运算。当然,本申请实施例对k以及影响权重的具体取值不作限定,上述数字仅为示例性说明,不应理解为对本申请的限制。例如,在本申请的可替代实施例中,还可以将第1、2、3最邻近点的影响权重分别改为64、32、16。假设当前点的量化权重为256,最邻近点0(即第1最邻近点)的量化权重也为256,(32×256)>>8的结果为32,即运算结果右移了8位,此时,最邻近点0的量化权重便更新为256+32=288,此结果可同时保存在包含了点云的所有点的量化权重的数组QuantWeight[]中,当遍历到最邻近点0时,便使用量化权重288对最邻近点0的三个邻居进行更新。
下面结合表3对属性参数集的语法进行介绍。
表3 属性参数集
Figure PCTCN2020138421-appb-000004
如表3所示,attribute_parameter_set表示属性参数集,aps_chroma_qp_offset表示色度偏差,weightOfNearestNeighborsInAdaptiveQuant[i]表示当前点对第i最邻近点的影响权重,其中,i为0、1、2分别表示当前点的第1、2、3最邻近点。具体而言,第1最邻近点表示距离当前点最近的邻居点,第2最邻近点表示距离当前点第2近的邻居点,以此类推。
在本申请的一些实施例中,所述S302可包括:
基于目标点的量化权重确定所述目标点的有效量化权重;利用所述目标点的有效量 化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值。
可选的,所述有效量化权重小于或等于所述目标点的量化步长。
可选的,利用以下公式确定所述目标点的有效量化权重:
effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
本申请实施例中,当所述目标点的量化步长设置较小时,所述目标点的的量化权重可能会超过量化步长,此时,需要对量化权重和量化步长取二者中的较小值得到有效量化权重,由此,保证编码器能够对预测残差值进行量化操作,即保证编码器的编码性能。
可选的,所述有效量化权重的数值等于2的整数次幂。
可选的,所述目标点的量化权重的数值不等于2的整数次幂,基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
例如,假设所述目标点的量化权重的值为18,为了方便硬件实现,可以将18转换为距离其最近的2的整数次幂,即16或者32,例如将18转换为16,即将18替换为16。假设所述目标点的量化权重的值为30,距离其最近的2的整数次幂将变为了32,此时,所述目标点的量化权重将会转换为32;针对2的整数次幂,通过二进制移位操作即可实现自适应量化的功能,便于硬件实现。
本申请实施例中,通过将所述有效量化权重的数值构造为2的整数次幂,可将加权的乘法运算处理为移位运算,能够提升编码器的处理效率,进而提升编码器的性能。
需要说明的是,本申请的其他可替代实施例中,可以先在目标点的量化权重和目标点的量化步长中取最小值,然后将最接近所述最小值的2的整数次幂,确定为所述有效量化权重。当然,也可以通过其他方式确定有效量化权重,本申请实施例对此不作具体限定。例如可直接将所述目标点的量化权重确定为所述目标点的有效量化权重。
在本申请的一些实施例中,所述S302可包括:
利用所述有效量化权重乘以所述预测残差值,得到加权残差值;利用所述目标点的量化步长对所述加权残差值进行量化,得到所述量化残差值。
具体来说,编码器通过预测变换可以得到当前点的属性信息的预测值,已知当前点的属性信息的真实值,则通过真实值减去预测值可得到当前点的属性信息的预测残差值,预测残差值乘以有效量化权重得到加权预测残差值,利用量化步长对加权预测残差值进行量化,可以得到量化加权预测残差值,即量化残差值,随后对当前点的量化残差值进行熵编码写进码流。
对应的,解码器首先根据重建的位置信息计算点云中每个点的量化权重,通过与量化步长比较确定每个点的有效量化权重,然后解析码流得到当前点的量化残差值,反量化得到加权预测残差值,加权预测残差值除以有效量化权重得到预测残差值,解码器通过预测变换确定当前点的属性信息的预测值,随后基于当前点的属性信息的预测值和预测残差值得到当前点的属性信息的重建值,解码器获取当前点的属性信息的重建值后,按顺序遍历下一个点进行解码和重建。
综上,本申请实施例中,编码器在量化前,对预测残差值乘以有效量化权重进行加权;解码器在反量化后,对反量化的加权预测残差值除以有效量化权重去除加权影响,得到预测残差值。需要说明的是,由于量化不是无损的,因此解码器得到的加权预测残差值不一定等于编码器得到的加权预测残差值。
在本申请的一些实施例中,所述S302可包括:
利用以下公式对所述预测残差值进行量化,得到所述量化残差值:
attrResidualQuant2=attrResidualQuant1×effectiveQuantWeight/Qstep;
其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述预测残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述S302可包括:
利用以下公式更新所述目标点的量化步长:
Figure PCTCN2020138421-appb-000005
其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
Figure PCTCN2020138421-appb-000006
表示向上取整运算;
利用所述目标点的更新后的量化步长对所述预测残差值进行量化,得到所述量化残差值。
在本申请的一些实施例中,所述S301可包括::
对所述目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述预测残差值。
编码器对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的预测残差值;基于所述预测残差值得到所述码流。
图5示出了根据本申请实施例的点云的解码方法400的示意性流程图,所述方法400可以由解码端执行。例如,图3所示的解码框架200,即点云解码器TMC13。为便于说明,下面以解码器为执行主体对本申请的技术方案进行说明。
如图5所示,所述方法400可包括:
S401,对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
S402,基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
S403,根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
S404,根据所述目标点的属性信息的重建值,得到解码点云。
在本申请的一些实施例中,所述方法400还可包括:
确定所述目标点的索引;
将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
在本申请的一些实施例中,所述S402可包括:
基于目标点的量化权重确定所述目标点的有效量化权重;
利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
在本申请的一些实施例中,所述有效量化权重小于或等于所述目标点的量化步长。
在本申请的一些实施例中,利用以下公式确定所述目标点的有效量化权重:
effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述有效量化权重的数值等于2的整数次幂。
在本申请的一些实施例中,所述目标点的量化权重的数值不等于2的整数次幂,此时,可基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
在本申请的一些实施例中,所述S402可包括:
利用所述目标点的量化步长对所述量化残差值进行反量化,得到加权残差值;
利用所述加权残差值除以所述有效量化权重,得到所述重建残差值。
在本申请的一些实施例中,所述S402可包括:
利用以下公式对所述量化残差值进行反量化,得到所述重建残差值:
attrResidualQuant1=(attrResidualQuant2×Qstep)/effectiveQuantWeight;
其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述重建残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述S402可包括:
利用以下公式更新所述目标点的量化步长:
Figure PCTCN2020138421-appb-000007
其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
利用所述目标点的更新后的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
在本申请的一些实施例中,所述方法400还可包括:
基于所述目标点的量化权重,更新所述目标点的N个最邻近点中的每一个最邻近点的量化权重;N为大于0的整数。
在本申请的一些实施例中,按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
在本申请的一些实施例中,所述点云中的每一个点的量化权重的初始值为预设值。
在本申请的一些实施例中,所述方法400还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
在本申请的一些实施例中,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
在本申请的一些实施例中,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
在本申请的一些实施例中,基于以下公式更新所述N个最邻近点的量化权重:
newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。
在本申请的一些实施例中,T[i]的值随i的增大而减小。
在本申请的一些实施例中,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
在本申请的一些实施例中,所述方法400还可包括:
对所述码流进行解析,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下面将结合附图对本申请实施例提供的点云的编码器或解码器进行说明。
图6是本申请实施例提供的点云的编码器500的示意性框图。
如图6所示,所述编码器500可包括:
第一处理单元501,用于对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
第二处理单元502,用于基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
编码单元503,用于对所述量化残差值进行编码,得到码流。
需要说明的是,所述编码器500也可以结合至图1所示的编码框架100,即可将所述编码器500中的单元替换或结合至编码框架100中的相关单元。例如,所述第一处理单元501可用于实现编码框架100中的预测变换单元113的相关功能,甚至可用于实现位置编码功能以及针对属性信息进行预测之前的功能。再如,所述第二处理单元502可用于替换所述编码框架100中的量化单元115。
在本申请的一些实施例中,所述第二处理单元502还用于:
确定所述目标点的索引;
将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
在本申请的一些实施例中,所述第二处理单元502具体用于:
基于目标点的量化权重确定所述目标点的有效量化权重;
利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值。
在本申请的一些实施例中,所述有效量化权重小于或等于所述目标点的量化步长。
在本申请的一些实施例中,所述第二处理单元502具体用于:
利用以下公式确定所述目标点的有效量化权重:
effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述有效量化权重的数值等于2的整数次幂。
在本申请的一些实施例中,所述有效量化权重的数值不等于2的整数次幂,所述第二处理单元502具体用于:
基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次 幂,确定为所述有效量化权重。
在本申请的一些实施例中,所述第二处理单元502具体用于:
利用所述有效量化权重乘以所述预测残差值,得到加权残差值;
利用所述目标点的量化步长对所述加权残差值进行量化,得到所述量化残差值。
在本申请的一些实施例中,所述第二处理单元502具体用于:
利用以下公式对所述预测残差值进行量化,得到所述量化残差值:
attrResidualQuant2=attrResidualQuant1×effectiveQuantWeight/Qstep;
其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述预测残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述第二处理单元502具体用于:
利用以下公式更新所述目标点的量化步长:
Figure PCTCN2020138421-appb-000008
其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
利用所述目标点的更新后的量化步长对所述预测残差值进行量化,得到所述量化残差值。
在本申请的一些实施例中,所述第二处理单元502还用于:
按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
在本申请的一些实施例中,所述点云中的每一个点的量化权重的初始值为预设值。
在本申请的一些实施例中,所述第一处理单元501还用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
在本申请的一些实施例中,所述第二处理单元502具体用于:
获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;
基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
在本申请的一些实施例中,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述第二处理单元502具体用于:
通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
在本申请的一些实施例中,所述第二处理单元502具体用于:
基于以下公式更新所述N个最邻近点的量化权重:
newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。
在本申请的一些实施例中,T[i]的值随i的增大而减小。
在本申请的一些实施例中,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
在本申请的一些实施例中,所述第一处理单元501具体用于:
对所述目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述预测残差值。
图7是本申请实施例提供的点云的解码器600的示意性框图。
如图7所示,所述解码器600可包括:
解析单元601,用于对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
第一处理单元602,用于基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
第二处理单元603,用于根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
第三处理单元604,用于根据所述目标点的属性信息的重建值,得到解码点云。
需要说明的是,所述解码器600也可以结合至图3所示的解码框架200,即可将所述解码器600中的单元替换或结合至解码框架200中的相关单元。例如,所述解析单元601可用于实现解码框架200中的预测变换单元213的相关功能,甚至可用于实现位置解码功能以及第二算数解码单元210的功能。再如,所述第一处理单元602和所述第二处理单元603可用于替换所述解码框架200中的反量化单元211。再如,所述第三处理单元604可用于实现所述解码框架200中的颜色空间反变换单元215的功能。
在本申请的一些实施例中,所述第一处理单元602还用于:
确定所述目标点的索引;
将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
在本申请的一些实施例中,所述第一处理单元602具体用于:
基于目标点的量化权重确定所述目标点的有效量化权重;
利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
在本申请的一些实施例中,所述有效量化权重小于或等于所述目标点的量化步长。
在本申请的一些实施例中,所述有效量化权重的数值等于2的整数次幂。
在本申请的一些实施例中,所述有效量化权重的数值不等于2的整数次幂,所述第一处理单元602:
基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
在本申请的一些实施例中,所述第一处理单元602具体用于:
利用以下公式确定所述目标点的有效量化权重:
effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述第一处理单元602具体用于:
利用所述目标点的量化步长对所述量化残差值进行反量化,得到加权残差值;
利用所述加权残差值除以所述有效量化权重,得到所述重建残差值。
在本申请的一些实施例中,所述第一处理单元602具体用于:
利用以下公式对所述量化残差值进行反量化,得到所述重建残差值:
attrResidualQuant1=(attrResidualQuant2×Qstep)/effectiveQuantWeight;
其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述重建残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
在本申请的一些实施例中,所述第一处理单元602具体用于:
利用以下公式更新所述目标点的量化步长:
Figure PCTCN2020138421-appb-000009
其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
利用所述目标点的更新后的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
在本申请的一些实施例中,所述第一处理单元602还用于:
基于所述目标点的量化权重,更新所述目标点的N个最邻近点中的每一个最邻近点的量化权重;N为大于0的整数。
在本申请的一些实施例中,所述第一处理单元602具体用于:
按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
在本申请的一些实施例中,所述点云中的每一个点的量化权重的初始值为预设值。
在本申请的一些实施例中,所述第二处理单元603具体用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
在本申请的一些实施例中,所述第一处理单元602具体用于:
获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;
基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
在本申请的一些实施例中,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述第一处理单元602具体用于:
通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
在本申请的一些实施例中,所述第一处理单元602具体用于:
基于以下公式更新所述N个最邻近点的量化权重:
newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。
在本申请的一些实施例中,T[i]的值随i的增大而减小。
在本申请的一些实施例中,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
在本申请的一些实施例中,所述解析单元601具体用于:
对所述码流进行解析,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,编码器500可以对应于执行本申请实施例的方法300中的相应主体,并且编码器500中的各个单元分别为了实现方法300中的相应流程,类似的,解码器600可以对应于执行本申请实施例的方法400中的相应主体,并且解码器600中的各个单元分别为了实现方法400中的相应流程,为了简洁,在此不再赘述。
还应当理解,本申请实施例涉及的编码器或解码器中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。换言之,上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。当然,在本申请的其它实施例中,该编码器或解码器也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的编码器或解码器,以及来实现本申请实施例提供的编码方法或解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于任意具有处理能力的电子设备,并在其中运行,来实现本申请实施例的相应方法。换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图8是本申请实施例提供的电子设备700的示意结构图。
如图8所示,该电子设备700至少包括处理器710以及计算机可读存储介质720。其中,处理器710以及计算机可读存储介质720可通过总线或者其它方式连接。计算机可读存储介质720用于存储计算机程序721,计算机程序721包括计算机指令,处理器710用于执行计算机可读存储介质720存储的计算机指令。处理器710是电子设备700的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器710也可称为中央处理器(CentralProcessingUnit,CPU)。处理器710可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质720可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器710的计算机可读存储介质。具体而言,计算机可读存储介质720包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
在一种实现方式中,该电子设备700可以是图1所示的编码框架100或图6所示的编码器500;该计算机可读存储介质720中存储有第一计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第一计算机指令,以实现图4方法实施例中的相应步骤;具体实现中,计算机可读存储介质720中的第一计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
在一种实现方式中,该电子设备700可以是图3所示的解码框架200或图7所示的解码器600;该计算机可读存储介质720中存储有第二计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第二计算机指令,以实现图5所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质720中的第二计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备700中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质720。可以理解的是,此处的计算机可读存储介质720既可以包括电子设备700中的内置存储介质,当然也可以包括电子设备700所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备700的操作系统。并且,在该存储空间中还存放了适于被处理器710加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序721(包括程序代码)。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序721。此时,电子设备700可以是计算机,处理器710从计算机可读存储介质720读取该计算机指令,处理器710执行该计算机指令,使得该计算机执行上述各种可选方式中提供的编码方法或解码方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (42)

  1. 一种点云的编码方法,其特征在于,包括:
    对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
    基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
    对所述量化残差值进行编码,得到码流。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    确定所述目标点的索引;
    将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
  3. 根据权利要求1所述的方法,其特征在于,所述基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,包括:
    基于目标点的量化权重确定所述目标点的有效量化权重;
    利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值。
  4. 根据权利要求3所述的方法,其特征在于,所述有效量化权重小于或等于所述目标点的量化步长。
  5. 根据权利要求3所述的方法,其特征在于,所述基于目标点的量化权重确定所述目标点的有效量化权重,包括:
    利用以下公式确定所述目标点的有效量化权重:
    effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
    其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
  6. 根据权利要求3所述的方法,其特征在于,所述有效量化权重的数值等于2的整数次幂。
  7. 根据权利要求3所述的方法,其特征在于,所述有效量化权重的数值不等于2的整数次幂,基于目标点的量化权重确定所述目标点的有效量化权重,包括:
    基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
  8. 根据权利要求3所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值,包括:
    利用所述有效量化权重乘以所述预测残差值,得到加权残差值;
    利用所述目标点的量化步长对所述加权残差值进行量化,得到所述量化残差值。
  9. 根据权利要求3所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值,包括:
    利用以下公式对所述预测残差值进行量化,得到所述量化残差值:
    attrResidualQuant2=attrResidualQuant1×effectiveQuantWeight/Qstep;
    其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述预测残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
  10. 根据权利要求3所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值,包括:
    利用以下公式更新所述目标点的量化步长:
    Figure PCTCN2020138421-appb-100001
    其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
    利用所述目标点的更新后的量化步长对所述预测残差值进行量化,得到所述量化残差值。
  11. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
  12. 根据权利要求11所述的方法,其特征在于,所述点云中的每一个点的量化权重的初始值为预设值。
  13. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
    所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
  14. 根据权利要求11所述的方法,其特征在于,所述基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,包括:
    获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;
    基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
  15. 根据权利要求14所述的方法,其特征在于,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,包括:
    通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
  16. 根据权利要求11所述的方法,其特征在于,所述基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重,包括:
    基于以下公式更新所述N个最邻近点的量化权重:
    newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
    其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。
  17. 根据权利要求14所述的方法,其特征在于,T[i]的值随i的增大而减小。
  18. 根据权利要求1所述的方法,其特征在于,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
  19. 根据权利要求1所述的方法,其特征在于,所述对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值,包括:
    对所述目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
    根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;
    对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
    根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述预测残差值。
  20. 一种点云的解码方法,其特征在于,包括:
    对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
    基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
    根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
    根据所述目标点的属性信息的重建值,得到解码点云。
  21. 根据权利要求20所述的方法,其特征在于,所述方法还包括:
    确定所述目标点的索引;
    将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
  22. 根据权利要求20所述的方法,其特征在于,所述基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,包括:
    基于目标点的量化权重确定所述目标点的有效量化权重;
    利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
  23. 根据权利要求22所述的方法,其特征在于,所述有效量化权重小于或等于所述目标点的量化步长。
  24. 根据权利要求22所述的方法,其特征在于,所述基于目标点的量化权重确定所述目标点的有效量化权重,包括:
    利用以下公式确定所述目标点的有效量化权重:
    effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);
    其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
  25. 根据权利要求22所述的方法,其特征在于,所述有效量化权重的数值等于2的整数次幂。
  26. 根据权利要求22所述的方法,其特征在于,所述有效量化权重的数值不等于2的整数次幂,基于目标点的量化权重确定所述目标点的有效量化权重,包括:
    基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
  27. 根据权利要求22所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值,包括:
    利用所述目标点的量化步长对所述量化残差值进行反量化,得到加权残差值;
    利用所述加权残差值除以所述有效量化权重,得到所述重建残差值。
  28. 根据权利要求22所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值,包括:
    利用以下公式对所述量化残差值进行反量化,得到所述重建残差值:
    attrResidualQuant1=(attrResidualQuant2×Qstep)/effectiveQuantWeight;
    其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述重建残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
  29. 根据权利要求22所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值,包括:
    利用以下公式更新所述目标点的量化步长:
    Figure PCTCN2020138421-appb-100002
    其中,effectiveQuantWeight表示所述目标点的有效量化步长,newQstep表示所述目标点的基于所述目标点的有效量化步长更新后的量化步长,Qstep表示所述目标点的基于所述目标点的有效量化步长更新前的量化步长;
    利用所述目标点的更新后的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
  30. 根据权利要求22所述的方法,其特征在于,所述方法还包括:
    按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
  31. 根据权利要求30所述的方法,其特征在于,所述点云中的每一个点的量化权重的初始值为预设值。
  32. 根据权利要求30所述的方法,其特征在于,所述方法还包括:
    将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
    所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
  33. 根据权利要求30所述的方法,其特征在于,所述基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,包括:
    获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;
    基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
  34. 根据权利要求33所述的方法,其特征在于,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,包括:
    通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
  35. 根据权利要求30所述的方法,其特征在于,所述基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,包括:
    基于以下公式更新所述N个最邻近点的量化权重:
    newneighborQuantWeight[i]=neighborQuantWeight[i]+(T[i]*QuantWeight[index-c])>>k;
    其中,newneighborQuantWeight[i]表示第i个最邻近点的基于所述当前点的量化权重更新后的量化权重,所述neighborQuantWeight[i]表示所述第i个最邻近点的基于所述当前点的量化权重更新前的量化权重,QuantWeight[index-c]表示所述当前点的量化权重,T[i]表示所述当前点对所述第i个最邻近点的影响权重,k表示对T[i]*QuantWeight[index-c]进行右移运算的位数。
  36. 根据权利要求35所述的方法,其特征在于,T[i]的值随i的增大而减小。
  37. 根据权利要求20所述的方法,其特征在于,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
  38. 根据权利要求20所述的方法,其特征在于,所述方法还包括:
    对所述码流进行解析,得到所述目标点的位置信息的重建信息;
    根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值。
  39. 一种点云的编码器,其特征在于,包括:
    第一处理单元,用于对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;
    第二处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重 为对所述目标点的量化步长进行加权时采用的权重;
    编码单元,用于对所述量化残差值进行编码,得到码流。
  40. 一种点云的解码器,其特征在于,包括:
    解析单元,用于对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;
    第一处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长,对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;
    第二处理单元,用于根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;
    第三处理单元,用于根据所述目标点的属性信息的重建值,得到解码点云。
  41. 一种电子设备,其特征在于,包括:
    处理器,适于执行计算机程序;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至19中任一项所述的点云的解码方法或如权利要求20至38中任一项所述的点云的解码方法。
  42. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令适于由处理器加载并执行如权利要求1至19中任一项所述的点云的解码方法或如权利要求20至38中任一项所述的点云的解码方法。
PCT/CN2020/138421 2020-09-25 2020-12-22 点云的编码方法、解码方法、编码器以及解码器 WO2022133752A1 (zh)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP2023538020A JP2023553503A (ja) 2020-12-22 2020-12-22 点群の符号化方法、復号化方法、エンコーダ及びデコーダ
CN202080108037.XA CN116783887A (zh) 2020-12-22 2020-12-22 点云的编码方法、解码方法、编码器以及解码器
PCT/CN2020/138421 WO2022133752A1 (zh) 2020-12-22 2020-12-22 点云的编码方法、解码方法、编码器以及解码器
EP20966332.7A EP4261785A1 (en) 2020-12-22 2020-12-22 Point cloud encoding method and decoding method, and encoder and decoder
KR1020237024952A KR20230124673A (ko) 2020-12-22 2020-12-22 포인트 클라우드의 인코딩 방법, 디코딩 방법, 인코더및 디코더
PCT/CN2021/087064 WO2022062369A1 (zh) 2020-09-25 2021-04-13 点云编解码方法与系统、及点云编码器与点云解码器
KR1020237009716A KR20230075426A (ko) 2020-09-25 2021-04-13 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더
JP2023518709A JP2023543752A (ja) 2020-09-25 2021-04-13 点群コーデック方法及びシステム、並びに点群エンコーダ及び点群デコーダ
CN202180064277.9A CN116325731A (zh) 2020-09-25 2021-04-13 点云编解码方法与系统、及点云编码器与点云解码器
EP21870758.6A EP4221207A4 (en) 2020-09-25 2021-04-13 POINT CLOUD ENCODING AND DECODING METHOD AND SYSTEM, AND POINT CLOUD ENCODER AND DECODER
US18/125,276 US20230232004A1 (en) 2020-09-25 2023-03-23 Point cloud encoding and decoding method and system, and point cloud encoder and point cloud decoder
US18/208,771 US20230328246A1 (en) 2020-12-22 2023-06-12 Point cloud encoding method and decoding method, and encoder and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/138421 WO2022133752A1 (zh) 2020-12-22 2020-12-22 点云的编码方法、解码方法、编码器以及解码器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/208,771 Continuation US20230328246A1 (en) 2020-12-22 2023-06-12 Point cloud encoding method and decoding method, and encoder and decoder

Publications (1)

Publication Number Publication Date
WO2022133752A1 true WO2022133752A1 (zh) 2022-06-30

Family

ID=82157036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/138421 WO2022133752A1 (zh) 2020-09-25 2020-12-22 点云的编码方法、解码方法、编码器以及解码器

Country Status (6)

Country Link
US (1) US20230328246A1 (zh)
EP (1) EP4261785A1 (zh)
JP (1) JP2023553503A (zh)
KR (1) KR20230124673A (zh)
CN (1) CN116783887A (zh)
WO (1) WO2022133752A1 (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 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
WO2019235366A1 (ja) * 2018-06-06 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019240215A1 (ja) * 2018-06-13 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019240284A1 (ja) * 2018-06-14 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111247802A (zh) * 2019-01-10 2020-06-05 深圳市大疆创新科技有限公司 用于三维数据点集处理的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030777B2 (en) * 2018-09-14 2021-06-08 Sony Group Corporation Adaptive subband coding for lifting transform
EP3923242A4 (en) * 2019-02-05 2022-04-06 Panasonic Intellectual Property Corporation of America METHOD OF ENCODING THREE-DIMENSIONAL DATA, METHOD OF DECODING OF THREE-DIMENSIONAL DATA, DEVICE FOR ENCODING OF THREE-DIMENSIONAL DATA, AND DECODER OF THREE-DIMENSIONAL DATA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235366A1 (ja) * 2018-06-06 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019240215A1 (ja) * 2018-06-13 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019240284A1 (ja) * 2018-06-14 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111247802A (zh) * 2019-01-10 2020-06-05 深圳市大疆创新科技有限公司 用于三维数据点集处理的方法和设备
CN109889840A (zh) * 2019-03-20 2019-06-14 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4261785A4 *

Also Published As

Publication number Publication date
EP4261785A4 (en) 2023-10-18
US20230328246A1 (en) 2023-10-12
CN116783887A (zh) 2023-09-19
JP2023553503A (ja) 2023-12-21
EP4261785A1 (en) 2023-10-18
KR20230124673A (ko) 2023-08-25

Similar Documents

Publication Publication Date Title
US20230237707A1 (en) Point cloud encoding and decoding method, encoder, decoder and codec system
US20230232004A1 (en) Point cloud encoding and decoding method and system, and point cloud encoder and point cloud decoder
EP4258671A1 (en) Point cloud attribute predicting method, encoder, decoder, and storage medium
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
US20230237704A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
WO2022133752A1 (zh) 点云的编码方法、解码方法、编码器以及解码器
WO2022133755A1 (zh) 点云的解码方法、编码方法、解码器以及编码器
WO2023159428A1 (zh) 编码方法、编码器以及存储介质
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2023240455A1 (zh) 点云编码方法、编码装置、编码设备以及存储介质
WO2023023918A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2023197337A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2023197338A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023240660A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2024077548A1 (zh) 点云解码方法、点云编码方法、解码器和编码器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20966332

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202080108037.X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2023538020

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2020966332

Country of ref document: EP

Effective date: 20230712

ENP Entry into the national phase

Ref document number: 20237024952

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE