WO2022133752A1 - 点云的编码方法、解码方法、编码器以及解码器 - Google Patents
点云的编码方法、解码方法、编码器以及解码器 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000013139 quantization Methods 0.000 claims description 502
- 230000008569 process Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 230000007423 decrease Effects 0.000 claims description 8
- 108091026890 Coding region Proteins 0.000 claims description 6
- 230000009466 transformation Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 101000638069 Homo sapiens Transmembrane channel-like protein 2 Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 102100032054 Transmembrane channel-like protein 2 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
图7是本申请实施例提供的解码器的示意性框图。
图8是本申请实施例提供的电子设备的示意性框图。
测试序列 | 亮度 | 色度(蓝色色差) | 色度(红色色差) |
A类点云序列 | -10.5% | -20.5% | -21.6% |
B类点云序列 | -4.3% | -10.9% | -11.5% |
A类、B类点云序列的平均值 | -7.2% | -15.5% | -16.3% |
Claims (42)
- 一种点云的编码方法,其特征在于,包括:对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;对所述量化残差值进行编码,得到码流。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述目标点的索引;将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
- 根据权利要求1所述的方法,其特征在于,所述基于所述目标点的量化权重和所述目标点的量化步长,对所述预测残差值进行量化,得到所述目标点的属性信息的量化残差值,包括:基于目标点的量化权重确定所述目标点的有效量化权重;利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值。
- 根据权利要求3所述的方法,其特征在于,所述有效量化权重小于或等于所述目标点的量化步长。
- 根据权利要求3所述的方法,其特征在于,所述基于目标点的量化权重确定所述目标点的有效量化权重,包括:利用以下公式确定所述目标点的有效量化权重:effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
- 根据权利要求3所述的方法,其特征在于,所述有效量化权重的数值等于2的整数次幂。
- 根据权利要求3所述的方法,其特征在于,所述有效量化权重的数值不等于2的整数次幂,基于目标点的量化权重确定所述目标点的有效量化权重,包括:基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
- 根据权利要求3所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值,包括:利用所述有效量化权重乘以所述预测残差值,得到加权残差值;利用所述目标点的量化步长对所述加权残差值进行量化,得到所述量化残差值。
- 根据权利要求3所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述预测残差值进行量化,得到所述量化残差值,包括:利用以下公式对所述预测残差值进行量化,得到所述量化残差值:attrResidualQuant2=attrResidualQuant1×effectiveQuantWeight/Qstep;其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述预测残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
- 根据权利要求11所述的方法,其特征在于,所述点云中的每一个点的量化权重的初始值为预设值。
- 根据权利要求11所述的方法,其特征在于,所述方法还包括:将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
- 根据权利要求11所述的方法,其特征在于,所述基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,包括:获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
- 根据权利要求14所述的方法,其特征在于,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,包括:通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
- 根据权利要求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]进行右移运算的位数。
- 根据权利要求14所述的方法,其特征在于,T[i]的值随i的增大而减小。
- 根据权利要求1所述的方法,其特征在于,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
- 根据权利要求1所述的方法,其特征在于,所述对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值,包括:对所述目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值;对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;根据所述目标点的属性信息的预测值和所述目标点的属性信息的真实值,得到所述预测残差值。
- 一种点云的解码方法,其特征在于,包括:对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;根据所述目标点的属性信息的重建值,得到解码点云。
- 根据权利要求20所述的方法,其特征在于,所述方法还包括:确定所述目标点的索引;将所述目标点的索引所对应的量化权重,确定为所述目标点的量化权重。
- 根据权利要求20所述的方法,其特征在于,所述基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,包括:基于目标点的量化权重确定所述目标点的有效量化权重;利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值。
- 根据权利要求22所述的方法,其特征在于,所述有效量化权重小于或等于所述目标点的量化步长。
- 根据权利要求22所述的方法,其特征在于,所述基于目标点的量化权重确定所述目标点的有效量化权重,包括:利用以下公式确定所述目标点的有效量化权重:effectiveQuantWeight=min(QuantWeight[index]>>k,Qstep);其中,effectiveQuantWeight表示所述目标点的有效量化权重,QuantWeight[index]表示所述目标点的量化权重,k表示对所述QuantWeight[index]进行右移运算的位数,Qstep表示所述目标点的量化步长。
- 根据权利要求22所述的方法,其特征在于,所述有效量化权重的数值等于2的整数次幂。
- 根据权利要求22所述的方法,其特征在于,所述有效量化权重的数值不等于2的整数次幂,基于目标点的量化权重确定所述目标点的有效量化权重,包括:基于所述目标点的量化权重的数值,将最接近所述目标点的量化权重的2的整数次幂,确定为所述有效量化权重。
- 根据权利要求22所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值,包括:利用所述目标点的量化步长对所述量化残差值进行反量化,得到加权残差值;利用所述加权残差值除以所述有效量化权重,得到所述重建残差值。
- 根据权利要求22所述的方法,其特征在于,所述利用所述目标点的有效量化权重和所述目标点的量化步长对所述量化残差值进行反量化,得到所述重建残差值,包括:利用以下公式对所述量化残差值进行反量化,得到所述重建残差值:attrResidualQuant1=(attrResidualQuant2×Qstep)/effectiveQuantWeight;其中,attrResidualQuant2表示所述量化残差值,attrResidualQuant1表示所述重建残差值,effectiveQuantWeight表示所述目标点的有效量化权重,Qstep表示所述目标点的量化步长。
- 根据权利要求22所述的方法,其特征在于,所述方法还包括:按照所述点云的编码顺序的倒序,通过遍历所述点云中的点,基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,N为大于0的整数。
- 根据权利要求30所述的方法,其特征在于,所述点云中的每一个点的量化权重的初始值为预设值。
- 根据权利要求30所述的方法,其特征在于,所述方法还包括:将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;所述多个LOD层中的前M层LOD中的点的量化权重的初始值,大于所述多个LOD层中剩余LOD中的点的量化权重的初始值。
- 根据权利要求30所述的方法,其特征在于,所述基于当前点的量化权重更新所述当前点的N个最邻近点的量化权重,包括:获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,所述影响权重取决于所述当前点和所述N个最邻近点的位置信息;基于所述当前点的量化权重和所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,更新所述N个最邻近点的量化权重。
- 根据权利要求33所述的方法,其特征在于,所述点云的属性参数集包括所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重;所述获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重,包括:通过查询所述属性参数集,获取所述当前点对所述N个最邻近点中的每一个最邻近点的影响权重。
- 根据权利要求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]进行右移运算的位数。
- 根据权利要求35所述的方法,其特征在于,T[i]的值随i的增大而减小。
- 根据权利要求20所述的方法,其特征在于,所述点云的量化权重存储为数组,所述数组的维度和所述点云中点的个数相同。
- 根据权利要求20所述的方法,其特征在于,所述方法还包括:对所述码流进行解析,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的预测值。
- 一种点云的编码器,其特征在于,包括:第一处理单元,用于对点云中的目标点的属性信息进行处理,得到所述目标点的属性信息的预测残差值;第二处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长对所述量化残差值进行量化,得到所述目标点的属性信息的量化残差值,所述目标点的量化权重 为对所述目标点的量化步长进行加权时采用的权重;编码单元,用于对所述量化残差值进行编码,得到码流。
- 一种点云的解码器,其特征在于,包括:解析单元,用于对点云的码流进行解析,得到所述点云的目标点的属性信息的量化残差值;第一处理单元,用于基于所述目标点的量化权重和所述目标点的量化步长,对所述量化残差值进行反量化,得到所述目标点的属性信息的重建残差值,所述目标点的量化权重为对所述目标点的量化步长进行加权时采用的权重;第二处理单元,用于根据所述重建残差值和所述目标点的属性信息的预测值,得到所述目标点的属性信息的重建值;第三处理单元,用于根据所述目标点的属性信息的重建值,得到解码点云。
- 一种电子设备,其特征在于,包括:处理器,适于执行计算机程序;计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至19中任一项所述的点云的解码方法或如权利要求20至38中任一项所述的点云的解码方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令适于由处理器加载并执行如权利要求1至19中任一项所述的点云的解码方法或如权利要求20至38中任一项所述的点云的解码方法。
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)
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)
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 |
-
2020
- 2020-12-22 KR KR1020237024952A patent/KR20230124673A/ko active Search and Examination
- 2020-12-22 EP EP20966332.7A patent/EP4261785A1/en active Pending
- 2020-12-22 CN CN202080108037.XA patent/CN116783887A/zh active Pending
- 2020-12-22 JP JP2023538020A patent/JP2023553503A/ja active Pending
- 2020-12-22 WO PCT/CN2020/138421 patent/WO2022133752A1/zh active Application Filing
-
2023
- 2023-06-12 US US18/208,771 patent/US20230328246A1/en active Pending
Patent Citations (5)
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)
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 |