WO2022062369A1 - 点云编解码方法与系统、及点云编码器与点云解码器 - Google Patents
点云编解码方法与系统、及点云编码器与点云解码器 Download PDFInfo
- Publication number
- WO2022062369A1 WO2022062369A1 PCT/CN2021/087064 CN2021087064W WO2022062369A1 WO 2022062369 A1 WO2022062369 A1 WO 2022062369A1 CN 2021087064 W CN2021087064 W CN 2021087064W WO 2022062369 A1 WO2022062369 A1 WO 2022062369A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quantization
- point
- current point
- attribute information
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
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
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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 OR CALCULATING; 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 OR CALCULATING; 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/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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive 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 present application relates to the technical field of point cloud encoding and decoding, and in particular, to a point cloud encoding and decoding method and system, as well as a point cloud encoder and a point cloud decoder.
- the surface of the object is collected by the collection equipment to form point cloud data, which includes hundreds of thousands or even more points.
- the point cloud data is transmitted between the point cloud encoding device and the point cloud decoding device in the form of point cloud media files.
- the point cloud encoding equipment needs to compress the point cloud data before transmission.
- the compression of point cloud data mainly includes the compression of geometric information and the compression of attribute information.
- attribute information When the attribute information is compressed, the redundant information in the point cloud data is reduced or eliminated by quantization.
- Embodiments of the present application provide a point cloud encoding and decoding method and system, as well as a point cloud encoder and a point cloud decoder, so as to improve the quantization effect of points in the point cloud.
- the present application provides a point cloud encoding method, including:
- the residual value of the attribute information of the current point is quantized to obtain the quantized residual value of the attribute information of the current point;
- the target quantization method includes at least two quantization methods as follows: a first quantization method, a second quantization method and a third quantization method, and the first quantization method is to set the quantization parameter of at least one point in the point cloud. Quantitative parameter increment, the second quantization method is to perform weighting processing on the residual value of the point in the point cloud, and the third quantization method is the residual of the attribute information of at least one point in the point cloud.
- the value is lossless encoded.
- an embodiment of the present application provides a point cloud decoding method, including:
- Inverse quantization is performed on the quantized residual value of the attribute information of the current point by using the target inverse quantization method to obtain the reconstructed residual value of the attribute information of the current point;
- the target inverse quantization method includes the following at least two inverse quantization methods: a first inverse quantization method, a second inverse quantization method, and a third inverse quantization method, and the first inverse quantization method is to perform at least two inverse quantization methods on the point cloud.
- the inverse quantization parameter of a point is set to an inverse quantization parameter increment
- the second inverse quantization method is to perform deweighting processing on the residual value of the point in the point cloud
- the third inverse quantization method is to perform a de-weighting process on the point.
- the residual value of the attribute information of at least one point in the cloud is subjected to lossless decoding.
- the present application provides a point cloud encoder for executing the method in the first aspect or each of its implementations.
- the encoder includes a functional unit for executing the method in the above-mentioned first aspect or each of its implementations.
- the present application provides a point cloud decoder for executing the method in the second aspect or each of its implementations.
- the decoder includes functional units for performing the methods in the second aspect or the respective implementations thereof.
- a point cloud encoder including a processor and a memory.
- the memory is used for storing a computer program
- the processor is used for calling and running the computer program stored in the memory, so as to execute the method in the above-mentioned first aspect or each implementation manner thereof.
- a point cloud decoder including a processor and a memory.
- the memory is used for storing a computer program
- the processor is used for calling and running the computer program stored in the memory, so as to execute the method in the above-mentioned second aspect or each implementation manner thereof.
- a point cloud encoding and decoding system including a point cloud encoder and a point cloud decoder.
- the point cloud encoder is used to perform the method in the above first aspect or each of its implementations
- the point cloud decoder is used to perform the above-mentioned method in the second aspect or each of its implementations.
- a chip for implementing any one of the above-mentioned first aspect to the second aspect or the method in each implementation manner thereof.
- the chip includes: a processor for invoking and running a computer program from a memory, so that a device on which the chip is installed executes any one of the above-mentioned first to second aspects or each of its implementations method.
- a computer-readable storage medium for storing a computer program, the computer program causing a computer to execute the method in any one of the above-mentioned first aspect to the second aspect or each of its implementations.
- a computer program product comprising computer program instructions, the computer program instructions causing a computer to perform the method in any one of the above-mentioned first to second aspects or the implementations thereof.
- a computer program which, when run on a computer, causes the computer to perform the method in any one of the above-mentioned first to second aspects or the respective implementations thereof.
- a twelfth aspect provides a code stream obtained by the method described in the first aspect.
- the attribute information of the current point in the point cloud is obtained by obtaining the attribute information of the current point; the attribute information of the current point is processed to obtain the residual value of the attribute information of the current point; the residual value of the attribute information of the current point is obtained by using the target quantization method.
- the target quantization method includes at least two quantization methods as follows: a first quantization method, a second quantization method and a third quantization method, and the first quantization method is to The quantization parameter of at least one point in the point cloud sets the quantization parameter increment, the second quantization method is to perform weighting processing on the residual value of the point in the point cloud, and the third quantization method is to calculate the attribute information of at least one point in the point cloud.
- the residual value is coded losslessly, thereby improving the quantization effect of the attribute information of the points in the point cloud, thereby improving the quantization effect of the attribute information of the points in the point cloud.
- FIG. 1 is a schematic block diagram of a point cloud encoding and decoding system according to an embodiment of the application
- FIG. 2 is a schematic block diagram of a point cloud encoder provided by an embodiment of the present application.
- FIG. 3 is a schematic block diagram of a decoder provided by an embodiment of the present application.
- FIG. 5 is a partial block diagram of an attribute decoding module involved in an embodiment of the application.
- FIG. 6 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application.
- FIG. 7 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application.
- FIG. 8 is a schematic diagram of LOD division of some point clouds
- FIG. 9 is a schematic diagram of LOD division of some point clouds.
- FIG. 10 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application.
- FIG. 11 is a schematic diagram of another LOD division involved in an embodiment of the application.
- FIG. 12A is a schematic diagram of another LOD division involved in an embodiment of the present application.
- FIG. 12B is a schematic diagram of another LOD division involved in an embodiment of the present application.
- FIG. 13 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application.
- FIG. 14 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the present application.
- 15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the application.
- 16 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the present application.
- FIG. 17 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the present application.
- FIG. 18 is a schematic block diagram of a point cloud encoder provided by an embodiment of the present application.
- FIG. 19 is a schematic block diagram of a point cloud decoder provided by an embodiment of the present application.
- FIG. 20 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
- FIG. 21 is a schematic block diagram of a point cloud encoding and decoding system provided by an embodiment of the present application.
- the present application can be applied to the technical field of point cloud compression.
- Point cloud refers to a set of discrete points in space that are irregularly distributed and express the spatial structure and surface properties of 3D objects or 3D scenes.
- Point cloud data is a specific record form of point cloud, and the points in the point cloud can include point location information and point attribute information.
- the position information of the point may be three-dimensional coordinate information of the point.
- the position information of the point may also be referred to as the geometric information of the point.
- the attribute information of the points may include color information and/or reflectivity, among others.
- the color information may be information in any color space.
- the color information may be (RGB).
- the color information may be luminance chrominance (YcbCr, YUV) information.
- Y represents luminance (Luma)
- Cb(U) represents blue color difference
- Cr(V) represents red color
- U and V represent chromaticity (Chroma) for describing color difference information.
- a point cloud obtained according to the principle of laser measurement the points in the point cloud may include three-dimensional coordinate information of the point and laser reflection intensity (reflectance) of the point.
- a point cloud obtained according to the principle of photogrammetry the points in the point cloud may include three-dimensional coordinate information of the point and color information of the point.
- a point cloud is obtained by combining the principles of laser measurement and photogrammetry, and the points in the point cloud may include three-dimensional coordinate information of the point, laser reflection intensity (reflectance) of the point, and color information of the point.
- the acquisition approach of point cloud data may include, but is not limited to, at least one of the following: (1) Generated by computer equipment.
- the computer device can generate point cloud data according to the virtual three-dimensional object and the virtual three-dimensional scene.
- the visual scene of the real world is acquired through a 3D photography device (ie, a set of cameras or a camera device with multiple lenses and sensors) to obtain point cloud data of the visual scene of the real world, and dynamic real-world three-dimensional objects can be obtained through 3D photography.
- 3D photography device ie, a set of cameras or a camera device with multiple lenses and sensors
- point cloud data of biological tissues and organs can be obtained by medical equipment such as Magnetic Resonance Imaging (MRI), Computed Tomography (CT), and electromagnetic positioning information.
- MRI Magnetic Resonance Imaging
- CT Computed Tomography
- the point cloud can be divided into: dense point cloud and sparse point cloud according to the acquisition method.
- the point cloud is divided into:
- the first type of static point cloud that is, the object is static, and the device that obtains the point cloud is also static;
- the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
- the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
- point clouds According to the use of point clouds, it is divided into two categories:
- Category 1 Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue and relief robots;
- Category 2 Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
- FIG. 1 is a schematic block diagram of a point cloud encoding and decoding system according to an embodiment of the present application. It should be noted that FIG. 1 is only an example, and the point cloud encoding and decoding system in the embodiment of the present application includes but is not limited to that shown in FIG. 1 .
- the point cloud encoding and decoding system 100 includes an encoding device 110 and a decoding device 120 .
- the encoding device is used to encode the point cloud data (which can be understood as compression) to generate a code stream, and transmit the code stream to the decoding device.
- the decoding device decodes the code stream encoded by the encoding device to obtain decoded point cloud data.
- the encoding device 110 in the embodiment of the present application can be understood as a device with a point cloud encoding function
- the decoding device 120 can be understood as a device with a point cloud decoding function, that is, the encoding device 110 and the decoding device 120 in the embodiment of the present application include a wider range of Devices, including, for example, smartphones, desktop computers, mobile computing devices, notebook (eg, laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, point cloud game consoles, in-vehicle computers, etc. .
- the encoding device 110 may transmit the encoded point cloud data (eg, a code stream) to the decoding device 120 via the channel 130 .
- Channel 130 may include one or more media and/or devices capable of transmitting encoded point cloud data from encoding device 110 to decoding device 120 .
- channel 130 includes one or more communication media that enables encoding device 110 to transmit encoded point cloud data directly to decoding device 120 in real-time.
- encoding apparatus 110 may modulate the encoded point cloud data according to a communication standard, and transmit the modulated point cloud data to decoding apparatus 120 .
- the communication medium includes a wireless communication medium, such as a radio frequency spectrum, optionally, the communication medium may also include a wired communication medium, such as one or more physical transmission lines.
- channel 130 includes a storage medium that can store point cloud data encoded by encoding device 110.
- Storage media include a variety of locally accessible data storage media such as optical discs, DVDs, flash memory, and the like.
- the decoding device 120 may obtain the encoded point cloud data from the storage medium.
- channel 130 may include a storage server that may store point cloud data encoded by encoding device 110 .
- the decoding device 120 may download the stored encoded point cloud data from the storage server.
- the storage server may store the encoded point cloud data and may transmit the encoded point cloud data to the decoding device 120, such as a web server (eg, for a website), a file transfer protocol (FTP) server, etc. .
- FTP file transfer protocol
- the encoding device 110 includes a point cloud encoder 112 and an output interface 113 .
- the output interface 113 may include a modulator/demodulator (modem) and/or a transmitter.
- the encoding device 110 may include a point cloud source 111 in addition to the point cloud encoder 112 and the input interface 113 .
- the point cloud source 111 may include at least one of a point cloud acquisition device (eg, a scanner), a point cloud archive, a point cloud input interface, a computer graphics system for receiving from a point cloud content provider Point cloud data, computer graphics systems are used to generate point cloud data.
- a point cloud acquisition device eg, a scanner
- a point cloud archive e.g., a point cloud archive
- a point cloud input interface e.g., a point cloud input interface
- a computer graphics system for receiving from a point cloud content provider Point cloud data
- computer graphics systems are used to generate point cloud data.
- the point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a code stream.
- the point cloud encoder 112 directly transmits the encoded point cloud data to the decoding device 120 via the output interface 113 .
- the encoded point cloud data may also be stored on a storage medium or a storage server for subsequent reading by the decoding device 120 .
- decoding device 120 includes input interface 121 and point cloud decoder 122 .
- the decoding device 120 may include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .
- the input interface 121 includes a receiver and/or a modem.
- the input interface 121 can receive the encoded point cloud data through the channel 130 .
- the point cloud decoder 122 is configured to decode the encoded point cloud data, obtain the decoded point cloud data, and transmit the decoded point cloud data to the display device 123 .
- the display device 123 displays the decoded point cloud data.
- the display device 123 may be integrated with the decoding apparatus 120 or external to the decoding apparatus 120 .
- the display device 123 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.
- LCD liquid crystal display
- plasma display a plasma display
- OLED organic light emitting diode
- FIG. 1 is only an example, and the technical solutions of the embodiments of the present application are not limited to FIG. 1 .
- the technology of the present application may also be applied to single-sided point cloud encoding or single-sided point cloud decoding.
- the current point cloud encoder can use the Geometry Point Cloud Compression (G-PCC) codec framework provided by the Moving Picture Experts Group (MPEG) or the Video-based point cloud compression (Video). Point Cloud Compression, V-PCC) encoding and decoding framework, or the AVS-PCC encoding and decoding framework provided by the Audio Video Standard (AVS). Both G-PCC and AVS-PCC are aimed at static sparse point clouds, and their coding frameworks are roughly the same.
- the G-PCC codec framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud, and the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
- the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2.
- the following takes the G-PCC encoding and decoding framework as an example to describe the applicable point cloud encoder and point cloud decoder in the embodiments of the present application.
- FIG. 2 is a schematic block diagram of a point cloud encoder provided by an embodiment of the present application.
- the points in the point cloud may include the position information of the point and the attribute information of the point. Therefore, the encoding of the point in the point cloud mainly includes the position encoding and the attribute encoding.
- the position information of the point in the point cloud is also called geometric information, and the position encoding of the corresponding point in the point cloud may also be called geometric encoding.
- the process of position encoding includes: preprocessing the points in the point cloud, such as coordinate transformation, quantization, and removing duplicate points; then, geometrically encoding the preprocessed point cloud, such as constructing an octree, based on the constructed
- the octree performs geometry encoding to form a geometry codestream.
- the position information of each point in the point cloud data is reconstructed, and the reconstructed value of the position information of each point is obtained.
- the attribute coding process includes: given the reconstructed information of the position information of the input point cloud and the original 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 201, quantize and remove duplicate points (Quantize and remove points) unit 202, octree analysis (Analyze octree) unit 203, geometric reconstruction (Reconstruct Geometry) unit 204 and first arithmetic coding (Arithmetic) enconde) unit 205.
- the coordinate transformation unit 201 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 operation to convert the coordinates of the points in the point cloud from world coordinates to relative coordinates.
- the quantization and removal of duplicate points unit 202 can reduce the number of coordinates through quantization; points that were originally different after quantization may be assigned the same coordinates, based on which, duplicate points can be deleted through a deduplication operation; for example, with the same quantization position and Multiple clouds of different attribute information can be merged into one cloud through attribute transformation.
- the quantization and removal of duplicate points unit 202 is an optional unit module.
- the octree analysis unit 203 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 geometric reconstruction unit 204 may perform position reconstruction based on the position information output by the octree analysis unit 203 to obtain a reconstructed value of the position information of each point in the point cloud data.
- the first arithmetic coding unit 205 can use entropy coding to perform arithmetic coding on the position information output by the octree analysis unit 203, that is, the position information output by the octree analysis unit 203 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 210 attribute transform (Transfer attributes) unit 211, Region Adaptive Hierarchical Transform (RAHT) unit 212, predicting transform (predicting transform) unit 213 and lifting transform (lifting transform) ) unit 214 , a quantize coefficients (Quantize coefficients) unit 215 and a second arithmetic coding unit 216 .
- RAHT Region Adaptive Hierarchical Transform
- point cloud encoder 200 may include more, less or different functional components than those shown in FIG. 2 .
- the color space conversion unit 210 may be used to convert the RGB color space of the points in the point cloud to YCbCr format or other formats.
- the attribute transformation unit 211 can be used to transform attribute information of points in the point cloud to minimize attribute distortion.
- the attribute conversion unit 211 may be used to obtain the original 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 prediction unit may include: RAHT 212 , a predicting transform unit 213 and a lifting transform unit 214 .
- any one of the RAHT 212, the predicting transform unit 213 and the lifting transform unit 214 can be used to predict the attribute information of the point in the point cloud, so as to obtain the predicted value of the attribute information of the point, Further, based on the predicted value of the attribute information of the point, the residual value of the attribute information of the point is obtained.
- the residual value of the attribute information of the point may be the original value of the attribute information of the point minus the predicted value of the attribute information of the point.
- the predictive transform unit 213 may also be used to generate a level of detail (LOD).
- 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 detail expression layers according to the Euclidean distance.
- different ranges of Euclidean distances may be divided into different detail expression layers. For example, a point can be randomly selected as the first detail expression 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 detail expression layer.
- the point cloud can be directly divided into one or more detail expression 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. Multiple 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 detail expression layers, and each detail expression layer includes multiple points.
- the detail expression layer can be divided according to the Euclidean distance between points.
- the quantization unit 215 may be used to quantize residual values of attribute information of points. For example, if the quantization unit 215 is connected to the prediction transformation unit 213 , the quantization unit can be used to quantize the residual value of the attribute information of the point output by the prediction transformation unit 213 .
- the residual value of the attribute information of the point output by the predictive transformation unit 213 is quantized using a quantization step size, so as to improve the system performance.
- the second arithmetic coding unit 216 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.
- FIG. 3 is a schematic block diagram of a decoder provided by an embodiment of the present application.
- the decoding framework 300 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 process of position decoding includes: arithmetic decoding of the geometric code stream; merging after building an octree, and reconstructing the position information of the point to obtain the reconstruction information of the position information of the point; coordinate the reconstruction information of the position information of the point Transform to get 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 following three prediction modes: RAHT, predicted change and lifting change to perform point cloud prediction, and obtain the predicted value.
- the predicted value is the same as the residual value.
- Add the reconstructed value of the attribute information of the point perform color space inverse transformation on the reconstructed value of the attribute information of the point to obtain the decoded point cloud.
- position decoding can be achieved by the following units:
- a first arithmetic decoding unit 301 an octree analysis (synthesize octree) unit 302 , a geometric reconstruction (Reconstruct geometry) unit 304 and a coordinate inverse transform (inverse transform coordinates) unit 305 .
- Attribute encoding can be achieved through the following units:
- the second arithmetic decoding unit 310 an inverse quantize unit 311, a RAHT unit 312, a predicting transform unit 313, a lifting transform unit 314, and an inverse trasform colors unit 315.
- decompression is an inverse process of compression
- the functions of each unit in the decoder 300 may refer to the functions of the corresponding units in the encoder 200 .
- point cloud decoder 300 may include more, fewer, or different functional components than FIG. 3 .
- the decoder 300 may divide the point cloud into a plurality of LODs according to the Euclidean distance between the points in the point cloud; then, sequentially decode the attribute information of the points in the LOD; number (zero_cnt), to decode the residual based on zero_cnt; then, the decoding framework 200 may perform inverse quantization based on the decoded residual value, and add the inverse quantized residual value to the predicted value of the current point to obtain the The reconstructed value of the point cloud until all point clouds have been decoded.
- the current point will be used as the nearest point to the midpoint of the subsequent LOD, and the reconstructed value of the current point will be used to predict the attribute information of the subsequent point.
- the point cloud encoder 200 mainly includes two parts functionally: a position encoding module and an attribute encoding module, wherein the position encoding module is used to realize the encoding of the position information of the point cloud, form a geometric code stream, and attribute encoding.
- the module is used to encode the attribute information of the point cloud to form an attribute code stream.
- the present application mainly relates to the encoding of attribute information. The following describes the attribute encoding module in the point cloud encoder involved in the present application with reference to FIG. 4 .
- FIG. 4 is a partial block diagram of an attribute encoding module involved in an embodiment of the present application.
- the attribute encoding module 400 can be understood as a unit for implementing attribute information encoding in the point cloud encoder 200 shown in FIG. 2 above.
- the attribute encoding module 400 includes: a preprocessing unit 410, a residual unit 420, a quantization unit 430, a prediction unit 440, an inverse quantization unit 450, a reconstruction unit 460, a filtering unit 470, a decoding buffer unit 480, and an encoding unit unit 490.
- the attribute encoding module 400 may further include more, less or different functional components.
- the preprocessing unit 410 may include the color space conversion unit 210 and the attribute conversion unit 211 shown in FIG. 2 .
- the quantization unit 430 may be understood as the quantization coefficient unit 215 in the above-mentioned FIG. 2
- the encoding unit 490 may be understood as the second arithmetic encoding unit 216 in the above-mentioned FIG. 2 .
- the prediction unit 440 may include the RAHT 212, the prediction change unit 213, and the boost change unit 214 shown in FIG. 2 .
- the prediction unit 440 is specifically used to obtain the reconstruction information of the position information of the point cloud, and based on the reconstruction information of the position information of the point, from any one of the RAHT 212, the prediction change unit 213 and the promotion change unit 214 to the point cloud.
- the attribute information of the point is predicted to obtain the predicted value of the attribute information of the point.
- the residual unit 420 can obtain the residual value of the attribute information of the point in the point cloud based on the original value of the attribute information of the point in the point cloud and the reconstructed value of the attribute information, for example, the original value of the attribute information of the point minus the value of the attribute information. Reconstruct the value to get the attribute information of the point in the residual.
- the quantization unit 430 may quantize the residual value of the attribute information, specifically, the quantization unit 430 may quantize the residual value of the attribute information of the point based on a quantization parameter (QP) value associated with the point cloud.
- QP quantization parameter
- the point cloud encoder can adjust the degree of quantization applied to the points by adjusting the QP value associated with the point cloud.
- the inverse quantization unit 450 may respectively apply inverse quantization to the residual values of the quantized attribute information to reconstruct the residual values of the attribute information from the residual values of the quantized attribute information.
- the reconstruction unit 460 may add the residual value of the reconstructed attribute information to the predicted value generated by the prediction unit 440 to generate a reconstructed value of the attribute information of the point in the point cloud.
- Filtering unit 470 may remove or reduce noise in reconstruction operations.
- the decoding buffer unit 480 may store reconstructed values of attribute information of points in the point cloud.
- the prediction unit 440 may use the reconstructed value of the attribute information of the point to predict the attribute information of other points.
- the point cloud decoder 300 mainly includes two parts functionally: a position decoding module and an attribute decoding module, wherein the position decoding module is used to realize the decoding of the geometric code stream of the point cloud, and obtain the position information of the point,
- the attribute decoding module is used to decode the attribute code stream of the point cloud to obtain the attribute information of the point.
- the attribute decoding module in the point cloud decoder involved in the present application will be introduced below with reference to FIG. 5 .
- FIG. 5 is a partial block diagram of an attribute decoding module involved in an embodiment of the present application.
- the attribute decoding module 500 can be understood as a unit for implementing attribute code stream decoding in the point cloud decoder 300 shown in FIG. 3 above.
- the attribute decoding module 500 includes: a decoding unit 510 , a prediction unit 520 , an inverse quantization unit 530 , a reconstruction unit 540 , a filtering unit 550 and a decoding buffer unit 560 .
- the attribute decoding module 500 may include more, less or different functional components.
- the attribute decoding module 500 can receive the attribute code stream.
- Decoding unit 510 may parse the attribute codestream to extract syntax elements from the attribute codestream. As part of parsing the attribute codestream, decoding unit 510 may parse the encoded syntax elements in the attribute codestream.
- the prediction unit 520, the inverse quantization unit 530, the reconstruction unit 540, and the filtering unit 550 may decode attribute information according to syntax elements extracted from the attribute codestream.
- the prediction unit 520 may determine the prediction mode of the point according to one or more syntax elements parsed from the codestream, and use the determined prediction mode to predict the attribute information of the point.
- the inverse quantization unit 530 may inverse quantize (ie, dequantize) the residual value of the quantized attribute information associated with the point in the point cloud to obtain the residual value of the attribute information of the point. Inverse quantization unit 530 may use the QP value associated with the point cloud to determine the degree of quantization.
- the reconstruction unit 540 uses the residual value of the attribute information of the point in the point cloud and the predicted value of the attribute information of the point in the point cloud to reconstruct the attribute information of the point in the point cloud. For example, the reconstruction unit 540 may add the residual value of the attribute information of the point in the point cloud to the predicted value of the attribute information of the point to obtain the reconstructed value of the attribute information of the point.
- Filtering unit 550 may remove or reduce noise in reconstruction operations.
- the attribute decoding module 500 may store the reconstructed value of the attribute information of the point in the point cloud in the decoding buffer unit 560 .
- the attribute decoding module 500 may use the reconstructed value of the attribute information in the decoding buffer unit 560 as a reference point for subsequent prediction, or transmit the reconstructed value of the attribute information to the display device for presentation.
- the basic process of encoding and decoding the attribute information of the point cloud is as follows: at the encoding end, the attribute information of the point cloud data is preprocessed, and the original value of the attribute information of the point in the point cloud is obtained.
- the prediction unit 410 selects one of the above three prediction methods based on the reconstructed value of the position information of the point in the point cloud, predicts the attribute information of the point in the point cloud, and obtains the predicted value of the attribute information.
- the residual unit 420 may calculate the residual value of the attribute information based on the original value of the attribute information of the point in the point cloud and the predicted value of the attribute information, that is, the difference between the original value of the attribute information of the point in the point cloud and the predicted value of the attribute information.
- the value is used as the residual value of the attribute information of the points in the point cloud.
- the residual value is quantized by the quantization unit 430, which can remove information insensitive to human eyes, so as to eliminate visual redundancy.
- the encoding unit 490 receives the residual value of the quantized attribute information output by the quantization unit 430, and can encode the residual value of the quantized attribute information, and output an attribute code stream.
- the inverse quantization unit 450 may also receive the residual value of the quantized attribute information output by the quantization unit 430, and perform inverse quantization on the residual value of the quantized attribute information to obtain the residual value of the attribute information of the points in the point cloud. difference.
- the reconstruction unit 460 obtains the residual value of the attribute information of the point in the point cloud output by the inverse quantization unit 450, and the predicted value of the attribute information of the point in the point cloud output by the prediction unit 410, and converts the residual value of the attribute information of the point in the point cloud.
- the value and the predicted value are added to obtain the reconstructed value of the attribute information of the point.
- the reconstructed value of the attribute information of the point is filtered by the filtering unit 470 and then buffered in the decoding buffer unit 480 for use in the subsequent prediction process of other points.
- the decoding unit 510 can parse the attribute code stream to obtain the residual value, prediction information, quantization coefficient, etc. of the attribute information of the point in the point cloud after quantization, and the prediction unit 520 predicts the attribute information of the point in the point cloud based on the prediction information Generates predicted values of attribute information for a point.
- the inverse quantization unit 530 performs inverse quantization on the residual value of the quantized attribute information of the point by using the quantization coefficient obtained from the attribute code stream, so as to obtain the residual value of the attribute information of the point.
- the reconstruction unit 440 adds the predicted value of the attribute information of the point and the residual value to obtain the reconstructed value of the attribute information of the point.
- the filtering unit 550 filters the reconstructed value of the attribute information of the point to obtain the decoded attribute information.
- the mode information or parameter information such as prediction, quantization, encoding, filtering, etc., determined during the encoding of the attribute information at the encoding end is carried in the attribute code stream when necessary.
- the decoding end determines the same prediction, quantization, coding, filtering and other mode information or parameter information as the encoding end by parsing the attribute code stream and analyzing the existing information, so as to ensure the reconstructed value of the attribute information obtained by the encoding end and that obtained by the decoding end.
- the reconstructed values of the attribute information are the same.
- the above is the basic process of the point cloud codec based on the G-PCC codec framework. With the development of technology, some modules or steps of the framework or process may be optimized. This application is applicable to the G-PCC codec-based codec.
- the basic process of the point cloud codec under the decoding framework but not limited to this framework and process.
- the encoding end will be introduced below with reference to FIG. 6 .
- FIG. 6 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application, and the embodiment of the present application is applied to the point cloud encoder shown in FIG. 1 , FIG. 2 , and FIG. 4 .
- the method of the embodiment of the present application includes:
- the current point is also referred to as the current point or the point to be processed or the point being processed, the point to be encoded, or the like.
- the point cloud includes a plurality of points, and each point can include the geometric information of the point and the attribute information of the point.
- the geometric information of the point may also be referred to as the position information of the point, and the position information of the point may be three-dimensional coordinate information of the point.
- the attribute information of the point may include color information and/or reflectivity and the like.
- the point cloud encoder may obtain the original attribute information of the point in the point cloud as the original value of the attribute information of the point.
- the point cloud encoder after obtaining the original attribute information of the point in the point cloud, performs color space conversion on the original attribute information, such as converting the RGB color space of the point into YCbCr format or other formats. Attribute transformation is performed on the point after color space conversion to minimize the attribute distortion, and the original value of the attribute information of the point is obtained.
- the predicted value of the attribute information of the current point in the point cloud is determined according to the geometric information of the point in the point cloud.
- the geometry of the point in the point cloud is encoded to obtain the reconstructed value of the geometric information of the current point in the point cloud; according to the reconstructed value of the geometric information of the current point, the predicted value of the attribute information of the current point is determined; according to the attribute of the current point The predicted value of the information and the original value of the attribute information determine the residual value of the attribute information of the current point.
- the original value of the attribute information is also referred to as the true value of the attribute information.
- the point cloud encoder After the point cloud encoder completes encoding the geometric information of the points in the point cloud, it then encodes the attribute information of the points in the point cloud.
- the first arithmetic encoding unit 205 encodes the geometry information of the points processed by the octree unit 203 to form a geometry code stream
- the geometry reconstruction unit 204 encodes the octree unit 203 Reconstruct the geometric information of the processed point to obtain a reconstructed value of the geometric information.
- the prediction unit can obtain the reconstructed value of the geometric information output by the geometric reconstruction unit 204 .
- the points in the point cloud are sorted according to the reconstructed value of the geometric information of the points in the point cloud, and the sorted point cloud is obtained.
- the Morton code of the point is determined, and the points in the point cloud are sorted according to the Morton code to obtain the Morton order of the point.
- For a current point in the sorted point cloud obtain at least one adjacent point of the current point from the point whose attribute information has been encoded, and predict the attribute of the current point according to the reconstructed value of the attribute information of the at least one adjacent point The predicted value of the information.
- the methods of predicting the predicted value of the attribute information of the current point according to the reconstructed value of the attribute information of at least one adjacent point of the current point include but are not limited to the following:
- the average value of the reconstructed values of the attribute information of at least one adjacent point is used as the predicted value of the attribute information of the current point.
- Method 2 Assuming that at least one adjacent point is K adjacent points, the reconstructed value of the attribute information of each adjacent point in the K adjacent points is used as the prediction reference value of the current point to obtain K prediction reference values. In addition, the average value of the reconstructed values of the attribute information of K adjacent points is used as another prediction reference value of the current point, so that the current point has K+1 prediction reference values in total. Calculate the rate-distortion optimization (RDO) cost corresponding to each of the K+1 prediction reference values, and use the prediction reference value with the smallest rate-distortion optimization cost as the prediction value of the attribute information of the current point.
- RDO rate-distortion optimization
- the residual value of the attribute information of the point in the point cloud is determined.
- the difference between the original value of the attribute information of the current point and the predicted value of the attribute information is determined as the residual value of the attribute information of the current point.
- the predicted value of the attribute information of the current point and the original value of the attribute information can be obtained according to the above steps, and the difference between the original value of the attribute information of the current point and the predicted value of the attribute information can be obtained. value, as the residual value of the attribute information of the current point.
- AttrResidual attrValue-attrPredValue (1)
- AttrResidual is the residual value of the attribute information
- attrValue is the original value of the attribute information
- attrPredValue is the predicted value of the attribute information.
- the residual unit 420 can calculate the residual value of the attribute information based on the original value of the attribute information of the point in the point cloud and the predicted value of the attribute information.
- the residual value is quantized by the quantization unit 430, which can remove information insensitive to human eyes, so as to eliminate visual redundancy.
- the inverse quantization unit 450 may also receive the residual value of the quantized attribute information output by the quantization unit 430, and perform inverse quantization on the residual value of the quantized attribute information to obtain the residual value of the attribute information of the point in the point cloud. .
- the reconstruction unit 460 obtains the residual value of the attribute information of the point in the point cloud output by the inverse quantization unit 450, and the predicted value of the attribute information of the point in the point cloud output by the prediction unit 410, and converts the residual value of the attribute information of the point in the point cloud. The value and the predicted value are added to obtain the reconstructed value of the attribute information of the point. The reconstructed value of the attribute information of the point is buffered in the decoding buffer unit 480 and used for the subsequent prediction process of other points.
- the embodiment of the present application uses a target quantization method to quantize the residual value of the attribute information of the current point, and obtains the quantized residual value of the attribute information of the current point.
- the target quantization method includes at least two quantization methods as follows: a first quantization method, a second quantization method and a third quantization method, and the first quantization method is to set a quantization parameter increment for the quantization parameter of at least one point in the point cloud, The second quantization method is to perform weighting processing on the residual value of the point in the point cloud, and the third quantization method is to perform lossless encoding on the residual value of the attribute information of at least one point in the point cloud.
- the first quantization manner may also be referred to as a progressive quantization manner
- the second quantization manner may also be referred to as an adaptive quantization manner
- the third quantization manner may also be referred to as an equal interval non-quantization manner.
- the point cloud encoding process in this embodiment of the present application is shown in FIG. 7 .
- FIG. 7 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the present application, including:
- each LOD layer includes at least one layer detail expression layer, and each layer of detail expression includes at least one point.
- the Morton code of the points is obtained, and the Morton order of the point cloud is obtained by sorting according to the Morton code. LOD partitioning based on Morton order of point cloud.
- the original order of the point cloud is obtained by sorting the point cloud according to the geometric information of the points in the point cloud. LOD partitioning is performed based on the original order of the point cloud.
- LOD division is performed on the sorted point cloud, for example, a point is randomly selected from the sorted point cloud as the first detail expression layer. Then, according to the geometric information, 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 detail expression layer. Obtain the centroid of the point in the second detail expression layer, calculate the Euclidean distance between the points other than the first and second detail expression layers and the centroid, and classify the point whose Euclidean distance meets the second threshold as the third detail expression layer. And so on, all the points are assigned to the detail expression layer. The points in each level of detail expression are sorted in the detail expression layer according to the size of the reconstructed value of the attribute information of the point.
- LOD division manner is only an example, and the LOD division manner may also adopt other manners, which are not limited in this application.
- Figure 8 is a schematic diagram of the LOD division of some point clouds.
- the upper part of Figure 8 is the 10 points p0, p2, ..., p9 in the original point cloud. According to the geometric information of these 10 points, the 10 points are sorted. Get the original order of points p0,p2,...,p9. Based on the original order of points p0, p2, ..., p9, LOD division is performed on points p0, p2, ..., p9 to obtain three detail expression layers, which do not overlap each other.
- the first detail expression layer R0 includes p0, p5, p4 and p2, the second detail expression layer R1 includes p1, p6 and p3, and the third detail expression layer R2 includes p9, p8 and p7.
- the first layer of detail expression layer R0 constitutes the first layer of LOD, denoted as L0
- the first layer of LOD and the second layer of detail expression layer R1 constitute the second layer of LOD, denoted as L1
- the second layer of LOD and the third layer of detail expression layer R2 constitutes the third layer of LOD, denoted as L2.
- the number of points included in the LOD layer increases layer by layer.
- the multi-layer detail expression layers obtained by dividing the LOD can be sorted according to the number of layers from low to high to obtain the LOD order of the point cloud.
- the multi-layer detail expression layers may also be sorted in descending order according to the number of layers, so as to obtain the LOD order of the point cloud.
- the multi-layer detail expression layers of the point cloud sort the layers from low to high to obtain the LOD order of the point cloud, and determine the predicted value of the attribute information of the points in the point cloud based on the LOD order of the point cloud.
- the above S203 includes but is not limited to the following ways:
- Method 1 based on the LOD order of the point cloud, obtain at least one adjacent point of the current point from the encoded point cloud, for example, find the three closest points of the current point from the encoded point cloud according to the KNN algorithm, and The weighted average of the reconstructed values of the attribute information of the three nearest neighbors is used as the predicted value of the attribute information of the current point.
- Method 2 Based on the LOD order of the point cloud, obtain at least one adjacent point of the current point from the encoded point cloud, for example, find the three closest points of the current point from the encoded point cloud according to the KNN algorithm, and set the The reconstructed value of the attribute information of each of the three nearest neighbor points is used as the prediction reference value of the current point, and three prediction reference values are obtained. In addition, the average value of the reconstructed values of the attribute information of the three adjacent points is used as another prediction reference value of the current point, so that the current point has 3+1 prediction reference values in total. Calculate the rate-distortion optimization (RDO) cost corresponding to each of the 3+1 prediction reference values, and use the prediction reference value with the smallest rate-distortion optimization cost as the prediction value of the attribute information of the current point.
- RDO rate-distortion optimization
- the reciprocal of the distance (eg, Euclidean distance) between the adjacent point and the current point may be used as the weight of the adjacent point.
- the prediction indexes corresponding to the above-mentioned 3+1 prediction reference values may be determined according to the following Table 1:
- the three closest adjacent points to the point p2 are p4, p5 and p1, where p4 is the one closest to p2 among the three adjacent points of the current point p2 Point, denoted as the first adjacent point, that is, 1 st nearest point, as shown in Table 1, its corresponding prediction index is 1.
- p5 is the point that is next to p4 from the current point p2 among the three adjacent points of the current point p2, and is recorded as the second adjacent point, that is, the 2 nd nearest point. As shown in Table 1, its corresponding prediction index is 2.
- p1 is the point farthest from the current point p2 among the three adjacent points of the current point p2, and is recorded as the third adjacent point, that is, the 3 rd nearest point. As shown in Table 1, its corresponding prediction index is 3. As shown in Table 1, the prediction index corresponding to the weighted average of the reconstructed values of the attribute information of p4, p5 and p1 is 0.
- the rate-distortion optimization (RDO) cost corresponding to each of the 3+1 prediction reference values, which is the average value of the attribute information of p4, p5, p1, and p4, p5, and p1, and calculate the rate-distortion optimization (RDO) cost.
- the prediction reference value with the smallest optimization cost is used as the prediction value of the attribute information of the current point, for example, the prediction reference value with the smallest rate-distortion optimization cost is the reconstructed value of the attribute information of the point p5.
- the point cloud encoder may carry the prediction index 2 corresponding to the point p5 in the subsequently formed attribute code stream.
- the decoding end can directly parse the prediction index 2 from the attribute code stream, and use the reconstructed value of the attribute information of the point p5 corresponding to the prediction index 2 to predict the attribute information of the point p2, and obtain the prediction of the attribute information of the point p2 value.
- S204 Determine the residual value of the attribute information of the current point according to the predicted value of the attribute information of the current point and the original value of the attribute information. For example, the difference between the original value of the attribute information of the current point and the predicted value is determined as the residual value of the attribute information of the current point.
- S205 Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- the target LOD layer where the current point is located can be determined according to the geometric information of the current point.
- the methods for determining the target quantization step size for adapting the target LOD layer include but are not limited to the following:
- determining the target quantization step size adapted to the target LOD layer includes the following steps A1, A2 and A3:
- Step A1 determine the quantization parameter in the coding parameter of the current point
- Step A2 Obtain the hierarchical index of the target LOD layer, and determine the quantization parameter increment of the target LOD layer according to the hierarchical index of the target LOD layer;
- Step A3 Determine the target quantization step size corresponding to the target LOD layer according to the quantization parameter and the quantization parameter increment of the target LOD layer.
- the quantization parameter increment DeltaQP values of the first 7 layers of LOD devices are shown in Table 2:
- R is the coding code rate
- Table 2 shows the DeltaQP values of the first 7 layers of LOD under 5 code rates. It should be noted that the above Table 1 is only an example, and the DeltaQP values corresponding to the first seven LOD layers in the embodiment of the present application include but are not limited to those shown in Table 2.
- the DeltaQP values in the foregoing Table 2 may all be set to -10.
- R1 to R5 represent five encoding bit rates recommended by the MPEG public test environment, and the QP values of the preset bit rate points in the public test environment are shown in Table 3.
- the real QP values of the first 7 layers of LOD under 5 code rates are shown in Table 4,
- the DeltaQP value under each code rate in Table 2 is added to the QP under the corresponding code rate shown in Table 3, and the real QP value under the corresponding code rate in Table 4 is obtained.
- the quantization parameter corresponding to the current point can be determined from the coding parameters of the current point, such as QPi in Table 3, and determined from the above Table 2 according to the hierarchical index of the target LOD layer where the current point is located.
- the quantization parameter increment corresponding to the target LOD layer is obtained, such as DeltaQPi in Table 2, according to the quantization parameter and the quantization parameter increment of the target LOD layer, determine the target quantization step size corresponding to the target LOD layer, such as in the current
- the QPi value corresponding to the point is added to the DeltaQPi value of the target LOD layer to obtain QPi+DeltaQPi, and the quantization step size corresponding to QPi+DeltaQPi is determined as the target quantization step size corresponding to the target LOD layer.
- the above-mentioned determining the quantization parameter increment of the target LOD layer according to the hierarchical index of the target LOD layer includes: if the target LOD layer belongs to the top N LOD layers of the point cloud, Then determine that the quantization parameter increment of the target LOD layer is j, the N is a positive integer less than or equal to the first threshold, and the j is an integer greater than 0 and less than or equal to the second threshold; if the target LOD If the layer does not belong to the first N LOD layers of the point cloud, the quantization parameter increment of the target LOD layer is determined to be 0.
- the j is a first preset value; if the quantization parameter is less than the third threshold, the j is a second preset value.
- the first threshold may be 14, and the second threshold may be 10.
- j may be 6 or 10, for example.
- N can be 6, 7 or 8.
- the above-mentioned determination of the target quantization step size adapted to the target LOD layer includes the following steps B1 and B2:
- Step B1 obtaining the hierarchical index of the target LOD layer
- Step B2 according to the hierarchical index of the target LOD layer, query the target quantization step size corresponding to the target LOD layer in the quantization step size lookup table.
- the quantization step size lookup table includes the correspondence between the LOD layer and the quantization step size.
- the above-mentioned quantization step size lookup table is preset.
- the embodiments of the present application further include a process of constructing a quantization step size lookup table. Specifically, the hierarchical index of the current image block and the quantization parameter offset parameter are determined; the quantization step size Qstep corresponding to the LOD of the level of detail is determined according to the hierarchical index of the current image block and the offset parameter of the quantization parameter. Then, the corresponding relationship between the level of detail level and the quantization step size is obtained, and the corresponding relationship is pre-stored in a quantization step size look-up table (look-up table) for subsequent encoding steps or decoding to determine the quantization step size.
- a quantization step size look-up table look-up table
- the level hierarchical index may be, for example, LodSplitIndex
- the quantization parameter offset parameter may be, for example, QpShiftValue
- the above-mentioned manner of determining the level index and quantization parameter offset parameter of the current image block may be: obtaining the encoding parameter of the current encoding block; reading the level index and quantization parameter offset in the encoding parameters parameter.
- the specific implementation manner of obtaining the coding parameters of the current coding block at least includes: determining the coding parameters of the current coding block by using rate-distortion optimization.
- the encoding parameters may include parameters preset in the configuration file and/or parameters determined according to the data of the point cloud.
- the coding parameters of the current coding block are obtained first, and then the quantization parameter optimization enable flag, the hierarchical index and the quantization parameter offset parameter in the coding parameters are read, which is beneficial to improve the optimization of the quantization parameters for determining the current coding block.
- Efficiency of enable flags, hierarchical index and quantization parameter offset parameters are read, which is beneficial to improve the optimization of the quantization parameters for determining the current coding block.
- the code stream includes a parameter set code stream.
- the corresponding parameters can be directly determined for decoding according to the parameter set code stream in the code stream, which is beneficial to improve the performance of subsequent decoding. effectiveness.
- the parameter set includes data for decoding point clouds at one or more different times; the data is attribute data, and the parameter set is an attribute parameter set.
- the decoding end decodes the code stream, it can directly decode the data used for decoding point clouds at different times according to the parameter set in the code stream, which is beneficial to improve the efficiency of subsequent decoding.
- the above-mentioned determining the quantization step size Qstep corresponding to the level of detail LOD according to the level hierarchy index and the quantization parameter offset parameter of the current image block includes: determining the quantization parameter in the encoding parameters of the current encoding block Qp; according to the hierarchical index of the current coding block and the quantization parameter offset parameter, determine the quantization parameter offset of each LOD layer in the point cloud; according to the quantization parameter Qp of the current coding block and the point cloud The quantization parameter offset of each LOD layer in the point cloud determines the quantization step size Qstep corresponding to each LOD layer in the point cloud.
- the above-mentioned quantization parameter offset is also referred to as a quantization parameter increment.
- the quantization parameter Qp may be determined by the QP parameter provided by the attribute parameter set.
- the relationship between the quantization parameter Qp of the current coding block and the quantization step size Qstep is as shown in formula (2):
- Residuals are also left-shifted by 8 bits to match when quantizing the residuals.
- the quantization parameter Qp in the coding parameters of the current coding block is first determined, and then the quantization parameter offset of each LOD layer is determined according to the hierarchical index of the current coding block and the quantization parameter offset parameter, and then the quantization parameter offset is determined according to the quantization parameter Qp is offset from the quantization parameter of each LOD layer to determine the quantization step size Qstep corresponding to each LOD layer, which is beneficial to improve the flexibility of determining the quantization step size.
- the determining the quantization parameter offset of each LOD layer according to the level hierarchy index and the quantization parameter offset parameter includes: judging whether the LOD layer of the currently processed level of detail belongs to the level The level range constrained by the hierarchical index, the level range includes the first N levels in the multiple detail levels, and N is a positive integer less than or equal to the first threshold; if so, the current processing is determined according to the quantization parameter offset parameter The value j of the quantization parameter offset of the LOD layer of the level of detail of 0.
- the LOD layers of the point cloud are grouped, and each group of LOD layers corresponds to a quantization step size look-up table, wherein the quantization step size look-up table corresponding to the group includes the quantization step size corresponding to at least one LOD layer in the group .
- searching for the target quantization step size corresponding to the target LOD layer where the current point is located first determine the target LOD group to which the target LOD layer belongs, and find the target quantization corresponding to the target LOD layer in the quantization step size lookup table corresponding to the target LOD group. step size.
- the value range of the level hierarchical index is the number of 0-LOD (positive integer), assuming that the level hierarchical index is 6, then the quantization step size of LOD 0 -LOD 5 (that is, the quantization step size of the detail level of the first 6 layers) ) is converted from QP-QpShiftValue (ie, quantization parameter-quantization offset parameter).
- the level of detail is further divided into multiple groups, for example, the level index is an array 4 5 6, correspondingly, the level of detail can be divided into 4 groups according to the three division positions, namely LOD 0 -LOD 3 , LOD 4 , Includes LOD 5 as well as LOD 6 and beyond.
- the value j of the quantization parameter offset corresponding to different groups may be different.
- j is an integer greater than 0 and less than or equal to the second threshold, then the quantization parameters corresponding to the detail levels of the first N levels are smaller than those of the later levels. This is considering the midpoint of the detail levels of the subsequent high levels, and the previous low levels will be used. If the quantization step size of the detail level of the previous level is relatively long, the corresponding reconstruction error will also be larger. At this time, the reconstruction error is transmitted to the subsequent level, which will affect the Subsequent predictions of mid-level LODs, resulting in less accurate predictions.
- the quantization step size corresponding to the smaller quantization parameter can be determined to reduce the reconstruction error. Smaller, using a smaller quantization step size will not have a great impact on the size of the color code stream. When the error of the detail level of the previous level is small, the prediction effect of the detail level of the subsequent level will also be better. A smaller quantization step size can also achieve better results, and a properly increased quantization step size can also reduce the size of the code stream and reduce the impact on coding efficiency.
- the first threshold may be 14, and the second threshold may be 10. This is to consider that the total number of layers of detail levels is generally 11-14; the minimum Qp value of the five code rates set by the public test environment CTC is 10, so j can be an integer greater than 0 and less than or equal to 10 to ensure that the subtraction Negative numbers do not appear after this value is removed.
- j can be 6 or 10, for example. Since the larger the value of j is, the smaller Qp-j is, and the corresponding quantization step size is also smaller. Further, the smaller the distortion of the reconstruction point and the smaller the error of the reconstruction value, the smaller the distortion of the reconstruction point and the smaller the error of the reconstruction value. The prediction will also be more accurate, so when j is 10, the prediction result will be more accurate, that is, the prediction effect will be better.
- N can be 6 or 8, for example. Since the reduction of the quantization step size reduces the error, it also increases the size of the encoded code stream, which affects the encoding efficiency. Therefore, the value of N can be 6, which is basically half of the total number of detail levels, and the number of points in the previous level. Relatively few, using a small quantization step size will reduce the error without causing too much increase in the code stream, or if N is 8, using a smaller quantization step size to quantize the points in the detail level of the first 8 layers is beneficial to The reconstruction value error is reduced, the subsequent prediction accuracy is improved, and the impact on the code stream size is reduced.
- the quantization parameter offset of the LOD layer of the currently processed level of detail is determined according to the quantization parameter offset parameter
- the value of j, j is an integer greater than 0 and less than or equal to the second threshold, if not, determine the value of the quantization parameter offset of the LOD layer of the currently processed level of detail to be 0, and adapt to the level of detail of the previous level
- the quantization step size corresponding to the smaller quantization parameter that is, the quantization step size corresponding to the detail level of the previous level is smaller, and the quantization step size corresponding to the detail level of the later level is larger than that of the previous level, which is conducive to improving the prediction accuracy.
- the impact on coding efficiency is reduced.
- j is a first preset value if the quantization parameter Qp is greater than or equal to a third threshold, then j is a first preset value; if the quantization parameter Qp is less than the third threshold, then j is a second preset value if the quantization parameter Qp is greater than or equal to a third threshold.
- the third threshold may be 30, the first preset value may be 10, and the second preset value may be 6.
- the value of j can be determined in the form of a piecewise function according to the size of the quantization parameter Qp corresponding to the current coding block. For example, when the quantization parameter Qp is greater than or equal to 30, j is 10, and when Qp is less than 30, j is 6.
- the determining the quantization parameter offset of the LOD layer according to the level hierarchical index and the quantization parameter offset parameter includes: judging the level combination corresponding to the LOD layer of the currently processed level of detail, querying The hierarchical index determines the hierarchical index of the LOD layer of the currently processed level of detail; the quantization parameter offset parameter is queried according to the hierarchical hierarchical index of the LOD layer of the processed level of detail, and the corresponding quantization parameter offset is determined. shift.
- the quantization parameter offset parameter can be an array, such as 3 5 6, that is, the quantization parameter offsets of the first to fourth groups are -3, -5 and - respectively. 6. If the determined quantization parameter is QP, the actual quantization parameters of the first to fourth groups are QP-3, QP-5, QP-6, and QP, respectively.
- any one level combination may include at least two adjacent levels, the multiple level combinations include the first level combination and the second level combination, the level in the first level combination Before the level in the second level combination, the quantization parameter corresponding to the first level combination is smaller than the quantization parameter corresponding to the second level combination, and different level combinations correspond to different quantization parameters, which is beneficial for different levels of detail levels.
- the corresponding quantization step size is further subdivided to improve the flexibility of determining the quantization step size.
- the first level combination may include the first two levels among the multiple detail levels, and the quantization step size corresponding to the first level combination is 1. Lossless quantization can be used in the first two layers, which is beneficial to further reduce errors and improve the accuracy of subsequent predictions, and because the number of midpoints in the first two layers is small, it will not have much impact on the size of the code stream.
- the multiple level combinations may include the first level combination, the second level combination, the third level combination and the fourth level combination sorted from front to back, and any one level combination includes at least 2 adjacent levels before and after;
- the first-level combination adopts 1/sqrt(4) of the original quantization step size as the quantization step size of this level.
- the original quantization step size refers to the quantization step size determined according to the quantization parameter Qp; the second-level combination adopts 1 of the original quantization step size.
- /sqrt(3) is used as the quantization step size of this level; the third level combination adopts 1/sqrt(2) of the original quantization step size as the quantization step size of this level; the fourth level combination uses the original quantization step size as the quantization step size of this level Quantization step size.
- the original quantization step size that is, the quantization step size determined according to the quantization parameter Qp corresponding to the current coding block
- ⁇ is a positive integer
- the four-level combination adopts ⁇ /sqrt(4), ⁇ /sqrt(3), ⁇ /sqrt(2), and ⁇ as the quantization step size of the level.
- the later the level combination the larger the corresponding quantization step size.
- Different layers in the layer combination use the same quantization step size.
- the quantization step size corresponding to the detail levels of different levels is further subdivided to improve the flexibility of determining the quantization step size.
- the quantization parameter offset when determining the quantization parameter offset, first determine the level combination corresponding to the level of detail level, and then further determine the level hierarchy index corresponding to the level of detail in the level combination, and then according to the corresponding level
- the hierarchical index queries the quantization parameter offset parameters, and determines the corresponding quantization parameter offset.
- Different level combinations correspond to different quantization parameter offsets, which is beneficial to further subdivide the quantization step size corresponding to the detail level of different levels, and improve the quantization step. Long-determined flexibility.
- the present application further includes a quantization parameter optimization enable flag, which is used to indicate whether the above-mentioned first quantization method can be used for quantization.
- the quantization parameter optimization enable flag can be: enableProgressiveQp, which can be taken as: Two values, 0 or 1.
- the prediction value before the prediction residual value is quantized based on the quantization weight of the current point and the quantization step size of the current point will be referred to as the prediction residual value, which will be based on
- the prediction value after the prediction residual value is processed by the quantization weight of the current point and before the prediction residual value is processed based on the quantization step size of the current point is called the weighted residual value, which will be based on the
- the prediction value obtained by quantizing the prediction residual value by the quantization weight of the current point and the quantization step size of the current point is called a quantization residual value.
- 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 above S207 includes: determining the index of the current point; and determining the quantization weight corresponding to the index of the current point as the first quantization weight of the current point.
- the encoder can obtain the first 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 point cloud is divided into one or more LOD layers, and each LOD layer includes one or more points;
- the initial value of the first quantization weight is greater than the initial value of the first quantization weight of points in the remaining LODs in the plurality of LOD layers.
- M is an integer greater than 0.
- the initial value of the first quantization weight of each point in the first seven LOD layers is set to 512
- the initial value of the first quantization weight of each point in the remaining LODs is set to 256.
- the first quantization weight of the current point is updated based on the first quantization weight of the N nearest neighbors of the current point.
- Quantization weight, 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 position information; based on the first quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbor points, update the first quantization weight of the N nearest neighbor points .
- 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 first 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 first 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 points have higher quantization weight values.
- the first quantization weights of the N nearest neighbors are updated based on the following formula (4):
- Q represents the current point
- Pi represents the i -th nearest neighbor point to Q
- optional i 1, 2, 3
- w(Q) represents the first quantization weight of the current point
- ⁇ (P i , Q) Indicates the influence weight of the current point on the neighbor point
- >>" is a right shift operation
- ⁇ is an assignment operation.
- a ⁇ B means to assign the value of B to A.
- ⁇ (P i , Q) 2 5-i .
- ⁇ (P i , Q) 2 6-i .
- the value of ⁇ (P i , Q) decreases as i increases.
- the initial value of the first quantization weight of all points in the point cloud is set to 256
- traverse each point in the reverse coding order to update the first quantization weight of its three nearest neighbors assuming that the index of the currently traversed point is index, and the indices of the three closest points of the current point are indexN1, indexN2, and indexN3, respectively
- the first quantization weight of the three closest points P10, P3, and P11 of the current point P1 can be recorded as :
- the first quantization weights of its three nearest neighbors are updated in the following manner:
- the value of k is 8.
- 16, 8, and 4 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, and the influence weight can be set through the attribute parameter set. value.
- 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.
- 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 may also be changed to 64, 32, and 16, respectively.
- the first quantization weight of the current point is 256
- the first quantization weight of the nearest neighbor point 0 is also 256
- the result of (32 ⁇ 256)>>8 is 32, that is, the operation result is shifted to the right
- the first quantization weight 288 is used to update the three neighbors of the nearest point 0.
- 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 representing 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.
- S208 Quantize the residual value of the attribute information of the current point according to the target quantization step size and the first quantization weight to obtain the quantized residual value of the attribute information of the current point.
- the above S204 and S403 include the following steps C1 and C2:
- Step C1 according to the first quantization weight of the current point, determine the second quantization weight of the current point;
- Step C2 Perform inverse quantization on the quantized residual value of the attribute information of the current point according to the target quantization step size and the second quantization weight to obtain the reconstructed residual value.
- the second quantization weight is less than or equal to the target quantization step size of the current point, where the target quantization step size of the current point is the target quantization step size of the target LOD layer where the current point is located.
- effectiveQuantWeight represents the second quantization weight of the current point
- w(Q) represents the first quantization weight of the current point
- k represents the number of bits for right-shifting the w(Q)
- Qstep represents the The target quantization step size of the current point, ">>" is the right shift operation.
- the first quantization weight of the current point may exceed the target quantization step size.
- the smaller value of the two is long taken to obtain the second 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 second quantization weight is equal to an integer power of 2.
- the value of the first quantization weight of the current point is not equal to the integer power of 2, and based on the value of the first quantization weight of the current point, the value of the first quantization weight that is closest to the current point is 2.
- the integer power of is determined as the second quantization weight.
- the value of the first quantization weight of the current 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 is converted to 16, that is 18 is replaced by 16. Assuming that the value of the first quantization weight of the current point is 30, the nearest integer power of 2 will become 32. At this time, the first quantization weight of the current point will be converted to 32; for 2 Integer power, the function of adaptive quantization can be realized by binary shift operation, which is convenient for hardware implementation.
- 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 of the quantization weight of the current point and the target quantization step size of the current point may be taken first, and then the integer times of 2 that are closest to the minimum value may be taken. power, which is determined as the second quantization weight.
- the second quantization weight may also be determined in other manners, which is not specifically limited in this embodiment of the present application.
- the first quantization weight of the current point may be directly determined as the second quantization weight of the current point.
- the step C2 may include: multiplying the prediction residual value by the second quantization weight to obtain a weighted residual value; The difference value is quantized 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 second 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 of the point is entropy encoded and written into the code stream.
- the decoder first calculates the first quantization weight of each point in the point cloud according to the reconstructed position information, determines the second quantization weight of each point by comparing with the target quantization step size, and then parses the code stream to obtain the quantization of the current point. Residual value, inverse quantization to obtain the weighted prediction residual value, dividing the weighted prediction residual value by the second 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 current point The predicted value of the attribute information and the predicted residual value are used to obtain the reconstructed value of the attribute information of the current point. 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 second quantization weight for weighting; after inverse quantization, the decoder divides the inverse quantized weighted prediction residual value by the second quantization weight. The weight removes the weighting effect and obtains the prediction 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 step C2 may include:
- AttrResidualQuant2 attrResidualQuant1 ⁇ effectiveQuantWeight/Qstep (7)
- AttrResidualQuant2 represents the quantization residual value
- attrResidualQuant1 represents the original value of the residual value
- effectiveQuantWeight represents the second quantization weight of the current point
- Qstep represents the quantization step size of the current point
- "X" represents multiplication operation
- "/" means division operation.
- the step C2 may include: updating the target quantization step size according to the second quantization weight of the current point; updating the target quantization step size according to the updated quantization step size The residual value of the attribute information of the current point is quantized.
- updating the target quantization step size according to the second quantization weight of the current point includes: using the following formula (8) to update the target quantization step size of the current point:
- effectiveQuantWeight represents the second quantization weight of the current point
- newQstep represents the updated quantization step size of the current point based on the target quantization step size of the current point
- Qstep represents the target quantization step size of the current point
- "/" indicates a division operation
- S209 Encode the quantized residual value of the current point to generate an attribute code stream.
- the target LOD layer where the current point is located is determined according to the geometric information of the current point, and the target quantization step size corresponding to the target LOD layer is determined.
- the target quantization step size is determined based on the increment of the quantization parameter, which improves the Flexibility in determining the quantization step size.
- this embodiment introduces a first quantization weight for weighting the quantization step size of the current point. By introducing the quantization weight of the current point, it is equivalent to quantizing the target of the current point based on the first quantization weight of the current point.
- the step size is revised, that is, the target quantization step size of the current point can be adaptively adjusted according to the importance of the current point, and then the residual value of the current point is quantized based on the adjusted target quantization step size.
- the point with high quantization weight is quantized with a smaller quantization step size to reduce its reconstruction error, and for the point located later in the coding sequence, its prediction accuracy can be improved, and the coding effect can be improved.
- the points in the cat1-A point cloud sequence include color attribute information and other attribute information, such as reflectance attribute information, and the points in the cat1-B point cloud sequence include color attribute information.
- BD-AttrRate is one of the main parameters for evaluating the performance of video coding algorithms, indicating that the video encoded by the new algorithm (that is, the technical solution of the present application) has a higher bit rate and PSNR (Peak Signal to Noise Ratio, peak signal-to-noise ratio) than the original algorithm.
- PSNR Peak Signal to Noise Ratio, peak signal-to-noise ratio
- the change in the above that is, the change in the code rate of the new algorithm and the original algorithm under the same signal-to-noise ratio.
- "-" indicates performance improvement, such as bit rate and PSNR performance improvement.
- the performance of the luminance component is improved by 0.8%
- the performance of the chrominance component Cb is improved by 4.1%
- the performance of the chrominance component is improved by 4.1%
- the performance on component Cr is improved by 5.4%.
- Average represents the average of the performance improvement of the cat1-A point cloud sequence and the cat1-B point cloud sequence.
- the point cloud encoding process in this embodiment of the present application is shown in FIG. 10 .
- FIG. 10 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the application, as shown in FIG. 10 , including:
- each LOD layer includes at least one layer detail expression layer, and each layer of detail expression includes at least one point.
- S304 Determine the residual value of the attribute information of the current point according to the predicted value of the attribute information of the current point and the original value of the attribute information. For example, the difference between the original value of the attribute information of the current point and the predicted value is determined as the residual value of the attribute information of the current point.
- S305 Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- S306 Determine whether the current point belongs to the point of lossless encoding, if it is determined that the current point belongs to the point of lossy encoding, execute the following S307 to S309, and if it is determined that the current point belongs to the point of lossless encoding, execute the following S310.
- S307 Determine the target quantization step size of the adaptation target LOD layer. For details, refer to the description of S206 above, which will not be repeated here.
- S308 Quantize the residual value of the attribute information of the current point according to the target quantization step size to obtain the quantized residual value of the attribute information of the current point.
- S309 Encode the quantized residual value of the current point to generate an attribute code stream.
- the present application performs lossless coding on the residual value of the attribute information of at least one point in the point cloud, so as to reduce the influence of quantization on the reconstructed value of the attribute information, thereby improving the accuracy of attribute information prediction, and will not It has a great influence on the size of the attribute code stream, thereby improving the encoding effect of the attribute information.
- the lossless encoding of the residual value of the attribute information of the point may also be referred to as the non-quantization of the residual value of the attribute information of the point.
- This application does not limit the number of points for which the residual value of the attribute information is losslessly encoded.
- the residual value of the attribute information of some points in the point cloud is quantized, and the residual value of the attribute information of some points is not quantized. (that is, lossless encoding is performed); or, the residual values of attribute information of all points in the point cloud are not quantized (that is, lossless encoding).
- the at least one point where the residual value of the attribute information is losslessly encoded may include N points.
- the N is an integer multiple of 2, for example, lossless encoding is performed on residual values of attribute information of 2, 4, 16 or 24 points in the point cloud.
- the above N points can be any N points in the point cloud, for example, N consecutive points in the sorted point cloud, or N points selected randomly, or N points specified, Or it is N points selected according to a preset point-taking interval, where the point-taking interval may be a non-uniform interval.
- the interval between each adjacent two points in the above N points is equal.
- the above point cloud includes 1200 points.
- N is 24, then the interval between these 24 points is equal, which is 50 points.
- lossless encoding is performed on the residual value of the attribute information of the point at every preset interval in the point cloud.
- the preset interval is 10
- lossless encoding is performed on the residual value of the attribute information of the point at every 10 points in the sorted point cloud.
- the first point in the 1200 points can be used as the point where the residual value of the first attribute information is not quantized
- the interval is 10 points
- the 11th point can be used as the residual value of the second attribute information is not quantized. points, and so on.
- the 11th point in the 1200 points can be used as the point for lossless encoding of the residual value of the first attribute information
- the interval is 10 points
- the 21st point can be used as the residual value of the second attribute information. Points for lossless encoding, and so on.
- the embodiments of the present application further include S3061 , performing lossless encoding on the attribute residual value of at least one point in at least one detail expression layer of the multi-layer detail expression layers.
- the above S3061 may include: performing lossless encoding on the attribute residual value of at least one point in a layer of detail expression in the multi-layer detail expression layer; or, performing partial detail expression in the multi-layer detail expression layer
- the attribute residual value of at least one point in the layer is subjected to lossless encoding, and the attribute residual value of each point in the partial detail expression layer in the multi-layer detail expression layer is quantized;
- the attribute residual value of at least one point in each detail expression layer is coded losslessly.
- the above S3061 includes S3061-A1, S3061-A2 and S3061-A3:
- S3061-A3 Perform lossless encoding on the residual value of the attribute information of at least one point in the second type of detail expression layer.
- the number of points included in each layer in the multi-layer detail expression layer may be the same or different.
- the multi-layer detail expression layer is divided into the first type of detail expression layer and the second type of detail expression layer, wherein the first type of detail expression layer
- the total number of points included in the layer is less than or equal to the first preset value
- the total number of points included in the second type of detail expression layer is greater than the first preset value.
- the point cloud is divided into LOD, and 14 layers of detail expression layers are obtained.
- the number of points included in the detail expression layer is: 1, 6, 28, 114, 424, 1734, 10000... .
- the first preset value is 24, as shown in FIG. 9 , the first 2 detail expression layers (that is, the first detail expression layer including 1 point and the second detail expression layer including 6 points)
- the layer detail expression layer is divided into the first type of detail expression layer, and 2 first type of detail expression layers are obtained. and other detail expression layers after the third detail expression layer) are divided into the second type of detail expression layer, and 12 second type of detail expression layers are obtained.
- the residual value of the attribute information of all points in the first type of detail expression layer is not quantized, for example, the residual value of the attribute information of all points in the first two detail expression layers of the above 14 detail expression layers Perform lossless encoding.
- the residual value of the attribute information of at least one point in the second type of detail expression layer is not quantized.
- the difference is encoded losslessly.
- different second-type detail expression layers can adopt different skip quantization point selection methods.
- each second-type detail expression layer has different Point selection method.
- different second-type detail expression layers may adopt the same skip quantization (skip quantization) point selection method, for example, the point selection method of each second-type detail expression layer is the same.
- the encoding end may carry the relevant information of the first type of detail expression layer and the second detail expression layer in the attribute code stream.
- the decoding end can parse out the relevant information of the first type of detail expression layer and the second type of detail expression layer from the attribute code stream, and perform point analysis according to the parsed related information of the first type of detail expression layer and the second type of detail expression layer. Reconstruction of attribute information.
- S3061-A3 includes S3061-A3-1:
- S3061-A3-1 Perform lossless encoding on residual values of attribute information of M points in the second type of detail expression layer, where M is a positive integer multiple of 2, such as 2, 4, 24, 32, and the like.
- the interval between two adjacent points among the M points in the second type of detail expression layer of the same layer is equal.
- the second detail expression layer 1 includes 200 points
- the second detail expression layer 2 includes 300 points.
- M is equal to 10
- the residual values of the attribute information of the 20 points in the second detail expression layer 1 are encoded losslessly.
- the 1st point, the 11th point, the 21st point, the 31st point...the 181st point, the 191st point the points where the residual values of the adjacent two attribute information are encoded losslessly 10 points in between.
- the residual values of the attribute information of the 30 points in the second detail expression layer 2 are subjected to lossless encoding, in order: the 1st point, the 11th point, the 21st point, the 31st point...
- the 291st point is 10 points apart between two adjacent points of lossless encoding of residual values of attribute information.
- the above-mentioned M can be added to the attribute parameter set of the encoding end according to the following procedure, so as to set the specific numerical value of the non-quantized points in the middle interval of each second type of detail expression layer through the encoding parameter:
- aps_equal_intervals_unquantized_num represents the number of unquantized points in the middle interval of each second type of detail expression layer, such as 24.
- At least one second-type detail expression layer includes L second-type detail expression layers
- the number of points for lossless encoding of residual values of attribute information in different second-type detail expression layers may be different.
- L is a positive integer greater than or equal to 2
- both P and Q are positive integers
- the sum of P and Q is less than or equal to L
- the P second-type detail expression layers and Q second-type detail expression layers do not overlap , the first quantity is different from the second quantity.
- the above P second type detail expression layers may be any P second type detail expression layers among the L second type detail expression layers, and the P second type detail expression layers may be continuous second type detail expression layers, or It can be a discontinuous second type of detail expression layer.
- the above-mentioned Q second-type detail expression layers may be any Q second-type detail expression layers except the P second-type detail expression layers among the L second-type detail expression layers, and the Q second-type detail expression layers. It can be a continuous second type of detail expression layer, or it can be a discontinuous second type of detail expression layer.
- L is equal to 12
- the P second-type detail expression layers are the first P second-type detail expression layers among the L second-type detail expression layers.
- the Q second-type detail expression layers are the last Q second-type detail expression layers among the L second-type detail expression layers.
- the P second-type detail expression layers are continuous with each other, and the Q second-type detail expression layers are continuous with each other.
- P can be 7 or 8.
- the last second type of detail expression layer in the P second type of detail expression layers is adjacent to the first second type of detail expression layer of the Q second type of detail expression layers.
- the last second-type detail expression layer in the P second-type detail expression layers is the seventh-level detail expression layer, and in the Q second-type detail expression layers
- the first second type of detail expression layer is the 8th layer of detail expression layer, and the 7th layer of detail expression layer is adjacent to the 8th layer of detail expression layer.
- the L second-type detail expression layers are divided into P second-type detail expression layers and Q second-type detail expression layers, and for each second-type detail expression layer in the P second-type detail expression layers layer, the residual value of the attribute information of the first number of points in the second type of detail expression layer is not quantized. For each second-type detail expression layer in the Q second-type detail expression layers, the residual value of the attribute information of the second number of points in the second-type detail expression layer is not quantized.
- the first number is greater than the second number, for example, the first number is 24, 32 or 64, and the corresponding second number may be 8, 16 or 32.
- the multi-layer detail expression layers are sorted from low to high to obtain the LOD order of the point cloud, and the attribute information is calculated according to the LOD order of the point cloud. coding.
- the points ranked earlier in the LOD order have a greater chance of being used as reference points in the subsequent prediction process.
- the earlier P The residual values of attribute information of more points in the second type of detail expression layer are not quantized.
- the residual values of attribute information of less points in the second Q second-type detail expression layers are not quantized.
- the first number is a positive integer multiple of the second number, for example, the first number is 3 times or 2 times the second number, for example, the first data is 24 and the second number is 8.
- the interval between two adjacent points among the first number of points in each of the P second-type detail expression layers is equal.
- the interval between two adjacent points among the second number of points in each of the Q second-type detail expression layers is equal.
- the prediction results of the points in the LODs of the first few layers are more important, so the LOD of each layer of the first seven layers (LOD0 ⁇ LOD6)
- the number of points of the attribute residual values that are not quantized at equal intervals is 32 (intermittent_unquantized_num), and the number of points that are not quantized at equal intervals of each subsequent LOD layer is 10 (intermittent_unquantized_num/3).
- limittent_unquantized_num 32.
- limittent_unquantized_num/3 10.
- the quantization may be performed in the following manner:
- Manner 1 During the process of quantizing the residual value of the attribute information of the point in the point cloud, at least one point for which the residual value of the attribute information is losslessly encoded is skipped.
- the quantization step size of at least one point that performs lossless encoding on the residual value of the attribute information is set to 1.
- the residual value of the attribute information of the point is currently quantized according to the following formula (9):
- AttrResidualQuant is the residual value of the attribute information after quantization
- Qstep is the quantization step size.
- Manner 3 The quantization parameter QP of at least one point where the residual value of the attribute information is losslessly encoded is set as the target value, and the target value is the QP value corresponding to when the quantization step size is 1.
- the QP value is usually pre-configured through the configuration file. Based on this, the QP can be set to the corresponding QP value when the quantization step size is 1.
- the attribute code stream includes first information, where the first information is used to indicate a point at which the residual value of the attribute information is subjected to lossless encoding.
- the first information includes identification information of points whose residual values of attribute information are losslessly encoded
- the point cloud includes 100 points of lossless encoding of residual values of attribute information, which is carried in the attribute code stream.
- the decoding end parses the attribute code stream, obtains the identification information of the points whose residual values of attribute information are losslessly encoded, and after the residual values of the attribute information of these points, the residual values of the attribute information of the points corresponding to the identification information are obtained. No inverse quantization is performed, but the residual value of the attribute information of these points is directly used to reconstruct the attribute information to keep it consistent with the encoding end.
- the first information includes the total number of points where the residual value of the attribute information is losslessly encoded, such as the above N.
- the first information includes each The specific number (num) of points where the residual values of the attribute information in the second type of detail expression layer are equally spaced losslessly encoded, that is, num is carried in the attribute code stream.
- the above-mentioned first information also needs to carry the first The identification information of the point where the residual value of the attribute information is losslessly encoded.
- the above-mentioned first information further includes the first quantity and the second quantity, and P The division information of the second type of detail expression layers and the Q second type of detail expression layers.
- the above division information It also includes the identification information of the first second-type detail expression layer of the Q second-type detail expression layers; or, includes the identification information of the last second-type detail expression layer of the P second-type detail expression layers; or, Include P and/or Q.
- the decoding end can determine P second type detail expression layers and Q second type detail expression layers from the L second type detail expression layers according to the information, and then determine each of the P second type detail expression layers for each of the second type detail expression layers.
- the first information may further include identification information of points where the residual value of the first attribute information of each second type of detail expression layer is quantized losslessly encoded.
- the encoding process of the point cloud includes: the encoding end determines whether the current point belongs to the first 7 layers of LOD and determines whether the current point is not quantized according to the third quantization method the point.
- the first quantization method and the third quantization method are combined, and specifically, according to the geometric information of the current point, the target LOD layer where the current point is located is determined; if it is determined that the current point is a lossy coded point, then determine the target quantization step size adapted to the target LOD layer; according to the target quantization step size, quantize the residual value of the attribute information of the current point to obtain the attribute information of the current point The quantized residual value of . If it is determined that the current point belongs to the point of lossless encoding, lossless encoding is performed on the residual value of the attribute information of the current point.
- the target LOD layer where the current point is located is determined according to the geometric information of the current point, and the target quantization step size corresponding to the target LOD layer is determined. Long deterministic flexibility.
- the residual value of attribute information of at least one point in the point cloud is subjected to lossless encoding (ie, no quantization) to reduce the influence of quantization on the reconstructed value of attribute information, thereby improving the accuracy of attribute information prediction.
- the points in the cat1-A point cloud sequence include color attribute information and other attribute information.
- Table 7 for the cat1-A point cloud sequence, using the technical solution of the present application, compared with the original technology, the performance of the luminance component, the chrominance component Cb, and the chrominance component Cr are all improved.
- the target quantization mode includes the first quantization mode, the second quantization mode, and the third quantization mode
- the encoding process in this embodiment of the present application is shown in FIG. 13 .
- FIG. 13 is a schematic flowchart of a point cloud encoding method provided by an embodiment of the application, as shown in FIG. 13 , including:
- each LOD layer includes at least one layer detail expression layer, and each layer of detail expression includes at least one point.
- S404 Determine the residual value of the attribute information of the current point according to the predicted value of the attribute information of the current point and the original value of the attribute information. For example, the difference between the original value of the attribute information of the current point and the predicted value is determined as the residual value of the attribute information of the current point.
- S405. Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- S406 Determine whether the current point is a point of lossless encoding, if it is determined that the current point belongs to a point of lossy encoding, perform the following S407 to S410, and if it is determined that the current point is a point of lossless encoding, perform S411.
- the process of judging whether the current point is a lossless coded point is a lossless coded point may refer to the description of 306 above, which will not be repeated here.
- S407 Determine the target quantization step size of the adaptation target LOD layer. For details, refer to the description of S206 above, which will not be repeated here.
- S409 Quantize the residual value of the attribute information of the current point according to the target quantization step size and the first quantization weight to obtain the quantized residual value of the attribute information of the current point.
- the first quantization method is used to calculate the quantization weights of all points in the point cloud (ie, the first quantization weights). It is judged whether the current point belongs to the LOD of the first 7 layers and whether the point is not quantized is judged according to the second quantization method.
- the current point belongs to the first 7 layers of LOD, and the current point is not an unquantized point
- the residual value of the current point is multiplied by the second quantization weight w(Q) for weighting to obtain a weighted residual value, and the weighted residual value is quantized according to the target quantization step size.
- the current point does not belong to the first 7 layers of LOD, and the point is not an unquantized point
- w(Q) min(w (Q), Qstep
- this point Qstep 1 (ie, this point does not require quantization).
- the first quantization method, the second quantization method and the third quantization method are combined, and specifically, according to the geometric information of the current point, the target LOD layer where the current point is located is determined;
- the current point belongs to the point of lossy coding, then determine the target quantization step size for adapting the target LOD layer and determine the first quantization weight of the current point; according to the target quantization step size and the first quantization weight, the current
- the residual value of the attribute information of the point is quantized to obtain the quantized residual value of the attribute information of the current point. If it is determined that the current point belongs to the point of lossless encoding, lossless encoding is performed on the residual value of the attribute information of the current point.
- the residual value of the attribute information of at least one point in the point cloud is losslessly encoded (ie, not quantized), so as to reduce the influence of quantization on the reconstructed value of the attribute information, thereby improving the accuracy of attribute information prediction.
- this embodiment introduces a first quantization weight for weighting the quantization step size of the current point. By introducing the quantization weight of the current point, it is equivalent to quantizing the target of the current point based on the first quantization weight of the current point.
- the step size is revised, that is, the target quantization step size of the current point can be adaptively adjusted according to the importance of the current point, and then the residual value of the current point is quantized based on the adjusted target quantization step size.
- the point with high quantization weight is quantized with a smaller quantization step size to reduce its reconstruction error, and for the point located later in the coding sequence, its prediction accuracy can be improved, and the coding effect can be improved.
- the points in the cat1-A point cloud sequence include color attribute information and other attribute information.
- Table 7 for the cat1-A point cloud sequence, using the technical solution of the present application (the combination of the first quantization method, the second quantization method and the third quantization method), compared with the original technology, the luminance components, The performance of the chrominance component Cb and the chrominance component Cr is improved.
- FIG. 14 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the present application. As shown in FIG. 14 , the method of the embodiment of the present application includes:
- the target inverse quantization method includes at least two inverse quantization methods as follows: a first inverse quantization method, a second inverse quantization method and a third inverse quantization method, and the first inverse quantization method is an inverse quantization parameter for at least one point in the point cloud Set the inverse quantization parameter increment, the second inverse quantization method is to weight the residual value of the point in the point cloud, and the third inverse quantization method is to perform lossless decoding on the residual value of the attribute information of at least one point in the point cloud. .
- inverse quantization can also be called inverse quantization or dequantization, which can be understood as Scaling.
- the predicted value can be a color predicted value in the attribute predicted value.
- the decoding of the geometric information of the points in the point cloud is completed, the decoding of the attribute information is performed. After decoding the geometric code stream, the geometric information of the points in the point cloud can be obtained.
- the attribute code stream of the point cloud is analyzed, and the quantized residual value of the attribute information of the point in the point cloud is obtained.
- Use the target quantization method to inverse quantize the quantized residual value of the attribute information of the point in the point cloud, and obtain the reconstructed residual value of the attribute information of the point.
- the target inverse quantization method includes the following at least two inverse quantization methods: a first inverse quantization method, a second inverse quantization method, and a third inverse quantization method.
- the embodiment of the present application further includes determining the predicted value of the attribute information of the point in the point cloud according to the geometric information of the point in the point cloud.
- the geometric information of the point in the point cloud is decoded to obtain the reconstructed value of the geometric information of the point in the point cloud, and the predicted value of the attribute information of the point in the point cloud is determined according to the reconstructed value of the geometric information of the point in the point cloud.
- the reconstructed value of the attribute information of the point in the point cloud is obtained.
- the decoding process is shown in FIG. 15 .
- FIG. 15 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the application, as shown in FIG. 15 , including:
- Each LOD layer includes at least one detail expression layer, and each detail expression layer includes at least one point.
- S603. Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- the points in the point cloud are sorted according to the multi-layer detail expression layer to obtain the LOD order, and according to the geometric information of the point to be decoded, at least one decoded adjacent point of the point to be decoded is obtained in the LOD order, according to the at least one
- the reconstructed value of the attribute information of the decoded adjacent point determines the predicted value of the attribute information of the point to be decoded.
- manners of implementing manner S605 include but are not limited to the following:
- Mode 1 Decode the code stream to obtain the quantization parameter in the encoding parameter of the current point; obtain the hierarchical index of the target LOD layer, and determine the quantization parameter increment of the target LOD layer according to the hierarchical index of the target LOD layer; according to the quantization parameter and the quantization parameter increment of the target LOD layer to determine the target quantization step size corresponding to the target LOD layer.
- determining the quantization parameter increment of the target LOD layer according to the hierarchical index of the target LOD layer includes: if the target LOD layer belongs to the top N LOD layers of the point cloud, determining the quantization parameter increment of the target LOD layer The quantity is j, N is a positive integer less than or equal to the first threshold, j is an integer greater than 0 and less than or equal to the second threshold; if the target LOD layer does not belong to the first N LOD layers of the point cloud, then determine the target LOD layer The quantization parameter increments to 0.
- j is the first preset value; if the quantization parameter is less than the third threshold, j is the second preset value.
- Method 2 Obtain the hierarchical index of the target LOD layer; according to the hierarchical index of the target LOD layer, query the target quantization step size corresponding to the target LOD layer in the quantization step size look-up table, and the quantization step size look-up table includes the LOD layer and the quantization step. Correspondence between lengths.
- the number of LODs of the level of detail is set by the common coding parameter CTC of the point cloud, and this part of the parameters belongs to the attribute parameter set of the point cloud.
- different quantization step sizes Qstep are used to perform inverse quantization for the divided LODs, and the division of different LODs and the change values of the quantization step sizes may be preset.
- the quantization step size adapted for the level of detail at the earlier level can be smaller, the quantization step size for the level of detail at the later level can be larger, and the number of midpoints for the level of detail at the earlier level is smaller.
- the number of points in the level of detail at the back of the level is relatively large, the level of detail with a smaller number of points is suitable for a smaller quantization step size, and the level of detail with a large number of points is suitable for a larger quantization step size, and the overall processing is performed during decoding. It won't be too long.
- the quantization step size Qstep i is adapted to the level of the detail level at which the point P i is located, instead of using a fixed quantization step size Inverse quantization is beneficial to improve the decoding efficiency.
- the method before determining the quantization step size Qstep corresponding to the level LOD of the level of detail according to the level hierarchy index and the quantization parameter offset parameter of the current decoding block, the method further includes: determining the quantization parameter optimization enable flag of the current decoding block The value of the quantization parameter optimization enable flag is detected as the first value, and the hierarchical index of the current decoding block and the quantization parameter offset parameter are determined; the level LOD corresponding to the level of detail is determined according to the hierarchical index and the quantization parameter offset parameter.
- the quantization step size Qstep before determining the quantization step size Qstep corresponding to the level LOD of the level of detail according to the level hierarchy index and the quantization parameter offset parameter of the current decoding block.
- the quantization parameter optimization enable flag can be 0 or 1, and one of the values is recorded as the first value, and only the quantization parameter Only when the value of the optimization enable flag is the first value, the level hierarchy index and the quantization parameter offset parameter are determined, and the quantization step size Qstep corresponding to the level of detail is further determined.
- the value of the quantization parameter optimization enable flag of the current decoding block is first determined, and when it is detected that the value of the quantization parameter optimization enable flag is the first value, the hierarchical index of the current decoding block and the quantization parameter offset are determined.
- the quantization step size Qstep corresponding to the level LOD of the detail level is determined according to the level hierarchy index and the quantization parameter offset parameter, which is beneficial to improve the decoding efficiency.
- determining the value of the quantization parameter optimization enable flag of the current decoding block includes: parsing the code stream, and obtaining the value of the quantization parameter optimization enable flag in the parameter set of the current decoding block.
- the code stream may include a parameter set, and when parsing the code stream, the value of the quantization parameter optimization enable flag in the parameter set of the current decoding block may be obtained.
- the value of the quantization parameter optimization enable flag in the parameter set of the current decoding block can be obtained by parsing the code stream, which is beneficial to improve decoding efficiency.
- the parameter set is the attribute parameter set of the current coding block.
- the value of the quantization parameter optimization enable flag in the attribute parameter set of the current decoding block can be obtained.
- the value of the quantization parameter optimization enable flag in the attribute parameter set of the current decoding block can be obtained by parsing the code stream, which is beneficial to improve the decoding efficiency.
- determining the level hierarchy index and the quantization parameter offset parameter of the current decoding block includes: reading the level hierarchy index and the quantization parameter offset parameter in the attribute parameter set.
- the hierarchical index and quantization parameter offset parameter in the attribute parameter set can be directly read.
- the hierarchical index and quantization parameter offset parameter in the attribute parameter set can be read, which is beneficial to improve decoding efficiency.
- determining the quantization step size Qstepi of the level LODi of the adaptation level of detail includes: querying the quantization step size look-up table according to the level hierarchical index of the level LODi, obtaining the quantization step size Qstepi corresponding to the level LODi, and the quantization step size
- the look-up table includes the correspondence between the level of detail LOD and the quantization step size Qstep.
- the quantization step size lookup table can be queried according to the hierarchical index corresponding to each level LODi. Since the quantization lookup table includes the correspondence between the level of detail LOD and the quantization step size Qstep, the lookup table can be directly The way to determine the quantization step size Qstepi that is adapted to a certain level of detail level LODi is given.
- the quantization step size look-up table is queried according to the hierarchical index of the level LODi to obtain the quantization step size Qstepi corresponding to the level LODi, and the quantization step size look-up table includes the correspondence between the level of detail LOD and the quantization step size Qstep
- the quantization step size corresponding to different levels of detail levels is different, which is beneficial to improve the flexibility of determining the quantization step size.
- determining the quantization step size Qstep corresponding to the level LOD of the level of detail according to the level hierarchical index and the quantization parameter offset parameter includes: determining the quantization parameter Qp in the coding parameters of the current coding block; according to the level hierarchical index and The quantization parameter offset parameter determines the quantization parameter offset of each level LOD; according to the quantization parameter Qp and the quantization parameter offset of each level LOD, the quantization step size Qstep corresponding to each level LOD is determined.
- the quantization parameter Qp may be determined by the QP parameter provided by the attribute parameter set.
- the quantization parameter offset of each level LOD can be determined according to the level hierarchical index and the quantization parameter offset parameter, and then according to the determined Qp and the quantization of each level LOD Parameter offset, corresponding to determine the quantization step size corresponding to each level.
- the quantization parameter Qp in the coding parameters of the current coding block is first determined, and then the quantization parameter offset of each level LOD is determined according to the hierarchical level index and the quantization parameter offset parameter, and then according to the quantization parameter Qp and each The quantization parameter offset of the level LOD determines the quantization step size Qstep corresponding to each level LOD, and the quantization step size corresponding to the detail level of different levels is different, which is beneficial to improve the flexibility of determining the quantization step size.
- determining the quantization parameter offset of each level LOD according to the level hierarchy index and the quantization parameter offset parameter includes: judging whether the level LOD of the currently processed level of detail belongs to the level range constrained by the level hierarchy index, The level range includes the first N levels in the multiple levels of detail, where N is a positive integer less than or equal to the first threshold; if so, the offset of the quantization parameter of the LOD of the level LOD of the currently processed level of detail is determined according to the quantization parameter offset parameter.
- the value j, j is an integer greater than 0 and less than or equal to the second threshold; if not, it is determined that the value of the quantization parameter offset of the LOD of the currently processed level of detail is 0.
- the first threshold may be 14, and the second threshold may be 10.
- the second threshold may be 10. This is to consider that the total number of layers of detail levels is generally 11-14; the minimum Qp value of the five code rates set by the public test environment CTC is 10, so j can be an integer greater than 0 and less than or equal to 10 to ensure that the subtraction Negative numbers do not appear after this value is removed. Since the larger the quantization parameter is, the longer the corresponding quantization step is, and the longer the quantization step is. j is an integer greater than 0 and less than or equal to 10, then the quantization parameters corresponding to the detail levels of the first N levels are smaller than those of the latter levels, and no negative numbers appear after subtracting this value.
- the value range of the level grading index is the number of 0-LOD (positive integer), assuming that the level grading index is 6, then the quantization step size of LOD0-LOD5 (that is, the quantization step size of the detail level of the first 6 layers) is given by QP-QpShiftValue (ie quantization parameter-quantization offset parameter) is converted.
- the level of detail is further divided into multiple groups, for example, the level index is an array 4 5 6, correspondingly, the level of detail can be divided into 4 groups according to the three division positions, namely LOD0-LOD3, LOD4, including LOD5 and LOD6 and beyond the level of detail.
- the value j of the quantization parameter offset corresponding to different groups may be different.
- the value of N can be 6, which is basically half of the total number of detail levels, and the number of points in the previous level is relatively small. , it will not increase too much decoding time when processing with small quantization step size.
- N can be 8, and the points in the detail level of the first 8 layers are inverse quantized with a smaller quantization step size. Since the number of points in the detail level of the first 8 layers is relatively small, it is beneficial to improve the decoding efficiency.
- the quantization parameter offset of the LOD of the currently processed level of detail is determined according to the quantization parameter offset parameter
- the value of j, j is an integer greater than 0 and less than or equal to the second threshold, if not, the value of the quantization parameter offset of the LOD of the LOD of the currently processed level of detail is determined to be 0, which is adapted for the level of detail of the previous level.
- the quantization step size corresponding to the smaller quantization parameter that is, the quantization step size corresponding to the detail level of the previous level is smaller, and the quantization step size corresponding to the detail level of the later level is larger than that of the previous level, which is beneficial to improve the decoding efficiency.
- j is the first preset value if the quantization parameter Qp is greater than or equal to the third threshold, then j is the first preset value; if the quantization parameter Qp is less than the third threshold, then j is the second preset value.
- the third threshold may be 30, the first preset value may be 10, and the second preset value may be 6.
- the value of j can be determined in the form of a piecewise function according to the size of the quantization parameter Qp corresponding to the current coding block. For example, when the quantization parameter Qp is greater than or equal to 30, j is 10, and when Qp is less than 30, j is 6.
- determining the quantization parameter offset of each level LOD according to the level hierarchical index and the quantization parameter offset parameter includes: judging the level combination corresponding to the level LOD of the currently processed level of detail, querying the level hierarchical index to determine The hierarchical index of the LOD of the level of detail currently being processed; the quantization parameter offset parameter is queried according to the hierarchical index of the LOD of the level of detail processed, and the corresponding quantization parameter offset is determined.
- the quantization parameter offset parameter can be an array, such as 3 5 6, that is, the quantization parameter offsets of the first to fourth groups are -3, -5 respectively and -6, if the determined quantization parameter is QP, the actual quantization parameters of the first to fourth groups are QP-3, QP-5, QP-6, and QP, respectively.
- any one level combination may include at least two adjacent levels, the multiple level combinations include the first level combination and the second level combination, the level in the first level combination Before the level in the second level combination, the quantization parameter corresponding to the first level combination is smaller than the quantization parameter corresponding to the second level combination, and different level combinations correspond to different quantization parameters, which is beneficial for different levels of detail levels.
- the corresponding quantization step size is further subdivided to improve the flexibility of determining the quantization step size.
- the first level combination may include the first two levels among the multiple detail levels, and the quantization step size corresponding to the first level combination is 1. Since the number of points in the first two levels in the level of detail is relatively small, a quantization step size of 1 will not bring too much influence on the decoding efficiency.
- the multiple level combinations may include the first level combination, the second level combination, the third level combination and the fourth level combination sorted from front to back, and any one level combination includes at least 2 adjacent levels before and after;
- the first-level combination adopts 1/sqrt(4) of the original quantization step size as the quantization step size of this level.
- the original quantization step size refers to the quantization step size determined according to the quantization parameter Qp; the second-level combination adopts 1 of the original quantization step size.
- /sqrt(3) is used as the quantization step size of this level; the third level combination adopts 1/sqrt(2) of the original quantization step size as the quantization step size of this level; the fourth level combination uses the original quantization step size as the quantization step size of this level Quantization step size.
- the original quantization step size that is, the quantization step size determined according to the quantization parameter Qp corresponding to the current coding block
- ⁇ is a positive integer
- the four-level combination adopts ⁇ /sqrt(4), ⁇ /sqrt(3), ⁇ /sqrt(2), and ⁇ as the quantization step size of the level.
- the later the level combination the larger the corresponding quantization step size.
- Different layers in the layer combination use the same quantization step size.
- the quantization step size corresponding to the detail levels of different levels is further subdivided to improve the flexibility of determining the quantization step size.
- the quantization parameter offset when determining the quantization parameter offset, first determine the level combination corresponding to the level of detail level, and then further determine the level hierarchy index corresponding to the level of detail in the level combination, and then according to the corresponding level
- the hierarchical index queries the quantization parameter offset parameters, and determines the corresponding quantization parameter offset.
- Different level combinations correspond to different quantization parameter offsets, which is beneficial to further subdivide the quantization step size corresponding to the detail level of different levels, and improve the quantization step. Long-determined flexibility.
- the index of the current point is determined; the quantization weight corresponding to the index of the current point is determined as the first quantization weight of the current point.
- S607 Perform inverse quantization on the quantized residual value of the attribute information of the current point according to the target quantization step size and the first quantization weight, to obtain the reconstructed residual value of the attribute information of the current point.
- S607 includes S6071 and S6072:
- the second quantization weight is less than or equal to the target quantization step size.
- the above S6071 includes: using the following formula (10) to determine the second quantization weight of the current point:
- effectiveQuantWeight represents the second quantization weight of the current point
- w(Q) represents the first quantization weight of the current point
- k represents the number of bits for right-shifting w(Q)
- Qstep represents the target quantization step size.
- the value of the second quantization weight is equal to an integer power of two.
- the value of the first quantization weight is not equal to the integer power of 2, and based on the value of the first quantization weight of the current point, the integer power of 2 of the first quantization weight closest to the current point is determined as The second quantized weight of the current point.
- the above S6072 includes: performing inverse quantization on the quantization residual value using the target quantization step size of the current point to obtain a weighted residual value; dividing the weighted residual value by the second quantization weight to obtain a reconstructed residual value .
- the above S6072 includes: performing inverse quantization on the quantization residual value using the following formula (11):
- AttrResidualQuant1 (attrResidualQuant2 ⁇ Qstep)/effectiveQuantWeight (11)
- AttrResidualQuant2 represents the quantization residual value
- attrResidualQuant1 represents the reconstruction residual value
- effectiveQuantWeight represents the second quantization weight of the current point
- Qstep represents the target quantization step size of the current point
- "X" represents the multiplication operation
- "/" represents the division operation.
- the above S6072 includes: updating the target quantization step size according to the second quantization weight of the current point; and performing inverse quantization on the quantization residual value of the attribute information of the current point according to the updated quantization step size.
- the above-mentioned updating the target quantization step size according to the second quantization weight of the current point includes: using the following formula (12) to update the quantization step size of the current point:
- effectiveQuantWeight represents the second quantization step size of the current point
- newQstep represents the quantization step size of the current point after the update of the second quantization step size based on the current point
- Qstep represents the second quantization step size based on the current point before the update.
- quantization step size Indicates a round-up operation, and "/" indicates a division operation.
- the embodiments of the present application further include: according to the reverse order of the coding order of the point cloud, by traversing the points in the point cloud, based on the first quantization weight of the current point, updating the first one of the N nearest neighbors of the current point Quantization weight, N is an integer greater than 0.
- the initial value of the first quantization weight of each point in the point cloud is a preset value.
- the initial values of the first quantization weights of points in the first M LOD layers in the LOD layers of the point cloud are greater than the initial values of the first quantization weights of points in the remaining LOD layers, and M is a positive integer .
- updating the first quantization weights of the N nearest neighbors of the current point based on the first quantization weights of the current point includes: obtaining an influence weight of the current point on each of the N nearest neighbors , the influence weight is related to the position information of the current point and the N nearest neighbors; based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors, update the N nearest neighbors.
- the first quantization weight is related to the position information of the current point and 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 nearest neighbors; the influence of the current point on each of the N nearest neighbors is obtained; The weight includes: obtaining the influence weight of the current point on each of the N nearest neighbors by querying the attribute parameter set.
- updating the first quantization weight of the N nearest neighbors includes:
- the first quantized weights of the N nearest neighbors are updated based on the following formula (13):
- Q represents the current point
- Pi represents the i -th nearest neighbor point to Q
- i 1, 2,...,N
- w(Q) represents the first quantization weight of the current point
- ⁇ (P i ,Q) represents The influence weight of the current point on the neighbor point
- w(P i ) represents the first quantization weight of the neighbor point P i after the update
- k represents the number of bits of the right-shift operation
- ">>" is the right-shift operation
- " ⁇ " is the assignment
- An operation such as "A ⁇ B" means assigning the value of B to A.
- the value of ⁇ (P i , Q) 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.
- S608 Determine the reconstructed value of the attribute information of the current point according to the predicted value of the attribute information of the current point and the reconstructed residual value.
- the current point does not belong to the first 7 layers of LOD, read the QP value of the encoding parameter in the code stream, convert the QP into the corresponding target quantization step size Qstep, and use Qstep to inverse quantize the quantization residual obtained by decoding.
- Let the quantization weight of the current point w(Q) min(w(Q), Qstep), after inverse quantization, divide the inverse quantization residual by w(Q) to remove the weighting influence.
- the decoding process is shown in FIG. 16 .
- FIG. 16 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the application, as shown in FIG. 16 , including:
- S702 Divide the point cloud into one or more LOD layers of the level of detail according to the geometric information of the points in the point cloud.
- Each LOD layer includes at least one detail expression layer, and each detail expression layer includes at least one point.
- S703. Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- the points in the point cloud are sorted according to the multi-layer detail expression layer to obtain the LOD order, and according to the geometric information of the point to be decoded, at least one decoded adjacent point of the point to be decoded is obtained in the LOD order, according to the at least one
- the reconstructed value of the attribute information of the decoded adjacent point determines the predicted value of the attribute information of the point to be decoded.
- S705 Determine whether the current point belongs to a lossless encoding point, if not, execute S706 and S707, and if so, execute S708.
- S708 Perform lossless encoding and decoding on the residual value of the attribute information of the current point to obtain the reconstructed residual value of the attribute information of the current point.
- S709 Obtain a reconstructed value of the attribute information of the current point according to the reconstructed residual value and the predicted value of the attribute information of the current point.
- the lossless decoding of the residual value of the attribute information of the point may also be referred to as not quantizing the residual value of the attribute information of the point, or referred to as not performing a scaling operation on the residual value of the attribute information of the point (scaling).
- Quantizing the residual value of the attribute information of the point is also referred to as performing scaling operation (scaling) on the residual value of the attribute information of the point.
- determining whether the current point belongs to the lossless encoding point in the above S705 includes: S7051 and S7051.
- S7051 Decode the code stream of the point cloud to obtain first information, where the first information is used to indicate a point where the residual value of the attribute information has undergone lossless encoding;
- S7052 Determine, according to the first information, whether the residual value of the attribute information of the current point has undergone lossless encoding.
- the residual information of the attribute information of the point in the point cloud and the first information can be obtained.
- the first information is used to indicate that the residual value of the attribute information has been losslessly encoded (or unquantized). point.
- the first information includes identification information of points whose residual values of attribute information have been losslessly coded.
- a piece of information may include the number or index of the point pattern of the point where the residual value of the attribute information is not quantized.
- the first information includes the total number of points whose residual values of the attribute information are losslessly encoded.
- the implementation manner of determining whether the residual information of the attribute information of the current point has undergone lossless encoding is different, and the specific implementation process includes but is not limited to the following situations :
- the first information includes N, where N is the total number of points in the point cloud whose residual values of attribute information have undergone lossless encoding.
- N is an integer multiple of 2.
- the interval between every two adjacent points among the N points is equal.
- the above S7052 includes: if it is determined that the current point is one point among the N points, determining that the residual information of the attribute information of the current point has undergone lossless encoding. For example, the points in the point cloud are sorted according to the geometric information of the points in the point cloud, and the sorted point cloud is obtained. For the sorted point cloud, determine the interval between two adjacent points among the N points according to the total number of points and the value of N, and determine whether the current point is one of the N points according to the interval point.
- the current point is the 21st point in the sorted point cloud, starting from the first point in the point cloud, every 10 points is the residual value of the attribute information after lossless encoding
- the points are the 1st point, the 11th point, the 21st point..., and then it is determined that the current point is the point where the residual information of the attribute information has undergone lossless encoding.
- the preset interval is the interval between two adjacent lossless encoding points in the point cloud.
- the above S7052 includes: according to a preset interval, if it is determined that the interval between the current point and the point where the residual information of the previous attribute information has undergone lossless encoding is equal to the preset interval, then determining the interval of the attribute information of the current point.
- the residual information is lossless encoded.
- the first preset value is used to indicate that the detail expression layer whose total number of included points is less than or equal to the first preset value is divided into the first type of detail expression layer, and the detail expression layer whose total number of included points is greater than the first preset value is divided into the second type of detail expression layer.
- S7052 includes: obtaining, according to the first preset value, at least one first type of detail expression layer in which the total number of points included in the multi-layer detail expression layer is less than or equal to the first preset value, and the at least one second-type detail expression layer whose total number of included points is greater than the first preset value;
- the current point belongs to the first type of detail expression layer, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding.
- M is the number of points in which the residual value of the attribute information in the second type of detail expression layer is losslessly encoded, and M is a positive integer multiple of 2.
- the interval between two adjacent points among the M points is equal.
- the above S7052 includes: if the current point is one of the M points, determining that the residual information of the attribute information of the current point has undergone lossless encoding.
- At least one second-type detail expression layer includes L second-type detail expression layers, where L is a positive integer greater than or equal to 2, if the first information includes a first quantity, a second quantity, and P second-type detail expression layers The division information of the detail expression layer and the Q second type of detail expression layers.
- the first number is greater than the second number, eg, the first number is 24 and the second number is 8.
- the first number is a positive integer multiple of the second number, for example, the first number is twice the second number, for example, the first number is 24 and the second number is 12.
- the first number is 3 times the second number, for example, the first number is 24 and the second number is 8.
- the spacing between adjacent ones of the first number of points is equal.
- the intervals between adjacent ones of the second number of points are equal.
- the above S7052 includes: according to the division information, dividing L second-type detail expression layers to obtain P second-type detail expression layers and Q second-type detail expression layers; if it is determined that the current point is P One point among the first number of points where the residual value of the attribute information in the second type of detail expression layer has undergone lossless encoding, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding; if it is determined that the current point is Q If the residual value of the attribute information in the second type of detail expression layer is one point in the second number of points that have undergone lossless encoding, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding;
- L is a positive integer greater than or equal to 2
- P and Q are positive integers
- the sum of P and Q is less than or equal to L
- the P second-type detail expression layers and Q second-type detail expression layers do not overlap
- the first quantity is different from the second quantity.
- the P second-type detail expression layers are the first P second-type detail expression layers among the L second-type detail expression layers.
- the Q second-type detail expression layers are the last Q second-type detail expression layers among the L second-type detail expression layers.
- the last second type of detail expression layer in the P second type of detail expression layers is adjacent to the first second type of detail expression layer of the Q second type of detail expression layers.
- the above-mentioned division information may include identification information of the first second-type detail expression layer of the Q second-type detail expression layers, or may include the last second-type detail of the P second-type detail expression layers The identification information of the presentation layer.
- the first information further includes: identification information of a point where the residual value of the first attribute information in the second type of detail expression layer is losslessly encoded.
- the first information further includes: identification information of a point whose residual value of the attribute information is lossless encoded.
- the residual information of the attribute information of the current point may be inversely quantized in the following manner:
- Manner 1 In the process of inverse quantizing the residual information of the attribute information of the point in the point cloud, the current point is skipped.
- the inverse quantization step size of the current point is set to 1.
- the quantization parameter QP of the current point is set as the target value, and the target value is the corresponding QP value when the inverse quantization step size is 1.
- the method further includes:
- reconstructedColor is the reconstructed value of the attribute information of the current point
- attrResidual is the residual value of the attribute information of the current point
- attrPredValue is the predicted value of the attribute information of the current point.
- the point cloud decoding process includes: the decoder determines whether the current point belongs to the first 7 layers of LOD and determines whether the current point is a point without quantization.
- the decoding process is shown in FIG. 17 .
- FIG. 17 is a schematic flowchart of a point cloud decoding method provided by an embodiment of the application, as shown in FIG. 17 , including:
- Each LOD layer includes at least one detail expression layer, and each detail expression layer includes at least one point.
- S803. Determine the target LOD layer where the current point is located according to the geometric information of the current point.
- the points in the point cloud are sorted according to the multi-layer detail expression layer to obtain the LOD order, and according to the geometric information of the point to be decoded, at least one decoded adjacent point of the point to be decoded is obtained in the LOD order, according to the at least one
- the reconstructed value of the attribute information of the decoded adjacent point determines the predicted value of the attribute information of the point to be decoded.
- the point cloud decoding process includes: the decoding end calculates and obtains the quantization weights of all points in the point cloud. Determine whether the current point belongs to the first 7 layers of LOD and determine whether the current point is a point that is not quantized:
- the current point belongs to the first 7 layers of LOD, and the current point is not an unquantized point, read the QP value of the encoding parameter in the code stream, then add the DeltaQP value of the LOD of this layer, and convert QP+DeltaQP into the corresponding Qstep, Use Qstep to inverse quantize the decoded quantized residual.
- the current point does not belong to the first 7 layers of LOD, and the current point is not an unquantized point
- read the QP value of the encoding parameter in the code stream convert the QP into the corresponding Qstep, and use the Qstep to inverse the quantization residual obtained by decoding.
- FIG. 6 to FIG. 17 are only examples of the present application, and should not be construed as limiting the present application.
- 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.
- the term "and/or" is only an association relationship for describing associated objects, indicating that there may be three kinds of relationships. Specifically, A and/or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone.
- the character "/" in this document generally indicates that the related objects are an "or" relationship.
- FIG. 18 is a schematic block diagram of a point cloud encoder 10 provided by an embodiment of the present application.
- the point cloud encoder 10 includes:
- Obtaining unit 11 for obtaining the attribute information of the current point in the point cloud
- a processing unit 12 configured to process the attribute information of the current point to obtain a residual value of the attribute information of the current point
- a quantization unit 13 configured to use a target quantization method to quantize the residual value of the attribute information of the current point to obtain the quantized residual value of the attribute information of the current point;
- the target quantization method includes at least two quantization methods as follows: a first quantization method, a second quantization method and a third quantization method, and the first quantization method is to set the quantization parameter of at least one point in the point cloud. Quantitative parameter increment, the second quantization method is to perform weighting processing on the residual value of the point in the point cloud, and the third quantization method is the residual of the attribute information of at least one point in the point cloud.
- the value is lossless encoded.
- the obtaining unit 11 is further configured to obtain geometric information of the midpoint of the point cloud; the processing unit 12 is configured to divide the point cloud into one or more according to the geometric information of the midpoint of the point cloud Level of detail LOD layer.
- the target quantization method includes the first quantization method and the second quantization method
- the quantization unit 13 is specifically configured to determine, according to the geometric information of the current point, the location where the current point is located. target LOD layer; determine the target quantization step size adapted to the target LOD layer; determine the first quantization weight of the current point; according to the target quantization step size and the first quantization weight
- the residual value of the attribute information is quantized to obtain the quantized residual value of the attribute information of the current point.
- the target quantization method includes the first quantization method and the third quantization method
- the quantization unit 13 is specifically configured to determine, according to the geometric information of the current point, the location where the current point is located.
- the target LOD layer if it is determined that the current point belongs to the point of lossy coding, then determine the target quantization step size adapted to the target LOD layer;
- the difference value is quantized to obtain a quantized residual value of the attribute information of the current point.
- the target quantization mode includes the first quantization mode, the second quantization mode, and the third quantization mode
- the quantization unit 13 is specifically configured to determine according to the geometric information of the current point The target LOD layer where the current point is located; if it is determined that the current point belongs to the point of lossy coding, then determine the target quantization step size adapted to the target LOD layer, and determine the first quantization weight of the current point ; According to the target quantization step size and the first quantization weight, the residual value of the attribute information of the current point is quantized to obtain the quantized residual value of the attribute information of the current point.
- the quantization unit 13 is further configured to perform lossless encoding on the residual value of the attribute information of the current point if it is determined that the current point belongs to a point of lossless encoding.
- the quantization unit 13 is specifically configured to obtain the hierarchical index of the target LOD layer; according to the hierarchical index of the target LOD layer, query the quantization step size lookup table corresponding to the target LOD layer
- the target quantization step size, the quantization step size lookup table includes the correspondence between the LOD layer and the quantization step size.
- the quantization unit 13 is specifically configured to determine the quantization parameter in the coding parameters of the current point; obtain the hierarchical index of the target LOD layer, and determine the hierarchical index of the target LOD layer according to the hierarchical index of the target LOD layer.
- the quantization parameter increment of the target LOD layer; the target quantization step size corresponding to the target LOD layer is determined according to the quantization parameter and the quantization parameter increment of the target LOD layer.
- the quantization unit 13 is specifically configured to, if the target LOD layer belongs to the first N LOD layers of the point cloud, determine that the increment of the quantization parameter of the target LOD layer is j, and the N is A positive integer less than or equal to the first threshold, and the j is an integer greater than 0 and less than or equal to the second threshold; if the target LOD layer does not belong to the top N LOD layers of the point cloud, the target is determined The quantization parameter increment of the LOD layer is 0.
- the j is a first preset value
- the j is a second preset value.
- the quantization unit 13 is specifically configured to determine the index of the current point; and determine the quantization weight corresponding to the index of the current point as the first quantization weight of the current point.
- the quantization unit 13 is specifically configured to determine the second quantization weight of the current point according to the first quantization weight of the current point; according to the target quantization step size and the second quantization weight, The residual value of the attribute information of the current point is quantized to obtain the quantized residual value.
- the second quantization weight is less than or equal to the target quantization step size.
- the quantization unit 13 is specifically configured to use the following formula to determine the second quantization weight of the current point:
- effectiveQuantWeight represents the second quantization weight of the current point
- w(Q) represents the first quantization weight of the current point
- k represents the number of bits for right-shifting the w(Q)
- Qstep represents the Target quantization step size.
- the value of the second quantization weight is equal to an integer power of 2.
- the value of the first quantization weight is not equal to an integer power of 2
- the quantization unit 13 is specifically configured to, based on the value of the first quantization weight of the current point, quantify the value of the first quantization weight closest to the current point.
- the integer power of 2 of the quantization weight is determined as the second quantization weight of the current point.
- the quantization unit 13 is specifically configured to multiply the residual value of the attribute information of the current point by the second quantization weight to obtain a weighted residual value;
- the weighted residual value is quantized to obtain the quantized residual value of the attribute information of the current point.
- the quantization unit 13 is specifically configured to use the following formula to quantize the residual value of the attribute information of the current point:
- AttrResidualQuant2 attrResidualQuant1 ⁇ effectiveQuantWeight/Qstep;
- the attrResidualQuant2 represents the quantized residual value of the attribute information of the current point
- attrResidualQuant1 represents the residual value of the attribute information of the current point
- the effectiveQuantWeight represents the second quantization weight of the current point
- the Qstep represents the target quantization step size.
- the quantization unit 13 is specifically configured to update the target quantization step size according to the second quantization weight of the current point; The residual value of attribute information is quantized.
- the quantization unit 13 is specifically configured to update the target quantization step size by using the following formula:
- the effectiveQuantWeight represents the second quantization weight of the current point
- the newQstep represents the updated quantization step size of the current point based on the target quantization step size
- the Qstep represents the target quantization step size.
- the quantization unit 13 is further configured to traverse the points in the point cloud according to the reverse order of the encoding order of the point cloud, and update the N number of the current point based on the first quantization weight of the current point
- the first quantization weight of the nearest neighbor, N is an integer greater than 0.
- the initial value of the first quantization weight of each point in the point cloud is a preset value.
- the initial value of the first quantization weight of the points in the first M LOD layers in the LOD layer of the point cloud is greater than the initial value of the first quantization weight of the points in the remaining LOD layers, and the M is positive integer.
- the quantization unit 13 is specifically configured to obtain an influence weight of the current point on each of the N closest adjacent points, where the influence weight is the same as the current point and the N closest adjacent points.
- the position information of the nearest neighbors is related; based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors, update the N nearest neighbors.
- the first quantization weight is the first quantization weight.
- 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 quantization unit 13 is specifically configured to query the attribute by querying the attribute A parameter set, to obtain the influence weight of the current point on each of the N nearest neighbors.
- the quantization unit 13 is specifically configured to update the first quantization weights of the N nearest neighbors based on the following formula:
- Q represents the current point
- P i represents the i-th nearest neighbor point to the Q
- i 1,2,...,N
- w(Q) represents the first quantization weight of the current point
- ⁇ ( P i , Q) represents the influence weight of the current point on the neighbor point
- w(P i ) represents the updated first quantization weight of the neighbor point P i
- k represents the number of bits of the right-shift operation.
- the value of ⁇ (P i , Q) 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 encoder further includes an encoding unit 14, and the encoding unit 14 is configured to perform lossless encoding on the residual value of the attribute information of at least one point in the point cloud.
- the at least one point includes N points, and the N is an integer multiple of 2.
- the at least one point includes N points, and the interval between each adjacent two points in the N points is equal.
- the encoding unit 14 is specifically configured to perform lossless encoding on the attribute residual value of at least one point in at least one detail expression layer of the multi-layer detail expression layers.
- the encoding unit 14 is specifically configured to obtain at least one first type of detail expression layer in which the total number of points included in the multi-layer detail expression layer is less than or equal to a first preset value, and includes at least one second-type detail expression layer whose total number of points is greater than the first preset value; perform lossless encoding on the residual values of the attribute information of all points in the first-type detail expression layer; Lossless encoding is performed on the residual value of the attribute information of at least one point in the second type of detail expression layer.
- the encoding unit 14 is specifically configured to perform lossless encoding on residual values of attribute information of M points in the second type of detail expression layer, where M is a positive integer multiple of 2.
- the at least one second-type detail expression layer includes L second-type detail expression layers, where L is a positive integer greater than or equal to 2, and the encoding unit 14 is specifically configured to Lossless encoding is performed on the residual values of the attribute information of the first number of points in each of the second-type detail expression layers in the class-detail expression layers; each of the second-class details in the Q second-type detail expression layers Lossless encoding is performed on the residual values of the attribute information of the second number of points in the detail expression layer;
- the P and Q are positive integers, and the sum of the P and the Q is less than or equal to the L, and the P second-type detail expression layers are different from the Q second-type detail expression layers Overlapping, the first number is different from the second number.
- the P second type detail expression layers are the first P second type detail expression layers in the L second type detail expression layers.
- the Q second-type detail expression layers are the last Q second-type detail expression layers in the L second-type detail expression layers.
- the last second type detail expression layer in the P second type detail expression layers is adjacent to the first second type detail expression layer of the Q second type detail expression layers.
- the first number is greater than the second number.
- the first quantity is a positive integer multiple of the second quantity.
- the intervals between two adjacent points in the first number of points are equal.
- the interval between two adjacent points in the second number of points is equal.
- the encoding unit 14 is further configured to determine the reconstructed value of the attribute information of the current point according to the residual value of the attribute information of the current point and the predicted value of the attribute information.
- the encoding unit 14 is specifically configured to determine the reconstructed value of the attribute information of the current point according to the following formula:
- the reconstructedColor is the reconstructed value of the attribute information of the current point
- the attrResidual is the residual value of the attribute information of the current point
- the attrPredValue is the predicted value of the attribute information of the current point.
- the encoding unit 14 is further configured to generate a code stream, where the code stream includes first information, where the first information is used to indicate a point at which the residual value of the attribute information is subjected to lossless encoding.
- the first information includes identification information of a point where the residual value of the attribute information is losslessly encoded.
- the first information includes the number of points where the residual value of the attribute information is losslessly encoded.
- the first information includes the first quantity, the second quantity, and the division information of the P second-type detail expression layers and the Q second-type detail expression layers.
- the division information further includes identification information of the first second-type detail expression layer of the Q second-type detail expression layers, or includes the last second-type detail of the P second-type detail expression layers.
- the identification information of the presentation layer is not limited to the last second-type detail expression layer in the P second-type detail expression layers.
- the first information further includes: identification information of a point where the residual value of the first attribute information in the second type of detail expression layer is losslessly encoded.
- the encoding unit 14 is specifically configured to skip the at least one lossless encoding of the residual value of the attribute information in the process of quantizing the residual value of the attribute information of the point in the point cloud point; or,
- the quantization parameter QP of the at least one point where the residual value of the attribute information is losslessly encoded is set as a target value, and the target value is a corresponding QP value when the quantization step size is 1.
- 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 point cloud encoder 10 shown in FIG. 18 can execute the methods of the embodiments of the present application, and the aforementioned and other operations and/or functions of the various units in the point cloud encoder 10 are for implementing the methods 100 to 400, respectively. For the sake of brevity, the corresponding processes in the method will not be repeated here.
- FIG. 19 is a schematic block diagram of a point cloud decoder 20 provided by an embodiment of the present application.
- the point cloud decoder 20 may include:
- the decoding unit 21 is used for analyzing the code stream of the point cloud to obtain the quantized residual value of the attribute information of the current point of the point cloud;
- an inverse quantization unit 22 configured to perform inverse quantization on the quantized residual value of the attribute information of the current point in a target inverse quantization manner, to obtain the reconstructed residual value of the attribute information of the current point;
- the target inverse quantization method includes the following at least two inverse quantization methods: a first inverse quantization method, a second inverse quantization method, and a third inverse quantization method, and the first inverse quantization method is to perform at least two inverse quantization methods on the point cloud.
- the inverse quantization parameter of a point is set to an inverse quantization parameter increment
- the second inverse quantization method is to perform deweighting processing on the residual value of the point in the point cloud
- the third inverse quantization method is to perform a de-weighting process on the point.
- the residual value of the attribute information of at least one point in the cloud is subjected to lossless decoding.
- the decoding unit 21 is configured to obtain the geometric information of the point in the point cloud; according to the geometric information of the point in the point cloud, the point cloud is divided into one or more level of detail LOD layers.
- the target inverse quantization method includes the first inverse quantization method and the second inverse quantization method
- the inverse quantization unit 22 is specifically configured to determine the current point according to the geometric information of the current point.
- the target LOD layer where the point is located determine the target quantization step size adapted to the target LOD layer; determine the first quantization weight of the current point; according to the target quantization step size and the first quantization weight, Inverse quantization is performed on the quantized residual value of the attribute information of the current point.
- the target inverse quantization method includes the first inverse quantization method and the third inverse quantization method.
- the inverse quantization unit 22 is specifically configured to determine the current point according to the geometric information of the current point.
- the quantized residual value of the attribute information is inversely quantized.
- the target inverse quantization method includes the first inverse quantization method, the second inverse quantization method, and the third inverse quantization method.
- the geometric information of the target LOD layer is determined, and the target LOD layer where the current point is located is determined; if it is determined that the current point belongs to the point of lossy coding, the target quantization step size of the target LOD layer is determined to be adapted, and the current point is determined and performing inverse quantization on the quantization residual value of the attribute information of the current point according to the target quantization step size and the first quantization weight.
- the decoding unit 21 is further configured to perform lossless encoding and decoding on the residual value of the attribute information of the current point if it is determined that the current point belongs to the point of lossless encoding.
- the inverse quantization unit 22 is specifically configured to obtain the hierarchical index of the target LOD layer; according to the hierarchical index of the target LOD layer, query the quantization step size lookup table corresponding to the target LOD layer
- the target quantization step size, the quantization step size lookup table includes the correspondence between the LOD layer and the quantization step size.
- the inverse quantization unit 22 is specifically configured to decode the code stream to obtain quantization parameters in the encoding parameters of the current point;
- the hierarchical index is used to determine the quantization parameter increment of the target LOD layer;
- the target quantization step size corresponding to the target LOD layer is determined according to the quantization parameter and the quantization parameter increment of the target LOD layer.
- the inverse quantization unit 22 is specifically configured to, if the target LOD layer belongs to the first N LOD layers of the point cloud, determine that the quantization parameter increment of the target LOD layer is j, and the N is a positive integer less than or equal to the first threshold, and the j is an integer greater than 0 and less than or equal to the second threshold; if the target LOD layer does not belong to the first N LOD layers of the point cloud, determine the The quantization parameter increment of the target LOD layer is 0.
- the j is a first preset value; if the quantization parameter is less than the third threshold, the j is a second preset value.
- the inverse quantization unit 22 is specifically configured to determine the index of the current point; and determine the quantization weight corresponding to the index of the current point as the first quantization weight of the current point.
- the inverse quantization unit 22 is specifically configured to determine the second quantization weight of the current point according to the first quantization weight of the current point; according to the target quantization step size and the second quantization weight , performing inverse quantization on the quantized residual value of the attribute information of the current point to obtain the reconstructed residual value.
- the second quantization weight is less than or equal to the target quantization step size.
- the inverse quantization unit 22 is specifically configured to use the following formula to determine the second quantization weight of the current point:
- effectiveQuantWeight represents the second quantization weight of the current point
- w(Q) represents the first quantization weight of the current point
- k represents the number of bits for right-shifting the w(Q)
- Qstep represents the Target quantization step size.
- the value of the second quantization weight is equal to an integer power of 2.
- the value of the first quantization weight is not equal to an integer power of 2.
- the inverse quantization unit 22 is specifically configured to use the value of the first quantization weight based on the current point to be the closest The integer power of 2 of the first quantization weight of the current point is determined as the second quantization weight of the current point.
- the inverse quantization unit 22 is specifically configured to perform inverse quantization on the quantization residual value using the target quantization step size of the current point to obtain a weighted residual value;
- the reconstructed residual value is obtained by dividing the weighted residual value by the second quantization weight.
- the inverse quantization unit 22 is specifically configured to perform inverse quantization on the quantization residual value by using the following formula:
- AttrResidualQuant1 (attrResidualQuant2 ⁇ Qstep)/effectiveQuantWeight;
- AttrResidualQuant2 represents the quantization residual value
- attrResidualQuant1 represents the reconstruction residual value
- effectiveQuantWeight represents the second quantization weight of the current point
- Qstep represents the target quantization step size of the current point.
- the inverse quantization unit 22 is specifically configured to update the target quantization step size according to the second quantization weight of the current point;
- the quantized residual value of the attribute information is inversely quantized.
- the inverse quantization unit 22 is specifically configured to update the quantization step size of the current point by using the following formula:
- effectiveQuantWeight represents the second quantization step size of the current point
- newQstep represents the updated quantization step size of the current point based on the second quantization step size of the current point
- Qstep represents the current point based on the second quantization step size of the current point.
- the quantization step size before the second quantization step size of the current point is updated.
- the decoding unit 21 is further configured to traverse the points in the point cloud according to the reverse order of the encoding order of the point cloud, and update the N number of the current point based on the first quantization weight of the current point
- the first quantization weight of the nearest neighbor, N is an integer greater than 0.
- the initial value of the first quantization weight of each point in the point cloud is a preset value.
- the initial value of the first quantization weight of the points in the first M LOD layers in the LOD layer of the point cloud is greater than the initial value of the first quantization weight of the points in the remaining LOD layers, and the M is positive integer.
- the decoding unit 21 is specifically configured to obtain an influence weight of the current point on each of the N closest adjacent points, where the influence weight is the same as the current point and the N closest adjacent points.
- the position information of the nearest neighbors is related; based on the quantization weight of the current point and the influence weight of the current point on each of the N nearest neighbors, update the N nearest neighbors.
- the first quantization weight is related to 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 decoding unit 21 is further configured to query the attribute by querying the attribute A parameter set, to obtain the influence weight of the current point on each of the N nearest neighbors.
- the decoding unit 21 is further configured to update the first quantization weights of the N nearest neighbors based on the following formula:
- Q represents the current point
- P i represents the i-th nearest neighbor point to the Q
- i 1,2,...,N
- w(Q) represents the first quantization weight of the current point
- ⁇ ( P i , Q) represents the influence weight of the current point on the neighbor point
- w(P i ) represents the updated first quantization weight of the neighbor point P i
- k represents the number of bits of the right-shift operation.
- the value of ⁇ (P i , Q) 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 decoding unit 22 is further configured to decode the code stream of the point cloud to obtain first information, where the first information is used to indicate a point for which the residual value of the attribute information has undergone lossless encoding; according to the The first information is to determine whether the residual value of the attribute information of the current point has undergone lossless encoding.
- the first information includes N, where N is the total number of points in the point cloud whose residual values of attribute information have undergone lossless encoding.
- the N is an integer multiple of 2.
- the interval between each adjacent two points in the N points is equal.
- the decoding unit 21 is specifically configured to, if it is determined that the current point is one of the N points, determine that the residual information of the attribute information of the current point has undergone lossless encoding.
- the decoding unit 21 is specifically configured to, according to the preset interval, determine that the residual information between the current point and the previous attribute information has been losslessly encoded. If the interval between points is equal to the preset interval, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding.
- the decoding unit 21 is specifically configured to obtain the total number of points included in the multi-layer detail expression layer according to the first preset value At least one first-type detail expression layer whose number is less than or equal to the first preset value, and at least one second-type detail expression layer whose total number of included points is greater than the first preset value; If the current point belongs to the first type of detail expression layer, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding.
- the decoding unit 21 is specifically configured to, if the current point is one of the M points, determine that the residual information of the attribute information of the current point has undergone lossless encoding.
- the at least one second-type detail expression layer includes L second-type detail expression layers, where L is a positive integer greater than or equal to 2, if the first information includes a first number, a first The number of two, and the division information of the P second-type detail expression layers and the Q second-type detail expression layers, the decoding unit 21 is specifically configured to perform the processing on the L second-type detail expression layers according to the division information Divide to obtain the P second-type detail expression layers and the Q second-type detail expression layers; if it is determined that the current point is the residual value of the attribute information in the P second-type detail expression layers One point in the first number of points of the lossless encoding, it is determined that the residual information of the attribute information of the current point has undergone lossless encoding; if it is determined that the current point is the attribute information in the Q second-type detail expression layers One point in the second number of points whose residual value has undergone lossless encoding, then it is determined that the residual information of the attribute information of the current point has undergone loss
- the P second type detail expression layers are the first P second type detail expression layers in the L second type detail expression layers.
- the Q second-type detail expression layers are the last Q second-type detail expression layers in the L second-type detail expression layers.
- the last second type detail expression layer in the P second type detail expression layers is adjacent to the first second type detail expression layer of the Q second type detail expression layers.
- the division information further includes the identification information of the first second-type detail expression layer of the Q second-type detail expression layers, or includes the last second-type detail expression layer of the P second-type detail expression layers.
- the identification information of the detail presentation layer is not limited to the last second-type detail expression layer in the P second-type detail expression layers.
- the first information further includes: identification information of a point where the residual value of the first attribute information of the second type of detail expression layer has been losslessly encoded.
- the first information further includes: identification information of a point whose residual value of the attribute information is lossless encoded.
- the first number is greater than the second number.
- the first quantity is a positive integer multiple of the second quantity.
- the intervals between two adjacent points in the first number of points are equal.
- the interval between two adjacent points in the second number of points is equal.
- the decoding unit 21 is specifically configured to determine the reconstructed value of the attribute information of the current point according to the following formula:
- the reconstructedColor is the reconstructed value of the attribute information of the current point
- the attrResidual is the residual value of the attribute information of the current point
- the attrPredValue is the predicted value of the attribute information of the current point.
- 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 point cloud decoder 20 shown in FIG. 19 may correspond to the corresponding subject in performing the methods 500 , 600 and/or 700 of the embodiments of the present application, and the aforementioned and other operations of the respective units in the point cloud decoder 20 and/or functions are respectively to implement the corresponding processes in the respective methods such as methods 500, 600 and/or 700, and are not repeated here for the sake of brevity.
- the functional unit may be implemented in the form of hardware, may also be implemented by an instruction in the form of software, or may be implemented by a combination of hardware and software units.
- the steps of the method embodiments in the embodiments of the present application may be completed by an integrated logic circuit of hardware in the processor and/or instructions in the form of software, and the steps of the methods disclosed in combination 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 units in the decoding processor.
- the software unit 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. 20 is a schematic block diagram of an electronic device 30 provided by an embodiment of the present application.
- the electronic device 30 may be the point cloud encoder or the point cloud decoder described in this embodiment of the application, and the electronic device 30 may include:
- the processor 32 can call and run the computer program 34 from the memory 33 to implement the methods in the embodiments of the present application.
- the processor 32 may be configured to perform the steps of the method 200 described above according to instructions in the computer program 34 .
- the processor 32 may include, but is not limited to:
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the memory 33 includes but is not limited to:
- 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). Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory. Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
- RAM Random Access Memory
- RAM 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 computer program 34 may be divided into one or more units, and the one or more units are stored in the memory 33 and executed by the processor 32 to complete the procedures provided by the present application.
- the one or more units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 34 in the electronic device 30 .
- the electronic device 30 may further include:
- a transceiver 33 which can be connected to the processor 32 or the memory 33 .
- the processor 32 can control the transceiver 33 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices.
- the transceiver 33 may include a transmitter and a receiver.
- the transceiver 33 may further include antennas, and the number of the antennas may be one or more.
- each component in the electronic device 30 is connected through a bus system, wherein the bus system includes a power bus, a control bus and a status signal bus in addition to a data bus.
- FIG. 21 is a schematic block diagram of a point cloud encoding and decoding system 40 provided by an embodiment of the present application.
- the point cloud encoding and decoding system 40 may include: a point cloud encoder 41 and a point cloud decoder 42, wherein the point cloud encoder 41 is used to execute the point cloud encoding method involved in the embodiments of the present application, and the point cloud encoder 41
- the decoder 42 is configured to execute the point cloud decoding method involved in the embodiments of the present application.
- the present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, enables the computer to execute the methods of the above method embodiments.
- the embodiments of the present application further provide a computer program product including instructions, and when the instructions are executed by a computer, the instructions cause the computer to execute the method of the above method embodiments.
- An embodiment of the present application further provides a code stream, where the code stream is obtained through the encoding method shown in FIG. 6 , FIG. 7 , FIG. 10 or FIG. 13 .
- 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 on or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted over a wire from a website site, computer, server or data center (eg coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means to another website site, computer, server or data center.
- the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes one or more available media integrated.
- the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, digital video disc (DVD)), or semiconductor media (eg, solid state disk (SSD)), etc. .
- the disclosed system, apparatus and method may be implemented in other manners.
- the device embodiments described above are only illustrative.
- the division of the unit is only a logical function division.
- multiple units or components may be combined or may be Integration into another system, or some features can be ignored, or not implemented.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
- Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023518709A JP2023543752A (ja) | 2020-09-25 | 2021-04-13 | 点群コーデック方法及びシステム、並びに点群エンコーダ及び点群デコーダ |
| EP21870758.6A EP4221207A4 (en) | 2020-09-25 | 2021-04-13 | METHOD AND SYSTEM FOR CODING AND DECODING A POINT CLOUD AS WELL AS POINT CLOUD ENCODER AND POINT CLOUD DECODER |
| CN202180064277.9A CN116325731A (zh) | 2020-09-25 | 2021-04-13 | 点云编解码方法与系统、及点云编码器与点云解码器 |
| KR1020237009716A KR20230075426A (ko) | 2020-09-25 | 2021-04-13 | 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더 |
| US18/125,276 US12289450B2 (en) | 2020-09-25 | 2023-03-23 | Point cloud encoding and decoding method and system, and point cloud encoder and point cloud decoder |
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2020/117941 WO2022061785A1 (zh) | 2020-09-25 | 2020-09-25 | 点云编码方法、点云解码方法及相关装置 |
| CNPCT/CN2020/117941 | 2020-09-25 | ||
| CNPCT/CN2020/138423 | 2020-12-22 | ||
| CNPCT/CN2020/138421 | 2020-12-22 | ||
| PCT/CN2020/138421 WO2022133752A1 (zh) | 2020-12-22 | 2020-12-22 | 点云的编码方法、解码方法、编码器以及解码器 |
| PCT/CN2020/138423 WO2022133753A1 (zh) | 2020-12-22 | 2020-12-22 | 点云编解码方法与系统、及点云编码器与点云解码器 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/125,276 Continuation US12289450B2 (en) | 2020-09-25 | 2023-03-23 | Point cloud encoding and decoding method and system, and point cloud encoder and point cloud decoder |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022062369A1 true WO2022062369A1 (zh) | 2022-03-31 |
Family
ID=80844505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/087064 Ceased WO2022062369A1 (zh) | 2020-09-25 | 2021-04-13 | 点云编解码方法与系统、及点云编码器与点云解码器 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US12289450B2 (https=) |
| EP (1) | EP4221207A4 (https=) |
| JP (1) | JP2023543752A (https=) |
| KR (1) | KR20230075426A (https=) |
| CN (1) | CN116325731A (https=) |
| WO (1) | WO2022062369A1 (https=) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023213074A1 (zh) * | 2022-05-06 | 2023-11-09 | 腾讯科技(深圳)有限公司 | 点云处理方法、装置、设备、存储介质及产品 |
| WO2024007253A1 (zh) * | 2022-07-07 | 2024-01-11 | Oppo广东移动通信有限公司 | 点云率失真优化方法及属性压缩方法、装置和存储介质 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022062369A1 (zh) | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | 点云编解码方法与系统、及点云编码器与点云解码器 |
| EP4261785A1 (en) * | 2020-12-22 | 2023-10-18 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Point cloud encoding method and decoding method, and encoder and decoder |
| JP7692057B2 (ja) * | 2021-05-06 | 2025-06-12 | オッポ広東移動通信有限公司 | 点群符号化・復号化方法、符号器、復号器及びコンピュータ記憶媒体 |
| CN116233426B (zh) * | 2021-12-03 | 2024-05-31 | 维沃移动通信有限公司 | 属性量化、反量化方法、装置及设备 |
| CN121713478A (zh) * | 2023-08-18 | 2026-03-20 | 三星电子株式会社 | 用于量化移位的图像解码方法、图像解码装置、图像编码方法和图像编码装置 |
| WO2025145325A1 (zh) * | 2024-01-03 | 2025-07-10 | Oppo广东移动通信有限公司 | 编解码方法、编解码器以及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018078503A (ja) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | データ符号化方法、データ符号化装置及びデータ符号化プログラム |
| US20200021856A1 (en) * | 2018-07-10 | 2020-01-16 | Apple Inc. | Hierarchical point cloud compression |
| CN110708560A (zh) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | 点云数据处理方法和装置 |
| WO2020162495A1 (ja) * | 2019-02-05 | 2020-08-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| WO2020189709A1 (ja) * | 2019-03-18 | 2020-09-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
Family Cites Families (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8023563B2 (en) | 2002-10-04 | 2011-09-20 | Stmicroelectronics S.R.L. | Method and system for processing signals via perceptive vectorial quantization, computer program product therefor |
| US20050141774A1 (en) | 2003-12-30 | 2005-06-30 | Eastman Kodak Company | Image compression utilizing discarding of bitplanes |
| US8077775B2 (en) * | 2006-05-12 | 2011-12-13 | Freescale Semiconductor, Inc. | System and method of adaptive rate control for a video encoder |
| US10999576B2 (en) | 2017-05-03 | 2021-05-04 | Novatek Microelectronics Corp. | Video processing method |
| US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
| CN108322742B (zh) | 2018-02-11 | 2019-08-16 | 北京大学深圳研究生院 | 一种基于帧内预测的点云属性压缩方法 |
| MX2020012935A (es) | 2018-06-06 | 2021-02-15 | Panasonic Ip Corp America | Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales. |
| CN119653105A (zh) | 2018-06-13 | 2025-03-18 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
| CN112368742B (zh) | 2018-06-14 | 2025-02-21 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
| US11151748B2 (en) | 2018-07-13 | 2021-10-19 | Electronics And Telecommunications Research Institute | 3D point cloud data encoding/decoding method and apparatus |
| US11030777B2 (en) * | 2018-09-14 | 2021-06-08 | Sony Group Corporation | Adaptive subband coding for lifting transform |
| MX2024006502A (es) | 2018-10-02 | 2024-06-05 | Panasonic Ip Corp America | Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales. |
| KR102695285B1 (ko) | 2018-10-09 | 2024-08-14 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 |
| US10762667B2 (en) | 2018-11-30 | 2020-09-01 | Point Cloud Compression, B.V. | Method and apparatus for compression of point cloud data |
| CN111327897B (zh) | 2018-12-13 | 2022-01-14 | 华为技术有限公司 | 点云编码方法和编码器 |
| CN111327906B (zh) | 2018-12-13 | 2022-08-09 | 华为技术有限公司 | 点云编解码方法和编解码器 |
| WO2020143007A1 (zh) | 2019-01-10 | 2020-07-16 | 深圳市大疆创新科技有限公司 | 用于三维数据点集处理的方法和设备 |
| EP3932067A4 (en) | 2019-03-12 | 2022-08-24 | Huawei Technologies Co., Ltd. | ENCODING AND DECODING OF A PATCH DATA UNIT FOR POINT CLOUD DATA |
| WO2020189976A1 (ko) | 2019-03-16 | 2020-09-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 처리 장치 및 방법 |
| WO2020190093A1 (ko) | 2019-03-20 | 2020-09-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
| US10979730B2 (en) | 2019-03-20 | 2021-04-13 | Tencent America LLC | Techniques and apparatus for interframe point cloud attribute coding |
| CN109889840B (zh) | 2019-03-20 | 2022-11-22 | 北京大学深圳研究生院 | 点云编码和解码的方法、编码设备和解码设备 |
| WO2020213735A1 (ja) * | 2019-04-19 | 2020-10-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| WO2021002444A1 (ja) * | 2019-07-02 | 2021-01-07 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| US11202054B2 (en) | 2019-07-05 | 2021-12-14 | Tencent America LLC | Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding |
| CN114402614B (zh) * | 2019-07-22 | 2024-08-13 | 交互数字Vc控股公司 | 使用基于矩阵的帧内预测进行视频编码和解码的方法和装置 |
| CN110418135B (zh) | 2019-08-05 | 2022-05-27 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
| US11803986B2 (en) | 2019-08-08 | 2023-10-31 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
| WO2021049758A1 (ko) | 2019-09-11 | 2021-03-18 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
| CN114430845A (zh) | 2019-09-26 | 2022-05-03 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置 |
| US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
| CN114467119A (zh) | 2019-10-09 | 2022-05-10 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置 |
| WO2021080152A1 (ko) | 2019-10-24 | 2021-04-29 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
| EP4075804A4 (en) * | 2020-01-07 | 2023-01-25 | LG Electronics Inc. | POINT CLOUD DATA TRANSMISSION DEVICE, TRANSMISSION METHOD, PROCESSING DEVICE AND PROCESSING METHOD |
| US11803989B2 (en) | 2020-01-08 | 2023-10-31 | Qualcomm Incorporated | Quantization for geometry-based point cloud compression |
| US12335521B2 (en) | 2020-01-09 | 2025-06-17 | Apple Inc. | In-tree geometry quantization of point clouds |
| US12002244B2 (en) | 2020-04-08 | 2024-06-04 | Qualcomm Incorporated | Global scaling for geometry-based point cloud coding |
| US11558643B2 (en) | 2020-04-08 | 2023-01-17 | Qualcomm Incorporated | Secondary component attribute coding for geometry-based point cloud compression (G-PCC) |
| WO2021256559A1 (ja) | 2020-06-19 | 2021-12-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| AU2021298392A1 (en) | 2020-06-23 | 2023-02-02 | Panasonic Intellectual Property Corporation Of America | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device |
| US11924428B2 (en) | 2020-06-24 | 2024-03-05 | Qualcomm Incorporated | Scale factor for quantization parameter values in geometry-based point cloud compression |
| CN111953998B (zh) | 2020-08-16 | 2022-11-11 | 西安电子科技大学 | 基于dct变换的点云属性编码及解码方法、装置及系统 |
| WO2022062369A1 (zh) | 2020-09-25 | 2022-03-31 | Oppo广东移动通信有限公司 | 点云编解码方法与系统、及点云编码器与点云解码器 |
| WO2022098140A1 (ko) | 2020-11-06 | 2022-05-12 | 엘지전자 주식회사 | 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치 |
| CN115470259B (zh) | 2021-06-11 | 2025-08-08 | 鹏城实验室 | 一种点云属性预测方法、装置、终端及存储介质 |
| CN115914650A (zh) | 2021-08-24 | 2023-04-04 | 腾讯科技(深圳)有限公司 | 点云编解码方法、编码器、解码器及存储介质 |
-
2021
- 2021-04-13 WO PCT/CN2021/087064 patent/WO2022062369A1/zh not_active Ceased
- 2021-04-13 CN CN202180064277.9A patent/CN116325731A/zh active Pending
- 2021-04-13 JP JP2023518709A patent/JP2023543752A/ja active Pending
- 2021-04-13 EP EP21870758.6A patent/EP4221207A4/en not_active Withdrawn
- 2021-04-13 KR KR1020237009716A patent/KR20230075426A/ko not_active Withdrawn
-
2023
- 2023-03-23 US US18/125,276 patent/US12289450B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018078503A (ja) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | データ符号化方法、データ符号化装置及びデータ符号化プログラム |
| US20200021856A1 (en) * | 2018-07-10 | 2020-01-16 | Apple Inc. | Hierarchical point cloud compression |
| CN110708560A (zh) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | 点云数据处理方法和装置 |
| WO2020162495A1 (ja) * | 2019-02-05 | 2020-08-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| WO2020189709A1 (ja) * | 2019-03-18 | 2020-09-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4221207A4 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023213074A1 (zh) * | 2022-05-06 | 2023-11-09 | 腾讯科技(深圳)有限公司 | 点云处理方法、装置、设备、存储介质及产品 |
| CN117061770A (zh) * | 2022-05-06 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种点云处理方法、装置、设备、存储介质及产品 |
| WO2024007253A1 (zh) * | 2022-07-07 | 2024-01-11 | Oppo广东移动通信有限公司 | 点云率失真优化方法及属性压缩方法、装置和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US12289450B2 (en) | 2025-04-29 |
| CN116325731A (zh) | 2023-06-23 |
| EP4221207A1 (en) | 2023-08-02 |
| EP4221207A4 (en) | 2024-03-20 |
| JP2023543752A (ja) | 2023-10-18 |
| KR20230075426A (ko) | 2023-05-31 |
| US20230232004A1 (en) | 2023-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022062369A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
| US11671576B2 (en) | Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding | |
| WO2022133753A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
| JP7673198B2 (ja) | 点群符号化方法、点群復号化方法、点群符号化と復号化システム、点群エンコーダ及び点群デコーダ | |
| CN115474041B (zh) | 点云属性的预测方法、装置及相关设备 | |
| EP4258671A1 (en) | Point cloud attribute predicting method, encoder, decoder, and storage medium | |
| US20210012535A1 (en) | Method and apparatus for inter-channel prediction and transform for point cloud attribute coding | |
| CN116325732A (zh) | 点云的解码、编码方法、解码器、编码器和编解码系统 | |
| CN118075464B (zh) | 点云属性的预测方法、装置及编解码器 | |
| WO2022188582A1 (zh) | 点云中邻居点的选择方法、装置及编解码器 | |
| CN116783887A (zh) | 点云的编码方法、解码方法、编码器以及解码器 | |
| CN119366154A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| WO2022217472A1 (zh) | 点云编解码方法、编码器、解码器及计算机可读存储介质 | |
| WO2025185626A1 (zh) | 点云属性编解码方法、装置、设备、存储介质及程序产品 | |
| WO2023024842A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
| CN120476590A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| CN120958824A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| WO2023159428A1 (zh) | 编码方法、编码器以及存储介质 | |
| CN119366190A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| US20260039871A1 (en) | Point cloud encoding and decoding method and apparatus, device and storage medium | |
| WO2025007360A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
| CN120303940A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| CN120188479A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| CN120435867A (zh) | 点云编解码方法、装置、设备及存储介质 | |
| CN119854515A (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: 21870758 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2023518709 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202317023309 Country of ref document: IN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2021870758 Country of ref document: EP Effective date: 20230425 |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 1020237009716 Country of ref document: KR |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2021870758 Country of ref document: EP |