WO2024065408A1 - Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage - Google Patents
Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage Download PDFInfo
- Publication number
- WO2024065408A1 WO2024065408A1 PCT/CN2022/122663 CN2022122663W WO2024065408A1 WO 2024065408 A1 WO2024065408 A1 WO 2024065408A1 CN 2022122663 W CN2022122663 W CN 2022122663W WO 2024065408 A1 WO2024065408 A1 WO 2024065408A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current node
- prediction
- target
- residual
- coordinate system
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 216
- 230000009466 transformation Effects 0.000 claims abstract description 180
- 238000012545 processing Methods 0.000 claims abstract description 99
- 238000013139 quantization Methods 0.000 claims description 813
- 238000006243 chemical reaction Methods 0.000 claims description 102
- 230000008569 process Effects 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 51
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000002310 reflectometry Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012812 general test Methods 0.000 description 4
- 238000010330 laser marking Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 101000638069 Homo sapiens Transmembrane channel-like protein 2 Proteins 0.000 description 2
- 101150019148 Slc7a3 gene Proteins 0.000 description 2
- 102100032054 Transmembrane channel-like protein 2 Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012669 compression test Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000009828 non-uniform distribution Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 101150116295 CAT2 gene Proteins 0.000 description 1
- 101100326920 Caenorhabditis elegans ctl-1 gene Proteins 0.000 description 1
- 101100342039 Halobacterium salinarum (strain ATCC 29341 / DSM 671 / R1) kdpQ gene Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 101100126846 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) katG gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
Definitions
- the embodiments of the present application relate to the technical field of point cloud data processing, and in particular to a coding and decoding method, a bit stream, an encoder, a decoder, and a storage medium.
- the geometric information and attribute information of the point cloud are encoded separately.
- the geometry coding of G-PCC can be divided into geometry coding based on prediction tree and geometry coding based on low latency, low complexity coding model (L3C2).
- L3C2 low latency, low complexity coding model
- the input point cloud is first sorted and a single chain structure is established at the encoding end; then each node in the single chain structure is traversed, and after selecting the corresponding prediction mode, the geometric position information of the node is predicted according to the prediction mode to obtain the prediction residual, and finally the prediction mode and prediction residual of each node are encoded to generate a binary code stream.
- the best prediction mode is usually selected to improve the geometric encoding efficiency of the point cloud.
- the current method of deciding the prediction mode is unreasonable, resulting in inaccurate selection of the best prediction mode, which reduces the encoding efficiency of geometric information.
- the embodiments of the present application provide a coding and decoding method, a bit stream, an encoder, a decoder and a storage medium, which can improve the accuracy of selecting the best prediction mode, thereby improving the coding efficiency of geometric information and improving the coding and decoding performance of point clouds.
- an embodiment of the present application provides an encoding method, which is applied to an encoder, and the method includes:
- the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the current node is encoded according to the target prediction mode, the encoding information of the current node is determined, and the encoding information is written into the bitstream.
- an embodiment of the present application provides a decoding method, which is applied to a decoder, and the method includes:
- an embodiment of the present application provides an encoding method, which is applied to an encoder, and the method includes:
- the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the current node is encoded according to the target prediction mode and the target quantization parameter, the encoding information of the current node is determined, and the encoding information is written into the bitstream.
- an embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least one of the following:
- the target prediction mode the target quantization parameter index value, the order of the current node, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
- an embodiment of the present application provides an encoder, the encoder comprising a first determining unit, a pre-encoding unit and an encoding unit; wherein,
- a first determining unit is configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- a precoding unit configured to perform precoding processing on the current node through multiple prediction modes, and determine precoding information of each of the multiple prediction modes; wherein the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system;
- the first determining unit is further configured to determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes;
- the encoding unit is configured to perform encoding processing on the current node according to the target prediction mode, determine the encoding information of the current node, and write the encoding information into the bitstream.
- an embodiment of the present application provides an encoder, the encoder comprising a first determining unit, a pre-encoding unit and an encoding unit; wherein,
- a first determining unit is configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- a precoding unit is configured to perform precoding processing on the current node through multiple prediction modes and multiple quantization parameters, and determine precoding information of each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information at least includes: the prediction mode, the quantization parameter, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
- the first determination unit is further configured to determine a target prediction mode and a target quantization parameter in a plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;
- the encoding unit is configured to perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine the encoding information of the current node, and write the encoding information into the bitstream.
- an embodiment of the present application provides an encoder, the encoder comprising a first memory and a first processor; wherein,
- a first memory for storing a computer program that can be run on the first processor
- the first processor is configured to execute the method according to the first aspect or the third aspect when running a computer program.
- an embodiment of the present application provides a decoder, the decoder comprising a parsing unit, a second determining unit, and a second dequantization unit; wherein:
- a second determining unit is configured to determine a prediction list of a current node, wherein the prediction list includes a plurality of candidate parameters
- a parsing unit configured to parse the bitstream and determine a target prediction mode of a current node
- the second determination unit is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system according to the set of target parameters;
- the parsing unit is further configured to parse the bitstream to determine a target quantization parameter of a current node and a target quantization prediction residual of the current node in a preset coordinate system;
- a second dequantization unit is configured to perform dequantization processing on a target quantization prediction residual of a current node in a preset coordinate system according to a target quantization parameter, and determine a target dequantization prediction residual of the current node in the preset coordinate system;
- the second determination unit is also configured to determine the target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system; and determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
- an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor; wherein:
- a second memory for storing a computer program that can be run on a second processor
- the second processor is used to execute the method described in the second aspect when running the computer program.
- an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed, it implements the method as described in the first aspect, or the method as described in the second aspect, or the method as described in the third aspect.
- the embodiments of the present application provide a coding and decoding method, a bit stream, an encoder, a decoder and a storage medium.
- a prediction list of a current node in a single-chain structure is determined, wherein the prediction list includes multiple groups of candidate parameters, and the index numbers of each of the multiple groups of candidate parameters in the prediction list have a corresponding relationship with multiple prediction modes;
- the current node is pre-encoded using multiple prediction modes to determine pre-coding information of each of the multiple prediction modes; wherein the pre-coding information includes at least: a prediction mode, a prediction residual of the current node in a first coordinate system, and a coordinate transformation residual of the current node in a second coordinate system;
- a target prediction mode is determined among the multiple prediction modes according to the pre-coding information of each of the multiple prediction modes;
- the current node is encoded according to the target prediction mode to determine the encoding information of the current node, and the encoding information is written into the bit stream.
- the best target quantization parameter and target prediction mode can be selected based on the principle of minimum cost value, which can further improve the coding efficiency of the geometric information and thus improve the encoding and decoding performance of the point cloud.
- FIG1A is a schematic diagram of a three-dimensional point cloud image
- FIG1B is a partially enlarged schematic diagram of a three-dimensional point cloud image
- FIG2A is a schematic diagram of a point cloud image at different viewing angles
- FIG2B is a schematic diagram of a data storage format corresponding to FIG2A ;
- FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding
- FIG4A is a schematic block diagram of a G-PCC encoder
- FIG4B is a schematic block diagram of a G-PCC decoder
- FIG5A is a schematic diagram of an intersection of a sub-block
- FIG5B is a schematic diagram of fitting a triangular face set
- FIG5C is a schematic diagram of upsampling of a triangular face set
- FIG6A is a block diagram of an AVS encoder
- FIG6B is a block diagram of an AVS decoder
- FIG7 is a schematic diagram showing the relationship between an azimuth component and a depth component
- FIG8 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application.
- FIG9 is a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud
- FIG10A is a schematic diagram of the structure of an initial point cloud provided in an embodiment of the present application.
- FIG10B is a schematic diagram of a regularized processing of a single-chain structure provided in an embodiment of the present application.
- FIG11 is a schematic diagram of a scanning principle of a laser radar provided in an embodiment of the present application.
- FIG12A is a schematic diagram of a quantization principle of a depth component provided in an embodiment of the present application.
- FIG12B is a schematic diagram of a quantization principle of an azimuth component provided in an embodiment of the present application.
- FIG13 is a schematic diagram of updating a prediction list of an encoding end provided in an embodiment of the present application.
- FIG14 is a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application.
- FIG15 is a schematic diagram of a flow chart of a decoding method provided in an embodiment of the present application.
- FIG16 is a schematic diagram of updating a prediction list at a decoding end provided in an embodiment of the present application.
- FIG17A is a schematic block diagram of a composition of an L3C2 encoder provided in an embodiment of the present application.
- FIG17B is a schematic block diagram of a composition of an L3C2 decoder provided in an embodiment of the present application.
- FIG18 is a schematic diagram of the structure of an encoder provided in an embodiment of the present application.
- FIG19 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application.
- FIG20 is a schematic diagram of the composition structure of a decoder provided in an embodiment of the present application.
- FIG21 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application.
- FIG. 22 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application.
- first ⁇ second ⁇ third involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that “first ⁇ second ⁇ third” can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
- Point Cloud is a three-dimensional representation of the surface of an object.
- Point cloud (data) on the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
- a point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.
- FIG1A shows a three-dimensional point cloud image
- FIG1B shows a partial magnified view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.
- Two-dimensional images have information expressed at each pixel point, and the distribution is regular, so there is no need to record its position information additionally; however, the distribution of points in point clouds in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space in order to fully express a point cloud.
- each position in the acquisition process has corresponding attribute information, usually RGB color values, and the color value reflects the color of the object; for point clouds, in addition to color information, the attribute information corresponding to each point is also commonly the reflectance value, which reflects the surface material of the object. Therefore, the points in the point cloud can include the position information of the point and the attribute information of the point.
- the position information of the point can be the three-dimensional coordinate information (x, y, z) of the point.
- the position information of the point can also be called the geometric information of the point.
- the attribute information of the point can include color information (three-dimensional color information) and/or reflectance (one-dimensional reflectance information r), etc.
- the color information can be information on any color space.
- the color information can be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
- the color information may be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
- the points in the point cloud may include the three-dimensional coordinate information of the points and the reflectivity value of the points.
- the points in the point cloud may include the three-dimensional coordinate information of the points and the three-dimensional color information of the points.
- a point cloud obtained by combining the principles of laser measurement and photogrammetry may include the three-dimensional coordinate information of the points, the reflectivity value of the points and the three-dimensional color information of the points.
- Figure 2A and 2B a point cloud image and its corresponding data storage format are shown.
- Figure 2A provides six viewing angles of the point cloud image
- Figure 2B consists of a file header information part and a data part.
- the header information includes the data format, data representation type, the total number of point cloud points, and the content represented by the point cloud.
- the point cloud is in the ".ply" format, represented by ASCII code, with a total number of 207242 points, and each point has three-dimensional coordinate information (x, y, z) and three-dimensional color information (r, g, b).
- Point clouds can be divided into the following categories according to the way they are obtained:
- Static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
- Dynamic point cloud The object is moving, but the device that obtains the point cloud is stationary;
- Dynamic point cloud acquisition The device used to acquire the point cloud is in motion.
- point clouds can be divided into two categories according to their usage:
- Category 1 Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, disaster relief robots, etc.
- Category 2 Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
- Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Point clouds are obtained by directly sampling real objects, so they can provide a strong sense of reality while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.
- Point clouds can be collected mainly through the following methods: computer generation, 3D laser scanning, 3D photogrammetry, etc.
- Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
- 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
- the number of points in each point cloud frame is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar).
- the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but also is not conducive to transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, the point cloud needs to be compressed.
- the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by AVS.
- the G-PCC codec framework can be used to compress the first type of static point clouds and the third type of dynamically acquired point clouds, which can be based on the point cloud compression test platform (Test Model Compression 13, TMC13), and the V-PCC codec framework can be used to compress the second type of dynamic point clouds, which can be based on the point cloud compression test platform (Test Model Compression 2, TMC2). Therefore, the G-PCC codec framework is also called the point cloud codec TMC13, and the V-PCC codec framework is also called the point cloud codec TMC2.
- FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding provided by the embodiment of the present application.
- the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01.
- the electronic device can be various types of devices with point cloud encoding and decoding functions.
- the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., which is not limited by the embodiment of the present application.
- the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.
- the electronic device in the embodiment of the present application has a point cloud encoding and decoding function, generally including a point cloud encoder (ie, encoder) and a point cloud decoder (ie, decoder).
- a point cloud encoder ie, encoder
- a point cloud decoder ie, decoder
- the point cloud data is first divided into multiple slices by slice division.
- the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately.
- FIG4A shows a schematic diagram of the composition framework of a G-PCC encoder.
- the geometric information is transformed so that all point clouds are contained in a bounding box (Bounding Box), and then quantized.
- This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same, so whether to remove duplicate points is determined based on parameters.
- the process of quantization and removal of duplicate points is also called voxelization.
- the Bounding Box is divided into octrees or a prediction tree is constructed.
- arithmetic coding is performed on the points in the divided leaf nodes to generate a binary geometric bit stream; or, arithmetic coding is performed on the intersection points (Vertex) generated by the division (surface fitting is performed based on the intersection points) to generate a binary geometric bit stream.
- color conversion is required first to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the uncoded attribute information corresponds to the reconstructed geometric information. Attribute encoding is mainly performed on color information.
- FIG4B shows a schematic diagram of the composition framework of a G-PCC decoder.
- the geometric bit stream and the attribute bit stream in the binary bit stream are first decoded independently.
- the geometric information of the point cloud is obtained through arithmetic decoding-reconstruction of the octree/reconstruction of the prediction tree-reconstruction of the geometry-coordinate inverse conversion;
- the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD partitioning/RAHT-color inverse conversion, and the point cloud data to be encoded (i.e., the output point cloud) is restored based on the geometric information and attribute information.
- the current geometric coding of G-PCC can be divided into octree-based geometric coding (marked by a dotted box) and prediction tree-based geometric coding (marked by a dotted box).
- the octree-based geometry encoding includes: first, coordinate transformation of the geometric information so that all point clouds are contained in a Bounding Box. Then quantization is performed. This step of quantization mainly plays a role of scaling. Due to the quantization rounding, the geometric information of some points is the same. The parameters are used to decide whether to remove duplicate points. The process of quantization and removal of duplicate points is also called voxelization. Next, the Bounding Box is continuously divided into trees (such as octrees, quadtrees, binary trees, etc.) in the order of breadth-first traversal, and the placeholder code of each node is encoded.
- trees such as octrees, quadtrees, binary trees, etc.
- the bounding box of the point cloud is calculated. Assume that dx > dy > dz , the bounding box corresponds to a cuboid.
- binary tree partitioning will be performed based on the x-axis to obtain two child nodes.
- quadtree partitioning will be performed based on the x- and y-axes to obtain four child nodes.
- octree partitioning will be performed until the leaf node obtained by partitioning is a 1 ⁇ 1 ⁇ 1 unit cube.
- K indicates the maximum number of binary tree/quadtree partitions before octree partitioning
- M is used to indicate that the minimum block side length corresponding to binary tree/quadtree partitioning is 2M .
- the reason why parameters K and M meet the above conditions is that in the process of geometric implicit partitioning in G-PCC, the priority of partitioning is binary tree, quadtree and octree.
- the node block size does not meet the conditions of binary tree/quadtree, the node will be partitioned by octree until the minimum unit of leaf node 1 ⁇ 1 ⁇ 1 is reached.
- the geometric information coding mode based on octree has an efficient compression rate only for points with correlation in space, while for points in isolated positions in geometric space, the use of direct coding model (DCM) can greatly reduce the complexity.
- DCM direct coding model
- the use of DCM is not represented by flag information, but is inferred by the parent node and neighbor information of the current node. There are two ways to determine whether the current node is eligible for DCM encoding:
- the current node has only one occupied child node, and the parent node of the current node's parent node has only two occupied child nodes, that is, the current node has at most one neighbor node.
- the parent node of the current node has only one child node, the current node.
- the six neighbor nodes that share a face with the current node are also empty nodes.
- the current node does not have the DCM coding qualification, it will be divided into octrees. If it has the DCM coding qualification, the number of points contained in the node will be further determined. When the number of points is less than the threshold (for example, 2), the node will be DCM-encoded, otherwise the octree division will continue.
- the threshold for example, 2
- the geometric coordinate (x, y, z) components of the points contained in the current node will be directly encoded independently.
- the side length of a node is 2d , d bits are required to encode each component of the geometric coordinates of the node, and the bit information is directly written into the bit stream.
- G-PCC currently introduces a plane coding mode. In the process of geometric division, it will determine whether the child nodes of the current node are in the same plane. If the child nodes of the current node meet the conditions of the same plane, the child nodes of the current node will be represented by the plane.
- the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained. The number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.
- geometric information coding based on triangle soup (trisoup)
- geometric division must also be performed first, but different from geometric information coding based on binary tree/quadtree/octree, this method does not need to divide the point cloud into unit cubes with a side length of 1 ⁇ 1 ⁇ 1 step by step, but stops dividing when the side length of the sub-block is W.
- the surface and the twelve edges of the block are obtained.
- the vertex coordinates of each block are encoded in turn to generate a binary code stream.
- the Predictive geometry coding based on the Predictive tree includes: first, sorting the input point cloud.
- the currently used sorting methods include disorder, Morton order, azimuth order, and radial distance order.
- the prediction tree structure is established by using two different methods, including: high-latency slow mode (KD-Tree, KD tree) and low-latency fast mode (using laser radar calibration information).
- KD-Tree high-latency slow mode
- KD tree high-latency slow mode
- KD-Tree high-latency fast mode
- each point is divided into different lasers (Laser), and the prediction tree structure is established according to different Lasers.
- each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the geometric prediction residual, and the geometric prediction residual is quantized using the quantization parameter.
- the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameter are encoded to generate a binary code stream.
- the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream, and then obtains the geometric position prediction residual information and quantization parameters of each prediction node through parsing, and dequantizes the prediction residual to recover the reconstructed geometric position information of each node, and finally completes the geometric reconstruction of the decoding end.
- attribute encoding is mainly performed on color information.
- the color information is converted from the RGB color space to the YUV color space.
- the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
- color information encoding there are two main transformation methods, one is the distance-based lifting transformation that relies on LOD division, and the other is direct RAHT transformation. Both methods convert color information from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through transformation, and finally quantize and encode the coefficients to generate a binary bit stream (which can be referred to as "code stream").
- Morton codes can be used to search for nearest neighbors.
- the Morton code corresponding to each point in the point cloud can be obtained from the geometric coordinates of the point.
- the specific method for calculating the Morton code is described as follows. For each component of the three-dimensional coordinate represented by a d-bit binary number, its three components can be expressed as:
- the Morton code M is x, y, z starting from the highest bit, and then arranged in sequence from x l ,y l ,z l to the lowest bit.
- the calculation formula of M is as follows:
- Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
- Condition 3 The geometric position is lossless, and the attributes are limitedly lossy
- Condition 4 The geometric position and attributes are lossless.
- the general test sequences include Cat1A, Cat1B, Cat3-fused, and Cat3-frame.
- Cat2-frame point cloud only contains reflectivity attribute information
- Cat1A and Cat1B point clouds only contain color attribute information
- Cat3-fused point cloud contains both color and reflectivity attribute information.
- the bounding box is divided into sub-cubes in sequence, and the non-empty sub-cubes (containing points in the point cloud) are divided again until the leaf node obtained by division is a 1 ⁇ 1 ⁇ 1 unit cube.
- the number of points contained in the leaf node needs to be encoded, and finally the encoding of the geometric octree is completed to generate a binary code stream.
- the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained.
- geometric lossless decoding it is necessary to parse the number of points contained in each leaf node and finally restore the geometrically reconstructed point cloud information.
- the prediction tree structure is established by using two different methods, including: based on KD-Tree (high-latency slow mode) and using lidar calibration information (low-latency fast mode).
- lidar calibration information each point can be divided into different Lasers, and the prediction tree structure is established according to different Lasers.
- each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the geometric prediction residual, and the geometric prediction residual is quantized using the quantization parameter.
- the prediction residual of the node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.
- the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream, and then obtains the geometric position prediction residual information and quantization parameters of each prediction node through parsing, and dequantizes the prediction residual to restore the reconstructed geometric position information of each node, and finally completes the geometric reconstruction at the decoding end.
- Figure 6A shows a schematic diagram of the composition framework of an AVS encoder
- Figure 6B shows a schematic diagram of the composition framework of an AVS encoder.
- the geometric information is first transformed into coordinates so that all point clouds are contained in a Bounding Box.
- the parameter configuration will determine whether to divide the entire point cloud sequence into multiple slices, and each divided slice will be treated as a single independent point cloud for serial processing.
- the preprocessing process includes quantization and removal of duplicate points. Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined according to the parameters.
- the Bounding Box is divided in the order of breadth-first traversal (octree/quadtree/binary tree), and the placeholder code of each node is encoded.
- the bounding box is divided into sub-cubes in turn, and the non-empty (containing points in the point cloud) sub-cubes are continued to be divided until the leaf node obtained by the division is a 1 ⁇ 1 ⁇ 1 unit cube. Then, the division is stopped when the leaf node is a 1 ⁇ 1 ⁇ 1 unit cube.
- the number of points contained in the leaf node is encoded, and finally the geometric octree encoding is completed to generate a binary geometric bit stream (i.e., geometric code stream).
- the decoder obtains the placeholder code of each node by continuous parsing in the order of breadth-first traversal, and divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained. The number of points contained in each leaf node is parsed to finally recover the geometric information.
- attribute encoding is mainly performed on color and reflectivity information.
- color information encoding it is divided into two modules: attribute prediction and attribute transformation.
- the attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. There are two reordering methods: Morton reordering and Hilbert reordering.
- the attribute prediction of the sorted point cloud is performed using a differential method, and finally the prediction residual is quantized and entropy encoded to generate a binary attribute bit stream.
- the attribute transformation process is as follows: first, wavelet transform is performed on the point cloud attributes and the transform coefficients are quantized; secondly, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transform; then the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and quantize it; finally, the quantized transform coefficients and attribute residual are entropy encoded to generate a binary attribute bit stream (i.e., attribute code stream).
- the decoding end performs entropy decoding-inverse quantization-attribute prediction compensation/attribute inverse transform-inverse spatial transform on the attribute bit stream, and finally recovers the attribute information.
- Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
- Condition 3 The geometric position is lossless, and the attributes are limitedly lossy
- Condition 4 The geometric position and attributes are lossless.
- Cat1A and Cat2-frame point clouds only contain reflectance attribute information
- Cat1B and Cat3 point clouds only contain color attribute information
- Cat1C point cloud contains both color and reflectance attribute information.
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.), and the prediction algorithm is first used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value. Then, the attribute residual is quantized to generate a quantized residual, and finally the quantized residual is encoded;
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
- the prediction algorithm is first used to obtain the attribute prediction value, and then the decoding is performed to obtain the quantized residual.
- the quantized residual is then dequantized, and finally the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.
- Prediction transform branch - resources are limited
- attribute compression adopts a method based on intra-frame prediction and discrete cosine transform (DCT).
- DCT discrete cosine transform
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.), and the entire point cloud is first divided into several small groups with a maximum length of Y (such as 2), and then these small groups are combined into several large groups (the number of points in each large group does not exceed X, such as 4096), and then the prediction algorithm is used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value.
- the attribute residual is transformed by DCT in small groups to generate transformation coefficients, and then the transformation coefficients are quantized to generate quantized transformation coefficients, and finally the quantized transformation coefficients are encoded in large groups;
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
- the entire point cloud is divided into several small groups with a maximum length of Y (such as 2), and then these small groups are combined into several large groups (the number of points in each large group does not exceed X, such as 4096).
- the quantized transform coefficients are decoded in large groups, and then the prediction algorithm is used to obtain the attribute prediction value.
- the quantized transform coefficients are dequantized and inversely transformed in small groups.
- the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
- Prediction transform branch - resources are not limited. Attribute compression adopts a method based on intra-frame prediction and DCT transform. When encoding the quantized transform coefficients, there is no limit on the maximum number of points X, that is, all coefficients are encoded together.
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.).
- the entire point cloud is divided into several small groups with a maximum length of Y (such as 2).
- the prediction algorithm is used to obtain the attribute prediction value.
- the attribute residual is obtained according to the attribute value and the attribute prediction value.
- the attribute residual is subjected to DCT transformation in groups to generate transformation coefficients.
- the transformation coefficients are then quantized to generate quantized transformation coefficients.
- the quantized transformation coefficients of the entire point cloud are encoded.
- the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
- the entire point cloud is divided into several small groups with a maximum length of Y (such as 2), and the quantized transformation coefficients of the entire point cloud are obtained by decoding.
- the prediction algorithm is used to obtain the attribute prediction value, and then the quantized transformation coefficients are dequantized and inversely transformed in groups.
- the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
- Multi-layer transformation branch attribute compression adopts a method based on multi-layer wavelet transform.
- the entire point cloud is subjected to multi-layer wavelet transform to generate transform coefficients, which are then quantized to generate quantized transform coefficients, and finally the quantized transform coefficients of the entire point cloud are encoded;
- decoding obtains the quantized transform coefficients of the entire point cloud, and then dequantizes and inversely transforms the quantized transform coefficients to obtain attribute reconstruction values.
- a company has proposed a geometric coding optimization solution based on a prediction tree structure for cat3-frame data.
- the prediction tree is constructed using the prior information of the rotating lidar and the cylindrical coordinates of the point cloud, so that the point cloud has more accurate predictions in the vertical and horizontal directions.
- another company has proposed an optimization solution for cat3-frame data based on the geometric coding optimization solution based on the prediction tree.
- the depth information R of the cylindrical coordinate system can be used to calculate the horizontal azimuth Adaptive quantization can adaptively change the accuracy of the horizontal azimuth angle and further improve the coding efficiency of geometric information.
- a certain prediction mode is selected to improve the geometric coding efficiency of the point cloud.
- the bitstream information i.e., the coding bit size
- the bitstream information required for the coordinate conversion residual corresponding to each prediction mode is not counted, resulting in inaccurate selection of the best prediction mode, thereby reducing the coding efficiency of the geometric information.
- the embodiment of the present application provides a coding and decoding method.
- For multiple prediction modes when counting the pre-coding information corresponding to each prediction mode, not only the prediction residuals of the prediction mode and the current node in the cylindrical coordinate system are considered, but also the influence of the coordinate conversion residuals of the cylindrical coordinate system on the Cartesian coordinate system is considered.
- the accuracy of the bit stream estimation under each prediction mode can be improved, so that the selected best prediction mode is more accurate, and the coding efficiency of the geometric information can be improved; in addition, the influence of different quantization parameters on the coordinate conversion residuals can also be considered, and the best quantization parameters and the best prediction mode are selected based on the principle of minimum cost value, so as to further improve the coding efficiency of the geometric information, and then improve the coding and decoding performance of the point cloud.
- FIG8 a schematic diagram of a flow chart of an encoding method provided by an embodiment of the present application is shown. As shown in FIG8 , the method may include:
- S801 Determine a prediction list of a current node in a single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes.
- the encoding method of the embodiment of the present application can be applied to an encoder.
- the encoding method can specifically refer to an L3C2 encoding method, and more specifically, a laser radar point cloud encoding method, that is, using the laser radar calibration information, each node is divided into different lasers, and a single chain structure is established according to different lasers, but this is not specifically limited here.
- the initial point cloud here may be a voxelized point cloud.
- the method may further include:
- a single chain structure is established according to the processed point cloud in the first coordinate system.
- the first coordinate system may be a cylindrical coordinate system. Indicates; the second coordinate system can be a Cartesian coordinate system, represented by (x, y, z).
- the method may further include: before performing coordinate transformation on the points in the initial point cloud, reordering the initial point cloud.
- the initial point cloud needs to be reordered first; then the initial point cloud is converted from the Cartesian coordinate system to the cylindrical coordinate system, and then the initial point cloud in the cylindrical coordinate system is used to establish the single-chain structure.
- the initial point cloud is reordered to construct a more efficient single chain structure.
- the default sorting method is to sort according to the scanning order of the laser radar.
- the Cartesian coordinates (x, y, z) of each node can be converted into polar coordinates And according to the elevation tangent tan ⁇ , azimuth
- the radius R sorts the points.
- FIG9 shows a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud.
- the (x, y, z) coordinates of each node can be converted to Indicates.
- the laser scanner can perform laser scanning at a preset angle, and different ⁇ (j) can be obtained under different values of j.
- ⁇ (1) can be obtained, and the corresponding scanning angle is -15°; when j is equal to 2, ⁇ (2) can be obtained, and the corresponding scanning angle is -13°; when j is equal to 10, ⁇ (10) can be obtained, and the corresponding scanning angle is +13°; when j is equal to 9, ⁇ (19) can be obtained, and the corresponding scanning angle is +15°.
- i represents the LaserID corresponding to the point.
- a typical laser radar system may have 16, 32 or 64 laser scanners.
- the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different.
- i is determined by looping the prior information of different Lasers. In each loop, the z component of the point is calculated using the R, prior information and the above equations (4) to (6), and the deviation between the converted z component and the original z component of the point is calculated. Then, the one with the smallest deviation is selected from different LaserIDs as the i of the point. This process processes the non-uniform distribution of the point cloud in the vertical direction in space and regularizes it.
- FIG. 10A shows a schematic diagram of the structure of an initial point cloud provided by an embodiment of the present application
- FIG. 10B shows a schematic diagram of the regularization processing of a single chain structure provided by an embodiment of the present application.
- the initial point cloud is traversed, and the azimuth component of each node is quantized, that is, In order to realize the regularization of the vertical direction of the initial point cloud.
- the laser radar point cloud is scanned by using a laser scanner (or “laser scanner") to scan the object
- the specific scanning principle is shown in Figure 11.
- the rotation interval of each Laser is obtained by using the acquisition parameters of the laser scanner, that is, by using To regularize the vertical direction of the single chain structure.
- the order of the current node in the single-chain structure can also be calculated, which can be expressed as o(P).
- the specific calculation formula is as follows:
- Nlaser represents the number of Lasers
- ⁇ represents the LaserID corresponding to the current node
- the quantized value of; that is, the order of each node in the single chain structure can be obtained, namely o(P).
- S802 Pre-encode the current node through multiple prediction modes to determine the pre-encoding information of each of the multiple prediction modes; wherein the pre-encoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system.
- the prediction list may include multiple groups of candidate parameters, and each prediction mode is used to indicate the index number of a group of candidate parameters in the prediction list, that is, the prediction mode has a corresponding relationship with the index number of the candidate parameters in the prediction list.
- the single chain structure can be traversed in depth-first order, and for the current node in the single chain structure, a target prediction mode needs to be selected from these multiple prediction modes for prediction.
- precoding the current node through multiple prediction modes to determine the precoding information of each of the multiple prediction modes may include:
- Precoding information of the candidate prediction mode is determined according to the candidate prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system.
- the candidate prediction mode is any one of a plurality of prediction modes.
- each prediction mode determines the corresponding precoding information according to the above processing procedure.
- performing prediction processing on the current node using a set of candidate parameters to obtain a predicted value of the current node in the first coordinate system may include:
- the candidate prediction mode determines the candidate prediction mode to be the first prediction mode, and using the preset value as the prediction value of the current node in the first coordinate system;
- a set of candidate parameters is used to perform prediction processing on the current node to determine the predicted value of the current node in the first coordinate system.
- the multiple prediction modes may include the first prediction mode and other prediction modes.
- the first prediction mode indicates no prediction, which can be represented by Mode0; other prediction modes indicate prediction, and prediction processing can be performed according to the candidate parameters in the prediction list. That is to say, if the current node is the root node of the prediction tree structure, that is, the cylindrical coordinates of the current node are not predicted, then the corresponding cylindrical coordinate system prediction value is the preset value Among them, R min is the minimum value of the R component obtained after the coordinate transformation of the entire initial point cloud; if the current node has no parent node, then and i prev are both set to 0, otherwise they are the cylindrical coordinate components of the parent node. If the current node is not the root node, the cylindrical coordinates of the current node are predicted using the corresponding prediction mode, and the predicted value of the cylindrical coordinate system of the current point is
- the first coordinate system may be a cylindrical coordinate system, which includes: azimuth component Depth component (R) and laser identification component (i).
- R azimuth component Depth component
- i laser identification component
- determining the prediction residual of the current node in the first coordinate system according to the original value of the current node in the first coordinate system and the predicted value of the current node in the first coordinate system may include:
- An initial prediction residual of the depth component of the current node is determined according to an original value of the depth component of the current node and a predicted value of the depth component of the current node; and the initial prediction residual of the depth component of the current node is quantized according to a second quantization factor to determine a quantized prediction residual of the depth component of the current node.
- the initial prediction residual of the laser identification component of the current node is determined according to the original value of the laser identification component of the current node and the predicted value of the laser identification component of the current node; and the reconstructed value of the laser identification component of the current node is determined according to the initial prediction residual of the laser identification component of the current node.
- the reconstructed value i rec is the same as the original value i.
- the initial prediction residual of the azimuth component of the current node can be used Indicates that the initial prediction residual of the depth component of the current node can be represented by R res .
- the quantized prediction residual of the azimuth component of the current node can be represented by It indicates that the quantized prediction residual of the depth component of the current node can be represented by QR res .
- the first quantization factor can be used
- the second quantization factor can be represented by dr.
- the first quantization factor can be used to perform Quantization processing; for QR res , the second quantization factor may be used to perform R res quantization processing; the specific calculation formula is as follows:
- determining the reconstruction value of the current node in the first coordinate system may be further determined.
- determining the reconstruction value of the current node in the first coordinate system according to the prediction residual of the current node in the first coordinate system may include:
- the quantized prediction residual of the depth component of the current node is inversely quantized according to the second quantization factor to determine the inversely quantized prediction residual of the depth component of the current node; and the reconstructed value of the depth component of the current node is determined based on the inversely quantized prediction residual of the depth component of the current node and the predicted value of the depth component of the current node.
- the reconstructed value of the azimuth component of the current node can be used It indicates that the reconstructed value of the depth component of the current node can be represented by R rec , and the reconstructed value of the laser marking component of the current node can be represented by i rec .
- the inverse quantized prediction residual of the azimuth component of the current node can be used InvR res indicates that the inverse quantization prediction residual of the depth component of the current node can be expressed as:
- the reconstructed value of the current node in the first coordinate system It can be determined by the sum of the prediction residual and the predicted value of the azimuth component of the current node, and R rec can be determined by the sum of the prediction residual and the predicted value of the depth component of the current node.
- the specific calculation formula is as follows:
- the calculation formula for the second quantization factor of the depth component is as follows:
- the first quantization factor may be calculated.
- the method may further include: determining the first quantization factor according to the second quantization factor and the reconstructed value of the depth component of the current node.
- the second quantization factor dr of the depth component R can be calculated as shown in the above formula (14).
- the quantized prediction residual of the azimuth component is not directly written into the bitstream as precoding information.
- the method may also include:
- the prediction residual of the current node in the first coordinate system is determined according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
- each set of candidate parameters may include a quantized residual prediction value of the azimuth component (in denoted by ) and the predicted value of the depth component (denoted by Prj), where j represents the index number of the group of candidate parameters in the prediction list.
- R res represents the prediction residual of the depth component of the current node
- QR res represents the quantized prediction residual of the depth component of the current node
- the second coordinate system can be a Cartesian coordinate system, which includes: a first axis component, a second axis component and a third axis component.
- the first axis component can be an x component
- the second axis component can be a y component
- the third axis component can be a z component
- the first axis component can be a y component
- the second axis component can be an x component
- the third axis component can be a z component, and so on, which is not specifically limited here.
- performing inverse coordinate transformation according to the reconstructed value of the current node in the first coordinate system to determine the predicted value of the current node in the second coordinate system may include:
- an inverse coordinate transformation is performed to obtain the predicted value of the first axis component of the current node, the predicted value of the second axis component of the current node, and the predicted value of the third axis component of the current node.
- i is the LaserID corresponding to the point, and the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different. Therefore, the elevation angle corresponding to the i-th Laser is ⁇ (i), and the height in the vertical direction is zLaser(i).
- determining the coordinate transformation residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the predicted value of the current node in the second coordinate system may include:
- the coordinate transformation residual of the third axis component of the current node is determined according to the original value of the third axis component of the current node and the predicted value of the third axis component of the current node.
- the coordinate transformation residual of the first axis component of the current node can be represented by x res
- the coordinate transformation residual of the second axis component of the current node can be represented by y res
- the coordinate transformation residual of the third axis component of the current node can be represented by z res .
- x res may be determined by the difference between the original value and the predicted value of the first axis component of the current node, that is, y res can be determined by the difference between the original value and the predicted value of the second axis component of the current node, that is, z res can be determined by the difference between the original value and the predicted value of the third axis component of the current node, that is,
- the bitstream required for all the information required to be encoded for each prediction mode can be considered to ensure that the target prediction mode finally selected is the prediction mode that consumes the least bitstream.
- determining the precoding information of the candidate prediction mode according to the candidate prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system may include:
- the candidate prediction mode, the quantized residual value of the azimuth component of the current node, the quantized prediction residual of the depth component of the current node, the coordinate conversion residual of the first axis component of the current node, the coordinate conversion residual of the second axis component of the current node, and the coordinate conversion residual of the third axis component of the current node are determined as the precoding information of the candidate prediction mode.
- (x res , y res , z res ) may all be counted.
- the residual components of x res and y res may not be encoded, that is, only the residual component of z res may be counted; while for the geometric lossless coding situation, (x res , y res , z res ) all need to be counted.
- respective precoding information can be determined in the above manner.
- the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system.
- S803 Determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes.
- the distortion value size of each of the multiple prediction modes can be determined.
- it can be determined according to the cost result of Rate Distortion Optimization (RDO), or according to the cost result of Sum of Absolute Difference (SAD), or even according to the cost result of Sum of Absolute Transformed Difference (SATD), but no limitation is made here.
- RDO Rate Distortion Optimization
- SAD Sum of Absolute Difference
- SATD Sum of Absolute Transformed Difference
- determining the target prediction mode from the multiple prediction modes according to the precoding information of the multiple prediction modes may include:
- a minimum rate-distortion cost value is determined among rate-distortion cost values corresponding to a plurality of prediction modes, and the prediction mode corresponding to the minimum rate-distortion cost value is used as a target prediction mode.
- the rate-distortion cost calculation is performed for the pre-coding information of each of the multiple prediction modes, and the rate-distortion cost value corresponding to each prediction mode can be obtained. Then, the minimum rate-distortion cost value is selected from these rate-distortion cost values, and the prediction mode corresponding to the minimum rate-distortion cost value is determined as the target prediction mode (i.e., the optimal prediction mode), thereby improving the coding efficiency of the point cloud geometric information.
- S804 Encode the current node according to the target prediction mode, determine the encoding information of the current node, and write the encoding information into the bitstream.
- encoding processing is performed on the current node according to the target prediction mode to determine the encoding information of the current node, which may include:
- a set of target parameters corresponding to the target prediction mode is determined
- the encoding information of the current node is determined according to the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system.
- the method may further include: encoding the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system, and writing the obtained encoding bits into the bitstream.
- the target prediction residual of the current node in the first coordinate system may include the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node. Accordingly, the method may also include:
- a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node Based on a set of target parameters, determine a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
- the target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are encoded, and the obtained encoded bits are written into the bitstream.
- a corresponding set of target parameters can be determined from the prediction list.
- the set of target parameters may include the target quantized residual prediction value of the azimuth component of the current node and the target prediction value (Prj) of the depth component of the current node; the target prediction residual of the azimuth component of the current node is determined by performing a difference calculation based on the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node according to right After quantization, the target quantized prediction residual of the azimuth component of the current node can be obtained.
- the target quantized residual value of the azimuth component of the current node can be obtained.
- the target prediction residual (Rres) of the depth component of the current node is determined by calculating the difference between the original value of the depth component of the current node and the target prediction value of the depth component of the current node; Rres is quantized according to dr to obtain the target quantized prediction residual ( QRres ) of the depth component of the current node, and then and QR res are written into the bitstream as encoding information.
- the target dequantized prediction residual of the azimuth component of the current node can be obtained.
- the target prediction value of the current node in the second coordinate system can be obtained .
- the target coordinate transformation residual (x res , y res , z res ) of the current node in the second coordinate system is calculated.
- the coding information written into the code stream may include: the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system.
- the embodiment of the present application may not consider i res , that is, the target prediction residual in the first coordinate system may only include the azimuth component and the target prediction residual of the depth component R.
- the target prediction mode is determined to be the first prediction mode (Mode0), that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate system prediction value is Among them, R min is the minimum value of the R component obtained after the coordinate transformation of the entire initial point cloud; if the current node has no parent node, then and i prev are both set to 0, otherwise they are the cylindrical coordinate components of the parent node. If the current node is not a root node, the target prediction mode is determined to be other prediction modes, and the cylindrical coordinates of the current node are predicted using the candidate parameters in the prediction list to determine the predicted value of the current point in the cylindrical coordinate system.
- Mode0 the first prediction mode
- R min is the minimum value of the R component obtained after the coordinate transformation of the entire initial point cloud
- the method may further include:
- the target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
- the method may also include: encoding the sequence of the current node, and writing the obtained coded bits into the bit stream.
- the order of the current node refers to the order of the current node in the single chain structure, which can be represented by o(P).
- the encoding end also needs to encode o(P) and write it into the bit stream.
- the target prediction value of the azimuth component of the current node is determined, and the specific calculation formula is as follows:
- the method may also include:
- updating the prediction list according to the prediction parameters of the current node may include:
- the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, the last set of candidate parameters in the prediction list is deleted, and the index numbers of the remaining candidate parameters in the prediction list are increased by one, and the prediction parameters of the current node are updated to the position where the index number in the prediction list is equal to 0;
- the target quantized prediction residual of the azimuth component of the current node is greater than a preset threshold, a set of candidate parameters indicated by the target prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameters of the current node are updated to the position where the index number in the prediction list is equal to 0.
- the prediction parameters of the current node ie, R rec and ); then according to R rec and The prediction list is updated, and the updated prediction list is determined as the prediction list of the next node of the current node in the single-chain structure.
- the update criteria for updating the prediction list are as follows:
- the target quantization prediction residual of the current node is greater than the preset threshold, the last set of prediction parameters in the prediction list is popped out, and the remaining prediction parameters are pushed back one position, and the current node is updated to the first position in the prediction list;
- FIG13 a schematic diagram of updating a prediction list of an encoding end provided by an embodiment of the present application is shown.
- the target prediction mode is determined (assuming that the corresponding index number is j).
- R rec and According to R rec and The prediction list is updated, and the updated prediction list is used as the prediction list of the next node.
- the next node is used as the current node, and the encoding process of this embodiment is continued until the prediction encoding of each point in the single chain structure is completed.
- the number of prediction lists is not limited to five, and can be other numbers, which are not specifically limited here.
- the encoding end does not perform quantization and dequantization processing on the laser marking component i
- the reconstructed value i rec is the same as the original value i.
- the depth component R due to the first quantization factor
- the determination of is related to R rec , so it is necessary to first determine the reconstructed value of the depth component R, and then determine Thus according to Azimuth component
- the target prediction residual is quantized and dequantized to further determine the azimuth component The reconstruction value of .
- the embodiment of the present application provides a coding method, which can improve the coding efficiency of the geometric information of the point cloud by selecting the best target prediction mode for the current node by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residual.
- the target prediction mode finally selected is the prediction mode that consumes the least bitstream, thereby effectively improving the coding efficiency of the geometric information of the point cloud, and further improving the coding performance.
- FIG14 a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application is shown. As shown in FIG14, the method includes:
- S1401 Determine a prediction list of a current node in a single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes.
- the influence of the quantization parameter (QP) needs to be considered when performing rate-distortion optimization selection for each prediction mode.
- the initial point cloud here can be a voxelized point cloud.
- the initial point cloud needs to be reordered first; then the initial point cloud is converted from a Cartesian coordinate system to a cylindrical coordinate system, and then the single-chain structure is established using the initial point cloud in the cylindrical coordinate system; the process can be referred to the description in the aforementioned embodiment, and will not be described in detail here.
- S1402 Pre-encode the current node through multiple prediction modes and multiple quantization parameters to determine the pre-encoding information of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the pre-encoding information includes at least: prediction mode, quantization parameter, prediction residual of the current node in the first coordinate system, and coordinate transformation residual of the current node in the second coordinate system.
- precoding the current node using multiple prediction modes and multiple quantization parameters to determine the precoding information of the multiple parameter combinations may include:
- a set of candidate parameters corresponding to the candidate prediction mode is determined; and a set of candidate parameters is used to perform precoding processing on the current node to determine the prediction residual of the current node in a preset coordinate system;
- the candidate parameter combination is composed of a candidate prediction mode and a candidate quantization parameter, and the candidate prediction mode is any one of a plurality of prediction modes, and the candidate quantization parameter is any one of a plurality of quantization parameters.
- the preset coordinate system may include at least one of the following: a first coordinate system and a second coordinate system. Accordingly, in some embodiments, quantizing the prediction residual of the current node in the preset coordinate system according to the candidate quantization parameter to determine the quantized prediction residual of the current node in the preset coordinate system may include:
- the coordinate transformation residual of the current node in the second coordinate system is quantized according to the candidate quantization parameter to determine the quantization transformation residual of the current node in the second coordinate system.
- the candidate quantization parameter can quantize the prediction residual of the geometric information, which may include quantizing the prediction residual in the first coordinate system and/or the coordinate transformation residual in the second coordinate system.
- the candidate quantization parameter can be used to quantize the prediction residual in the first coordinate system; and/or, the candidate quantization parameter can also be used to quantize the coordinate transformation residual in the second coordinate system, which is not specifically limited here.
- the method may further include:
- the preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
- the preset quantization parameter table can be represented by deltaQTable. That is, a preset quantization parameter table deltaQTable can be established in the encoder, assuming that the size of the quantization parameter table is N, that is, the quantization parameter table includes N types of quantization parameters, and N is a positive integer.
- QP deltaQTable[idx]; wherein idx represents the index number of the quantization parameter in the quantization parameter table.
- the candidate quantization parameter index value corresponding to the candidate quantization parameter can be determined.
- the candidate quantization parameter index value can also be used to replace the candidate quantization parameter, thereby saving bit rate.
- the candidate quantization parameter index value can be used as precoding information for code stream estimation.
- the method may further include:
- a set of candidate parameters corresponding to the candidate prediction mode is determined; and a precoding process is performed on the current node using the set of candidate parameters to determine a prediction residual of the current node in the first coordinate system and a coordinate transformation residual of the current node in the second coordinate system;
- Precoding information of the candidate parameter combination is determined according to the candidate prediction mode, the candidate quantization parameter, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system.
- the prediction residual of the current node in the first coordinate system includes
- the coordinate transformation residual of the current node in the second coordinate system includes (x res , y res , z res ); and after quantization of (x res , y res , z res ), the quantization transformation residual of the current node in the second coordinate system includes (Qx res , Qy res , Qz res ).
- the precoding information of the candidate parameter combination may include: mode, idx, QR res , And (Qx res , Qy res , Qz res ). Wherein, mode represents a candidate prediction mode, and idx represents a candidate quantization parameter index value.
- the first quantization factor The second quantization factor (dr) may also be related to the candidate quantization parameter, that is, it can be determined according to the candidate quantization parameter. or dr to adjust. Accordingly, in some embodiments, the method may further include:
- the prediction residual of the current node in the first coordinate system is determined according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
- Qx res , Qy res , Qz res they can be obtained by quantizing (x res , y res , z res ) according to the candidate quantization parameter QP.
- QR res of the depth component of the current node it can be obtained by quantizing R res according to dr; or it can be obtained by adjusting dr according to the candidate quantization parameter QP, and then quantizing R res according to the adjusted dr to obtain QR res .
- the quantized residual value of the azimuth component of the current node First, we need to determine It can be based on right It can also be obtained by quantizing according to the candidate quantization parameter QP. Then, according to the adjusted right Quantitative processing is performed to obtain In this way, in getting Then compare it with the selected one from the prediction list By performing difference calculation, the quantized residual value of the azimuth component of the current node can be obtained.
- respective precoding information can be determined in the above manner.
- the precoding information includes at least: prediction mode, quantization parameter, prediction residual of the current node in the first coordinate system, and coordinate conversion residual of the current node in the second coordinate system.
- S1403 Determine a target prediction mode and a target quantization parameter in the plurality of parameter combinations according to the respective precoding information of the plurality of parameter combinations.
- the distortion value size of each of the multiple parameter combinations can be determined.
- the distortion value size can be determined according to the cost result of the rate RDO, or according to the cost result of the SAD, or even according to the cost result of the SATD.
- the target parameter combination i.e., the target prediction mode and the target quantization parameter, is selected from the multiple parameter combinations according to the principle of minimum cost value.
- determining a target prediction mode and a target quantization parameter in a plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations may include:
- a minimum rate-distortion cost value is determined among rate-distortion cost values corresponding to a plurality of parameter combinations, and a target prediction mode and a target quantization parameter are determined according to the parameter combination corresponding to the minimum rate-distortion cost value.
- the rate-distortion cost calculation is performed for the pre-coding information of each of the multiple parameter combinations, and the rate-distortion cost value corresponding to each parameter combination can be obtained. Then, the minimum rate-distortion cost value is selected from these rate-distortion cost values, and the parameter combination corresponding to the minimum rate-distortion cost value is determined as the target parameter combination (i.e., the optimal prediction mode and the optimal quantization parameter), thereby improving the coding efficiency of the point cloud geometric information.
- the target parameter combination i.e., the optimal prediction mode and the optimal quantization parameter
- the method may further include:
- the rate-distortion cost is calculated according to the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination.
- the candidate parameter combination is any one of multiple parameter combinations.
- determining the reconstruction value of the current node in the second coordinate system may include:
- the predicted value of the current node in the second coordinate system is added to the inverse quantization conversion residual to determine the reconstructed value of the current node in the second coordinate system.
- the predicted value of the current node in the second coordinate system can be determined. Then, according to the original value (x, y, z) and predicted value of the current node in the second coordinate system By performing a subtraction operation, the quantization transformation residual (x res , y res , z res ) of the current node in the second coordinate system can be determined. Furthermore, the calculation formulas for quantizing and dequantizing (x res , y res , z res ) are as follows:
- D represents the distortion value corresponding to the candidate parameter combination
- R represents the estimated bitstream value corresponding to the candidate parameter combination
- J represents the rate-distortion cost value corresponding to the candidate parameter combination
- RO_estimate() represents the bitstream estimation function
- ⁇ is a quantity related to the candidate quantization parameter QP.
- the minimum rate-distortion cost value J min may be selected therefrom, and then the target prediction mode bestMode and the target quantization parameter bestQP may be determined.
- the second coordinate system may include a first axis component, a second axis component and a third axis component.
- the same candidate quantization parameter may be used for quantization processing, or different candidate quantization parameters may be used for quantization processing.
- performing quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the quantization transformation residual of the current node in the second coordinate system may include:
- the coordinate transformation residual of the third axis component of the current node is quantized using the third candidate quantization parameter to determine the quantization transformation residual of the third axis component of the current node.
- the first candidate quantization parameter, the second candidate quantization parameter and the third candidate quantization parameter may be the same or different, and this is not specifically limited here.
- the preset quantization parameter table may include a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array.
- the first quantization parameter array may be represented as deltaQTable[x], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the first axis component and the multiple quantization parameter index values;
- the second quantization parameter array may be represented as deltaQTable[y], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the second axis component and the multiple quantization parameter index values;
- the third quantization parameter array may be represented as deltaQTable[z], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the third axis component and the multiple quantization parameter index values.
- the method may further include:
- the first candidate quantization parameter index value, the second candidate quantization parameter index value and the third candidate quantization parameter index value are determined as precoding information of the candidate parameter combination.
- the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby, different degrees of quantization of the three components x, y and z can be completed, further improving the coding efficiency of geometric information.
- S1404 Perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine encoding information of the current node, and write the encoding information into the bitstream.
- encoding processing is performed on the current node according to the target prediction mode and the target quantization parameter to determine the encoding information of the current node, which may include:
- a set of target parameters corresponding to the target prediction mode is determined
- the encoding information of the current node is determined according to the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
- the method may also include: encoding the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
- the method may further include:
- a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node Based on a set of target parameters, determine a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
- the target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.
- the encoder since the encoder does not perform quantization and dequantization on i, the reconstructed value i rec is the same as the original value i, so the encoder does not need to consider the relevant processing of i.
- the predicted residual value R res of the depth component of the current node needs to be quantized to obtain the quantized residual value QR res of the depth component of the current node; for the azimuth component For the current node, the predicted residual value of the azimuth component is Quantization processing is required to obtain the quantized residual value of the azimuth component of the current node
- the method may further include: encoding the target prediction mode, the target quantization parameter, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
- the method may also include: determining a target quantization parameter index value corresponding to the target quantization parameter based on a preset quantization parameter table and a target quantization parameter; encoding the target prediction mode, the target quantization parameter index value, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
- the target quantization parameter in the bitstream, for the target quantization parameter, can be directly written into the bitstream, or the target quantization parameter index value can be written into the bitstream.
- the target prediction mode can be directly written into the bitstream, or the index value corresponding to the target prediction mode (i.e., the index number corresponding to the prediction parameter in the prediction list) can be written into the bitstream, and this is not specifically limited here.
- the method may further include:
- the calculation of the target prediction value of the azimuth component of the current node is not only related to the order o(P) of the current node in the prediction list, but also to the preset factor of the azimuth component.
- the initial quantized value of the azimuth component of the current node can be determined according to o(P).
- the target prediction value of the azimuth component of the current node can be obtained by multiplying or express).
- the embodiments of the present application further provide a code stream, which is generated by bit encoding according to the information to be encoded; wherein the information to be encoded includes at least one of the following:
- the target prediction mode the target quantization parameter index value, the order of the current node, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
- the information to be encoded may also include at least one of the following: a target prediction mode, a target quantization parameter, the order of the current node, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
- the target prediction residual of the current node in the first coordinate system may include QR res and
- the target quantization transformation residual of the current node in the second coordinate system may include (Qx res , Qy res , Qz res ).
- An embodiment of the present application provides a coding method, which introduces a quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node, thereby improving the coding efficiency of geometric information; further, the quantization parameter table is updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete different degrees of quantization of x, y and z, and can further improve the coding efficiency of geometric information.
- FIG15 a schematic flow chart of a decoding method provided by the present application is shown. As shown in FIG15, the method includes:
- S1501 Determine a prediction list of a current node, where the prediction list includes multiple candidate parameters.
- S1503 Determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine the target prediction value of the current node in the preset coordinate system based on the set of target parameters.
- the decoding method of the embodiment of the present application can be applied to a decoder.
- the decoding method can specifically refer to an L3C2 decoding method, more specifically, a laser radar point cloud decoding method, but it is not limited to the laser radar field.
- the preset coordinate system may include at least one of the following: a first coordinate system and a second coordinate system.
- the first coordinate system is a cylindrical coordinate system
- the second coordinate system is a Cartesian coordinate system.
- the target prediction value of the current node in the second coordinate system can be obtained by first determining the reconstruction value in the first coordinate system and then performing a coordinate inverse transformation on the reconstruction value in the first coordinate system.
- determining the target prediction value of the current node in the preset coordinate system according to a set of target parameters may include:
- a coordinate inverse transformation is performed according to the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system.
- parsing the bitstream to determine the target prediction residual of the current node in the first coordinate system may include: parsing the bitstream to determine the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node.
- determining the target reconstruction value of the current node in the first coordinate system according to the target prediction value and the target prediction residual of the current node in the first coordinate system may include:
- a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node Based on a set of target parameters, determine a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
- the target quantized residual value of the azimuth component of the current node can be obtained through the code stream and the target quantized prediction residual QR res of the depth component of the current node.
- the encoder only considers the azimuth component And the depth component i is quantized. Then the decoder only needs to The depth component i is dequantized to determine the target reconstruction value of the azimuth component of the current node. And the target reconstruction value R rec of the depth component.
- the target reconstruction value R rec of the depth component of the current node is determined based on the quantized and dequantized R res and R pred . Selected from the prediction list By summing, we can get Then After dequantization, we get According to and By summing, the target reconstruction value of the azimuth component of the current node can be determined
- for The method may further include:
- the target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
- the initial quantized value of the azimuth component of the current node can be determined according to o(P).
- the target prediction value of the azimuth component of the current node can also be used express.
- the position of the current node in the single-chain structure can be determined according to the reconstruction value in the cylindrical coordinate system, so that the single-chain structure can be reconstructed.
- S1504 Parse the bitstream to determine the target quantization parameter of the current node and the target quantization prediction residual of the current node in a preset coordinate system.
- parsing the bitstream to determine the target quantization parameter of the current node may include:
- the target quantization parameter of the current node is determined according to the preset quantization parameter table and the target quantization parameter index value.
- the target quantization index value can be represented by idx
- parsing the bitstream to determine the target quantization prediction residual of the current node in a preset coordinate system may include: parsing the bitstream to determine the target quantization prediction residual of the current node in a first coordinate system; and/or parsing the bitstream to determine the target quantization conversion residual of the current node in a second coordinate system.
- S1505 Dequantize the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter to determine the target dequantization prediction residual of the current node in the preset coordinate system.
- the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system. Accordingly, in some embodiments, performing inverse quantization processing on the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter to determine the target inverse quantization prediction residual of the current node in the preset coordinate system may include:
- the target quantization conversion residual of the current node in the second coordinate system is dequantized according to the target quantization parameter to determine the target dequantization conversion residual of the current node in the second coordinate system.
- performing inverse quantization processing on the target quantization prediction residual of the current node in the first coordinate system according to the target quantization parameter to determine the target inverse quantization prediction residual of the current node in the first coordinate system may include:
- the target quantized prediction residual of the azimuth component of the current node is dequantized according to the target quantization parameter to obtain the target dequantized prediction residual of the azimuth component of the current node.
- QP may be a quantization factor obtained by looking up a quantization parameter table, and there is no specific limitation on this.
- the dequantization process can be based on The dequantization process is performed, that is, Alternatively, it can also be an inverse quantization process performed according to the target quantization parameter QP, that is,
- QP may be a quantization factor obtained by looking up a quantization parameter table, and there is no specific limitation on this.
- the second coordinate system may include a first axis component, a second axis component and a third axis component.
- the same quantization parameter may be used for quantization processing, or different quantization parameters may be used for quantization processing.
- performing inverse quantization processing on the target quantization conversion residual of the current node in the second coordinate system according to the target quantization parameter to determine the target inverse quantization conversion residual of the current node in the second coordinate system may include:
- the target quantization conversion residual of the third axis component of the current node is dequantized using the third quantization parameter to determine the target dequantization conversion residual of the third axis component of the current node.
- the first quantization parameter, the second quantization parameter and the third quantization parameter may be the same or different, and this is not specifically limited here.
- parsing the bitstream to determine the target quantization parameter of the current node may include: parsing the bitstream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.
- parsing the bitstream to determine the target quantization parameter of the current node may include: parsing the bitstream to determine the first quantization parameter index value, the second quantization parameter index value, and the third quantization parameter index value of the current node;
- a third quantization parameter is determined according to the third quantization parameter array and the third quantization parameter index value.
- the preset quantization parameter table may include a first quantization parameter array deltaQTable[x], a second quantization parameter array deltaQTable[y], and a third quantization parameter array deltaQTable[z].
- deltaQTable[x] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the first axis component and multiple quantization parameter index values
- deltaQTable[y] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter index values
- deltaQTable[z] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the third axis component and multiple quantization parameter index values.
- the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby, different degrees of quantization of the three components x, y and z can be completed, further improving the coding efficiency of geometric information.
- S1506 Determine a target reconstruction value of the current node in the preset coordinate system according to the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system.
- S1507 Determine the reconstructed point cloud according to the target reconstruction value of the current node in the preset coordinate system.
- determining the target reconstruction value of the current node in the preset coordinate system according to the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system may include:
- a target reconstruction value of the current node in the second coordinate system is determined according to the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system.
- a target reconstruction value of the current node in the second coordinate system is determined based on the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system, including: adding the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system to determine the target reconstruction value of the current node in the second coordinate system.
- the points in the single-chain structure are sequentially used as current nodes to determine the target reconstruction values of the points in the single-chain structure in the second coordinate system; and the reconstructed point cloud corresponding to the single-chain structure is determined according to the target reconstruction values of the points in the single-chain structure in the second coordinate system.
- the reconstructed point cloud is the reconstructed voxelized point cloud.
- the method may also include: determining the prediction parameters of the current node according to the target reconstruction value of the depth component of the current node and the target quantization prediction residual of the azimuth component of the current node; updating the prediction list according to the prediction parameters of the current node to determine the prediction list of the next node of the current node.
- updating the prediction list according to the prediction parameters of the current node may include:
- the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, the last set of candidate parameters in the prediction list is deleted, and the index numbers of the remaining candidate parameters in the prediction list are increased by one, and the prediction parameters of the current node are updated to the position where the index number in the prediction list is equal to 0;
- the target quantized prediction residual of the azimuth component of the current node is greater than a preset threshold, a set of candidate parameters indicated by the target prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameters of the current node are updated to the position where the index number in the prediction list is equal to 0.
- the update criteria for updating the prediction list are as follows:
- the target quantization prediction residual of the current node is greater than the preset threshold, the last set of prediction parameters in the prediction list is popped out, and then the remaining prediction parameters are pushed back one position, and the current node is updated to the first position in the prediction list;
- FIG16 shows a schematic diagram of updating a prediction list at a decoding end provided by an embodiment of the present application.
- the index number (pred index) is j
- the corresponding set of prediction parameters is Prj
- QR res and The sum of QR res and predQ(r) is calculated to obtain Q(r); and pred Perform the sum calculation and get Then for Q(r) and After the inverse quantization processing of the inverse quantization module, the reconstructed value R rec and the prediction residual can be obtained. Among them, the reconstruction value R rec and the quantized prediction residual
- the prediction list is updated as the prediction parameter of the current node, and the updated prediction list is used as the prediction list of the next node.
- Q represents a quantization module
- IQ represents an inverse quantization module
- the prediction list of the encoding end is the same as the prediction list of the decoding end.
- the number of prediction lists is not limited to five, but can be other numbers, which are not specifically limited here.
- the encoding end does not quantize and dequantize the laser marking component i
- the reconstructed value i rec is the same as the original value i.
- the azimuth component As for the depth component R, due to the first quantization factor The determination of is related to R rec , so it is necessary to first determine the reconstructed value of the depth component R, and then determine Then, according to To determine the azimuth component The reconstruction value of .
- An embodiment of the present application provides a decoding method, which can improve the encoding efficiency of geometric information by introducing a quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node; further, the quantization parameter table is updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z] to complete quantization of x, y and z to different degrees, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding and decoding performance of point clouds.
- FIG. 17A shows a block diagram of a L3C2 encoder provided in an embodiment of the present application.
- the laser ID ie, the laser index
- the initial quantization value of the azimuth component is The order of the current node in the single-chain structure is determined to be o(P), and o(P) is encoded and written into the code stream.
- the prediction residual R res of the depth component can be obtained; by quantizing R res , QR res can be obtained; then, by inverse quantizing QR res , InvR res can be obtained; by summing Prj and InvR res , the reconstructed value R rec of the depth component can be obtained.
- the forecast list can also be obtained for updating.
- x estim , y estim and z estim can be determined; then, according to the original values (x, y, z) in the Cartesian coordinate system, the prediction residuals (x res , y res , z res ) in the Cartesian coordinate system can be calculated; by quantizing them, (Qx res , Qy res , Qz res ) can be obtained; then, Qx res , Qy res and Qz res are encoded and written into the bitstream.
- x estim can also be used indicates that y estim can also be used It means that Zestim can also be used express.
- FIG. 17B shows a block diagram of an L3C2 decoder provided in an embodiment of the present application.
- the bitstream is parsed to determine the order o(P) of the current node in the single chain structure, and then the initial quantization value of the azimuth component can be determined.
- x estim , y estim and z estim can be determined; then the bit stream is parsed to obtain (Qx res , Qy res , Qz res ), and dequantization is performed on it to obtain (x res , y res , z res ); based on (x res , y res , z res ) and (x estim , y estim , z estim ), the reconstructed value (x rec , y rec , z rec ) in the Cartesian coordinate system can be restored.
- a single chain structure is established based on the L3C2 framework, which is specifically described as follows:
- the input of the single-chain structure is constructed: the voxelized point cloud and the prior information of the rotating lidar;
- the output of the single-chain structure is constructed: the geometric prediction value and prediction residual of the current point, the prediction mode used by the current point, the quantization parameter of the current point, the number of repeated points, and the order of each node.
- the construction of the single chain structure can be specifically divided into eight steps: reordering, coordinate conversion, establishing the single chain structure, selecting a prediction mode, generating a prediction value, encoding the number of repeated points, quantizing the prediction residual, inverse coordinate conversion, and encoding the coordinate conversion residual. Each of these steps is described below.
- the first step is reordering.
- the voxelized point cloud is reordered to build a more efficient single chain structure.
- the default sorting method is to sort by the scanning order of the lidar. To this end, the Cartesian coordinates (x, y, z) of each point are converted to polar coordinates And according to the elevation tangent tan ⁇ , azimuth The radius R sorts the points.
- the second step is coordinate conversion.
- i is the LaserID corresponding to the point (a typical laser radar system may have 16, 32 or 64 Laser Scanners, and the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different).
- i is determined by looping the prior information of different Lasers. In each loop, the z component of the point is calculated using the R of the point, the prior information and the above equations (4) to (6), and the deviation between the converted z component and the original z component of the point is calculated. Then, the point with the smallest deviation is selected from different LaserIDs as the i of the point. This process processes the non-uniform distribution of the point cloud in the vertical direction in space and makes it regular.
- the third step is to establish a single chain structure.
- the regularization processing of the single chain structure is specifically shown in Figures 10A and 10B. Since the laser radar point cloud is scanned by using a laser scanner, the specific scanning principle is shown in Figure 11. Specifically, the rotation interval of each laser, i.e., ⁇ , can be obtained by using the acquisition parameters of the laser scanner, and the vertical direction of the single chain structure can be regularized by using ⁇ .
- o(P) corresponding to the single-chain structure of each node is calculated.
- the specific calculation method is shown in the above formula (7).
- Step 4 Select the prediction mode.
- the best target prediction mode (predMode) is selected by using the rate-distortion optimization criterion at the encoding end, and the target prediction mode needs to be encoded.
- the value of the prediction list needs to be updated, as shown in FIG13.
- the update criteria here are as follows:
- the selected set of prediction parameters will be deleted and the current node will be updated to the prediction list.
- the fifth step is quantification of prediction residuals.
- the azimuth component can be calculated
- the quantification of is: Where r represents the reconstructed value of the depth component R.
- Step 6 Repeat the encoding of the points.
- Step 7 Inverse coordinate transformation.
- i is the LaserID corresponding to the point.
- the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different. Therefore, the elevation angle corresponding to the i-th Laser is ⁇ (i), and the height in the vertical direction is zLaser(i).
- Step 8 Coding of coordinate transformation residuals.
- the input of the reconstructed single-chain structure is: the decoded data (including the prediction mode adopted by the current point, the prediction residual of the current point, the quantization parameter of the current point, the number of repeated points, the order of each point), and the prior information of the rotating lidar;
- the output of the reconstructed single-chain structure is: the reconstructed voxelized point cloud.
- the reconstruction of the single chain structure can be specifically divided into five steps: generating prediction values, reconstructing the single chain structure, decoding the number of repeated points, inverse coordinate transformation, and reconstructing the geometric point cloud. Each of these steps is described below.
- the first step is to generate predicted values.
- the cylindrical coordinates of the current point are predicted and the corresponding prediction values are generated.
- the specific process is as follows:
- the prediction mode is Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is
- R min is the minimum value of the R component after the coordinate transformation of the entire point cloud. If the current node has no parent node, then and i prev are set to 0, otherwise it is the cylindrical coordinate component of the parent node.
- the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates of the point
- the target prediction mode of the current node is analyzed and the corresponding cylindrical coordinates in the prediction list are used
- the prediction can get the cylindrical coordinate prediction value of the current node By dequantizing the prediction residual in the cylindrical coordinate system and combining it with the cylindrical coordinate prediction value, the reconstructed cylindrical coordinates of the current node can be restored.
- the second step is to rebuild the L3C2 structure.
- the predicted value of the cylindrical coordinates of the current node can be obtained through the previous step Next, use the decoded cylindrical coordinate residuals according to the following formula and the predicted cylindrical coordinates of the current node Calculate the reconstructed cylindrical coordinates of the current point in,
- the third step is to decode the number of repeated points.
- the fourth step is the inverse coordinate transformation.
- Step 5 Reconstruct the geometric point cloud.
- the encoding end when encoding geometric information, improves the encoding efficiency of the point cloud geometric information by estimating the bits consumed by all the information required to be encoded for each prediction mode. Specifically, when selecting the target prediction mode for each point, the best target prediction mode is selected by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residuals, which can improve the encoding efficiency of the point cloud geometric information.
- the R res component is also adaptively quantized, which can be obtained through the relationship between cylindrical coordinates and Cartesian coordinates, which affects the coordinate inverse transformation residual components of the x, y and z components, so it is necessary to count the bit information required by the three components x, y and z.
- the target prediction mode by considering the bit stream required for all the information required to be encoded in each prediction mode, it can be ensured that the target prediction mode finally selected is the prediction mode that consumes the least bit stream, thereby effectively improving the geometric information encoding efficiency of the point cloud.
- the embodiment of the present application can be further optimized on the L3C2 coding scheme.
- a pre-quantization parameter table is established in the codec. Assuming that the quantization parameter table is deltaQTable and the size of the quantization table is N, the RDOQ coding technology is introduced in the prediction tree coding, where J min represents the best cost factor finally selected, J min is initialized to INF, bestMode represents the selected target prediction mode, and bestQP represents the selected target quantization parameter.
- ModeCount represents the total number of prediction modes
- the prediction mode of the current node is first parsed to obtain the prediction mode of the current node, and then the prediction value R pred and Secondly, the QR res of the current node, Analyze and use the following formula to get the geometric information of the current node:
- R rec R pred + InvR res
- the quantization parameter of the current node is parsed to obtain the quantization residual value of the current node, and the coordinate transformation residuals Qx res , Qy res and Qz res of the current node are parsed. Finally, the following formula is used to reconstruct the geometric information of the current node in the Cartesian coordinate system:
- the reconstruction of the geometric information of the entire point cloud can be completed.
- the L3C2 coding scheme is further optimized.
- the quantization parameter table deltaQTable is further updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete the quantization of the x, y and z components to different degrees, further improving the coding efficiency of geometric information.
- the specific implementation of the aforementioned embodiments is elaborated in detail through the above embodiments, from which it can be seen that according to the technical scheme of the aforementioned embodiments, considering the influence of the prediction residual quantization of the cylindrical coordinate component on the Cartesian coordinate transformation residual, when selecting each prediction Mode at the encoding end, the influence of the coordinate transformation residual component code stream is further considered, so that the final selected prediction mode Mode can be the optimal prediction mode, which can further improve the encoding efficiency of the geometric information.
- the encoder 180 may include: a first determining unit 1801, a pre-coding unit 1802, an encoding unit 1803, a reordering unit 1804, a first quantization unit 1805, and a first inverse quantization unit 1806.
- the first determining unit 1801 is configured to determine a prediction list of a current node in a single chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the precoding unit 1802 is configured to perform precoding processing on the current node through multiple prediction modes, and determine the precoding information of each of the multiple prediction modes; wherein the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
- the first determining unit 1801 is further configured to determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes;
- the encoding unit 1803 is configured to perform encoding processing on the current node according to the target prediction mode, determine the encoding information of the current node, and write the encoding information into the bitstream.
- the first determination unit 1801 is also configured to obtain an initial point cloud in a second coordinate system; and perform coordinate transformation on points in the initial point cloud to obtain a processed point cloud in a first coordinate system; and establish a single chain structure based on the processed point cloud in the first coordinate system.
- the reordering unit 1804 is configured to reorder the initial point cloud before performing coordinate transformation on the points in the initial point cloud.
- the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to a candidate prediction mode in the prediction list; and use a set of candidate parameters to perform prediction processing on the current node to obtain a prediction value of the current node in the first coordinate system; and determine the prediction residual of the current node in the first coordinate system based on the original value of the current node in the first coordinate system and the prediction value of the current node in the first coordinate system; and determine the reconstructed value of the current node in the first coordinate system based on the prediction residual of the current node in the first coordinate system; and perform coordinate inverse transformation based on the reconstructed value of the current node in the first coordinate system to determine the prediction value of the current node in the second coordinate system; and determine the coordinate transformation residual of the current node in the second coordinate system based on the original value of the current node in the second coordinate system and the prediction value of the current node in the second coordinate system; and determine the precoding information of the candidate prediction mode based on the candidate prediction mode,
- the first coordinate system includes at least an azimuth component and a depth component; accordingly, the first determining unit 1801 is further configured to determine an initial prediction residual of the azimuth component of the current node according to an original value of the azimuth component of the current node and a predicted value of the azimuth component of the current node;
- a first quantization unit 1805 is configured to quantize an initial prediction residual of the azimuth component of the current node according to a first quantization factor to determine a quantized prediction residual of the azimuth component of the current node;
- the first determining unit 1801 is further configured to determine an initial prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the predicted value of the depth component of the current node;
- the first quantization unit 1805 is further configured to perform quantization processing on the initial prediction residual of the depth component of the current node according to the second quantization factor to determine the quantized prediction residual of the depth component of the current node.
- the first dequantization unit 1806 is configured to perform dequantization processing on the quantized prediction residual of the azimuth component of the current node according to the first quantization factor to determine the dequantized prediction residual of the azimuth component of the current node;
- the first determining unit 1801 is further configured to determine a reconstructed value of the azimuth component of the current node according to the inverse quantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node;
- the first dequantization unit 1806 is further configured to perform dequantization processing on the quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the dequantized prediction residual of the depth component of the current node;
- the first determining unit 1801 is further configured to determine a reconstructed value of the depth component of the current node according to the inverse quantized prediction residual of the depth component of the current node and the predicted value of the depth component of the current node.
- the first determining unit 1801 is further configured to determine the first quantization factor according to the second quantization factor and the reconstructed value of the depth component of the current node.
- the first determination unit 1801 is also configured to determine the quantized residual prediction value of the azimuth component of the current node and the prediction value of the depth component of the current node based on a set of candidate parameters; and determine the quantized residual value of the azimuth component of the current node according to the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node; and determine the prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the prediction value of the depth component of the current node; and quantize the prediction residual of the depth component of the current node according to the second quantization factor to determine the quantized prediction residual of the depth component of the current node; and determine the prediction residual of the current node in the first coordinate system according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
- the second coordinate system includes a first axis component, a second axis component, and a third axis component;
- the precoding unit 1802 is further configured to perform a coordinate inverse transformation according to the reconstructed value of the azimuth component of the current node and the reconstructed value of the depth component of the current node, and determine the predicted value of the first axis component of the current node, the predicted value of the second axis component of the current node, and the predicted value of the third axis component of the current node;
- the precoding unit 1802 is also configured to determine the coordinate transformation residual of the first axis component of the current node based on the original value of the first axis component of the current node and the predicted value of the first axis component of the current node; and to determine the coordinate transformation residual of the second axis component of the current node based on the original value of the second axis component of the current node and the predicted value of the second axis component of the current node; and to determine the coordinate transformation residual of the third axis component of the current node based on the original value of the third axis component of the current node and the predicted value of the third axis component of the current node.
- the precoding unit 1802 is also configured to determine the candidate prediction mode, the quantized residual value of the azimuth component of the current node, the quantized prediction residual of the depth component of the current node, the coordinate transformation residual of the first axis component of the current node, the coordinate transformation residual of the second axis component of the current node, and the coordinate transformation residual of the third axis component of the current node as the precoding information of the candidate prediction mode.
- the first determination unit 1801 is further configured to determine rate-distortion cost values corresponding to multiple prediction modes based on the respective precoding information of the multiple prediction modes; and determine the minimum rate-distortion cost value among the rate-distortion cost values corresponding to the multiple prediction modes, and use the prediction mode corresponding to the minimum rate-distortion cost value as the target prediction mode.
- the encoding unit 1803 is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list; and perform prediction processing on the current node according to a set of target parameters to determine the target prediction value of the current node in the first coordinate system; and determine the target prediction residual of the current node in the first coordinate system according to the original value of the current node in the first coordinate system and the target prediction value of the current node in the first coordinate system; and determine the target reconstruction value of the current node in the first coordinate system according to the target prediction residual of the current node in the first coordinate system; and perform coordinate inverse transformation according to the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system; and determine the target coordinate conversion residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the target prediction value of the current node in the second coordinate system; and determine the encoding information of the current node according to the target prediction mode,
- the target prediction residual of the current node in the first coordinate system includes the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node.
- the first quantization unit 1805 is configured to determine the target quantized residual prediction value of the azimuth component of the current node and the target prediction value of the depth component of the current node based on a set of target parameters; and determine the target prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the target prediction value of the depth component of the current node; and determine the target prediction residual of the depth component of the current node according to the second quantization factor.
- the prediction residual is quantized to determine the target quantized prediction residual of the depth component of the current node; and the target prediction residual of the azimuth component of the current node is determined according to the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; the target prediction residual of the azimuth component of the current node is quantized according to the first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and the target quantized residual value of the azimuth component of the current node is determined according to the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node;
- the encoding unit 1803 is further configured to encode the target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node, and write the obtained coded bits into the bitstream.
- the first determination unit 1801 is also configured to determine an initial quantization value of the azimuth component of the current node based on the order of the current node in the single chain structure; and determine a preset factor of the azimuth component of the current node; and determine a target prediction value of the azimuth component of the current node based on the product of the preset factor and the initial quantization value.
- the encoding unit 1803 is further configured to encode the sequence of the current node and write the obtained encoded bits into the bit stream.
- the first determination unit 1801 is also configured to determine the prediction parameters of the current node based on the target reconstruction value of the depth component of the current node and the target quantization prediction residual of the azimuth component of the current node; and to update the prediction list based on the prediction parameters of the current node to determine the prediction list of the next node of the current node.
- the first determination unit 1801 is further configured to delete the last group of candidate parameters in the prediction list if the target quantization prediction residual of the azimuth component of the current node is less than a preset threshold, increase the index number of the remaining candidate parameters in the prediction list by one, and update the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0; and if the target quantization prediction residual of the azimuth component of the current node is greater than a preset threshold, delete a group of candidate parameters indicated by the target prediction mode, increase the index number before the candidate prediction mode by one, and update the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0.
- the first determining unit 1801 is configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the precoding unit 1802 is configured to perform precoding processing on the current node through multiple prediction modes and multiple quantization parameters, and determine precoding information of each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information at least includes: the prediction mode, the quantization parameter, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
- the first determining unit 1801 is further configured to determine a target prediction mode and a target quantization parameter in a plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;
- the encoding unit 1803 is configured to perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine the encoding information of the current node, and write the encoding information into the bitstream.
- the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and perform precoding processing on the current node using the set of candidate parameters to determine the prediction residual of the current node in the preset coordinate system;
- the first quantization unit 1805 is configured to perform quantization processing on the prediction residual of the current node in the preset coordinate system according to the candidate quantization parameter, and determine the quantized prediction residual of the current node in the preset coordinate system;
- the first determination unit 1801 is also configured to determine the precoding information of the candidate parameter combination based on the candidate prediction mode, the candidate quantization parameter and the quantization prediction residual of the current node in a preset coordinate system; wherein the candidate parameter combination is composed of a candidate prediction mode and a candidate quantization parameter, and the candidate prediction mode is any one of a plurality of prediction modes, and the candidate quantization parameter is any one of a plurality of quantization parameters.
- the precoding unit 1802 is further configured to determine a candidate quantization parameter index value corresponding to a candidate quantization parameter based on a preset quantization parameter table and candidate quantization parameters; and determine the candidate quantization parameter index value as precoding information of the candidate parameter combination; and wherein the preset quantization parameter table is used to indicate a mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
- the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; accordingly, the first quantization unit 1805 is also configured to quantize the prediction residual of the current node in the first coordinate system according to the candidate quantization parameter, and determine the quantized prediction residual of the current node in the first coordinate system; and/or, quantize the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantized transformation residual of the current node in the second coordinate system.
- the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and perform precoding processing on the current node using the set of candidate parameters to determine a prediction residual of the current node in the first coordinate system and a coordinate transformation residual of the current node in the second coordinate system;
- the first quantization unit 1805 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
- the first determination unit 1801 is further configured to determine precoding information of the candidate parameter combination according to the candidate prediction mode, the candidate quantization parameter, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system.
- the first determining unit 1801 is further configured to determine a quantized residual prediction value of an azimuth component of a current node and a prediction value of a depth component of the current node based on a set of candidate parameters; determine a prediction residual of a depth component of the current node according to an original value of the depth component of the current node and the prediction value of the depth component of the current node;
- the first quantization unit 1805 is further configured to adjust the second quantization factor according to the candidate quantization parameter, and quantize the prediction residual of the depth component of the current node according to the adjusted second quantization factor to obtain the quantized prediction residual of the depth component of the current node;
- the first determining unit 1801 is further configured to determine a prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node;
- the first quantization unit 1805 is further configured to adjust the first quantization factor according to the candidate quantization parameter, and quantize the prediction residual of the azimuth component of the current node according to the adjusted first quantization factor to obtain the quantized prediction residual of the azimuth component of the current node;
- the first determination unit 1801 is also configured to determine the quantized residual value of the azimuth component of the current node based on the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node; and to determine the prediction residual of the current node in the first coordinate system based on the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
- the first determination unit 1801 is further configured to determine rate-distortion cost values corresponding to multiple parameter combinations based on their respective precoding information; and determine a minimum rate-distortion cost value among the rate-distortion cost values corresponding to the multiple parameter combinations, and determine a target prediction mode and a target quantization parameter based on the parameter combination corresponding to the minimum rate-distortion cost value.
- the first determination unit 1801 is further configured to determine, under the candidate parameter combination, a reconstructed value of the current node in the second coordinate system; and determine a distortion value corresponding to the candidate parameter combination based on the original value of the current node in the second coordinate system and the reconstructed value of the current node in the second coordinate system; and perform bitstream estimation based on the candidate prediction mode, the candidate quantization parameter index value, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system to determine the bitstream estimation value corresponding to the candidate parameter combination; and perform rate-distortion cost calculation based on the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination; wherein the candidate parameter combination is any one of a plurality of parameter combinations.
- the first determining unit 1801 is further configured to determine a reconstructed value of the current node in the first coordinate system according to a prediction residual of the current node in the first coordinate system, and to perform an inverse coordinate transformation according to the reconstructed value of the current node in the first coordinate system to determine a predicted value of the current node in the second coordinate system; and to determine a coordinate transformation residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the predicted value of the current node in the second coordinate system;
- the first quantization unit 1805 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
- the first dequantization unit 1806 is further configured to perform dequantization processing on the quantization conversion residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the dequantization conversion residual of the current node in the second coordinate system;
- the first determining unit 1801 is further configured to perform an addition operation on the predicted value of the current node in the second coordinate system and the inverse quantization conversion residual to determine the reconstructed value of the current node in the second coordinate system.
- the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the first quantization unit 1805 is also configured to use the first candidate quantization parameter to quantize the coordinate transformation residual of the first axis component of the current node to determine the quantized transformation residual of the first axis component of the current node; and use the second candidate quantization parameter to quantize the coordinate transformation residual of the second axis component of the current node to determine the quantized transformation residual of the second axis component of the current node; and use the third candidate quantization parameter to quantize the coordinate transformation residual of the third axis component of the current node to determine the quantized transformation residual of the third axis component of the current node.
- the preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array and a third quantization parameter array; accordingly, the first determination unit 1801 is further configured to determine the first candidate quantization parameter index value corresponding to the candidate quantization parameter according to the first quantization parameter array and the first candidate quantization parameter; and determine the second candidate quantization parameter index value corresponding to the candidate quantization parameter according to the second quantization parameter array and the second candidate quantization parameter; and determine the second candidate quantization parameter index value corresponding to the candidate quantization parameter according to the third quantization parameter array and the third candidate quantization parameter; and determine the first candidate quantization parameter index value, the second candidate quantization parameter index value and the third candidate quantization parameter index value as precoding information of the candidate parameter combination; wherein the first quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the first axis component and multiple quantization parameter index values, the second quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter;
- the encoding unit 1803 is also configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list; and perform prediction processing on the current node according to a set of target parameters to determine the target prediction residual of the current node in the first coordinate system and the target coordinate conversion residual of the current node in the second coordinate system; and perform quantization processing on the target coordinate conversion residual of the current node in the second coordinate system using the target quantization parameter to determine the target quantization conversion residual of the current node in the second coordinate system; and determine the encoding information of the current node according to the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
- the first determining unit 1801 is further configured to determine a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node based on a set of target parameters; and determine a target prediction residual of a depth component of the current node according to an original value of the depth component of the current node and the target prediction value of the depth component of the current node;
- the first quantization unit 1805 is also configured to quantize the target prediction residual value of the depth component of the current node according to the second quantization factor to determine the target quantization prediction residual of the depth component of the current node; and determine the target prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target quantization prediction residual of the azimuth component of the current node; and determine the target quantization residual value of the azimuth component of the current node according to the target quantization prediction residual of the azimuth component of the current node and the target quantization residual prediction value of the azimuth component of the current node; and determine the target quantization prediction residual of the depth component of the current node and the target quantization residual value of the azimuth component of the current node as the target prediction residual of the current node in the first coordinate system
- the encoding unit 1803 is also configured to encode the target prediction mode, the target quantization parameter, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
- the encoding unit 1803 is also configured to determine a target quantization parameter index value corresponding to the target quantization parameter based on a preset quantization parameter table and a target quantization parameter; and encode the target prediction mode, the target quantization parameter index value, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoded bits into the bitstream.
- the encoding unit 1803 is further configured to determine the order of the current node; and encode the order of the current node, and write the obtained encoding bits into the code stream.
- a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular.
- the components in the present embodiment may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
- the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the technical solution of this embodiment is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product.
- the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
- an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 180.
- the computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, the method described in any one of the aforementioned embodiments is implemented.
- the encoder 180 may include: a first communication interface 1901, a first memory 1902 and a first processor 1903; each component is coupled together through a first bus system 1904. It can be understood that the first bus system 1904 is used to realize the connection and communication between these components.
- the first bus system 1904 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the first bus system 1904 in Figure 19. Among them,
- the first communication interface 1901 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
- a first memory 1902 used to store a computer program that can be run on the first processor 1903;
- the first processor 1903 is configured to, when running the computer program, execute:
- the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the current node is encoded according to the target prediction mode, the encoding information of the current node is determined, and the encoding information is written into the bitstream.
- the first processor 1903 is further configured to, when running the computer program, execute:
- the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes;
- the current node is coded according to the target prediction mode and the target quantization parameter, the coding information of the current node is determined, and the coding information is written into the bitstream.
- the first memory 1902 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
- the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
- the volatile memory can be a random access memory (RAM), which is used as an external cache.
- RAM static RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDRSDRAM double data rate synchronous DRAM
- ESDRAM enhanced SDRAM
- SLDRAM synchronous link DRAM
- DRRAM direct RAM bus RAM
- the first processor 1903 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the first processor 1903.
- the above-mentioned first processor 1903 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed.
- the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
- the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed.
- the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
- the storage medium is located in the first memory 1902, and the first processor 1903 reads the information in the first memory 1902 and completes the steps of the above method in combination with its hardware.
- the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
- ASIC Application Specific Integrated Circuits
- DSP Digital Signal Processing
- DSP Device digital signal processing devices
- PLD programmable logic devices
- FPGA field programmable gate array
- general processors controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
- the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application.
- the software code can be stored in a memory and executed by a processor.
- the memory can be implemented in a processor or outside a processor.
- the first processor 1903 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
- the present embodiment provides an encoder, in which, when selecting the best target prediction mode for the current node, the target prediction mode is selected by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate transformation residuals, thereby improving the geometric information encoding efficiency of the point cloud; in addition, the influence of different quantization parameters on the coordinate transformation residuals can also be considered, and the optimal quantization parameters and the optimal prediction mode are selected based on the principle of minimum cost value, thereby further improving the encoding efficiency of the geometric information and thereby improving the encoding and decoding performance of the point cloud.
- the decoder 200 may include: a parsing unit 2001, a second determining unit 2002, and a second inverse quantization unit 2003; wherein,
- a second determining unit 2002 is configured to determine a prediction list of a current node, wherein the prediction list includes a plurality of candidate parameters;
- the parsing unit 2001 is configured to parse the bitstream and determine the target prediction mode of the current node
- the second determining unit 2002 is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine the target prediction value of the current node in the preset coordinate system according to the set of target parameters;
- the parsing unit 2001 is further configured to parse the bitstream to determine a target quantization parameter of a current node and a target quantization prediction residual of the current node in a preset coordinate system;
- the second dequantization unit 2003 is configured to perform dequantization processing on the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter, and determine the target dequantization prediction residual of the current node in the preset coordinate system;
- the second determination unit 2002 is further configured to determine the target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system; and determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
- the second determining unit 2002 is further configured to perform prediction processing on the current node according to a set of target parameters to determine a target prediction value of the current node in the first coordinate system;
- the parsing unit 2001 is further configured to parse the bitstream to determine the target prediction residual of the current node at the first coordinate;
- the second determination unit 2002 is also configured to determine the target reconstruction value of the current node in the first coordinate system based on the target prediction value and target prediction residual of the current node in the first coordinate system; and to perform an inverse coordinate transformation based on the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system.
- the second determining unit 2002 is further configured to determine a target quantized residual prediction value of an azimuth component of the current node and a target prediction value of a depth component of the current node based on a set of target parameters;
- the parsing unit 2001 is further configured to parse the bitstream to determine a target quantized prediction residual of a depth component of a current node and a target quantized residual value of an azimuth component of the current node;
- the second dequantization unit 2003 is further configured to perform dequantization processing on the target quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the target dequantized prediction residual of the depth component of the current node; and determine the target reconstruction value of the depth component of the current node according to the target prediction value of the depth component of the current node and the target dequantized prediction residual of the depth component of the current node;
- the second dequantization unit 2003 is also configured to determine the target quantization prediction residual of the azimuth component of the current node based on the target quantization residual prediction value and the target quantization residual value of the azimuth component of the current node; and to dequantize the target quantization prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target dequantization prediction residual of the azimuth component of the current node; and to determine the target reconstruction value of the azimuth component of the current node based on the target prediction value of the azimuth component of the current node and the target dequantization prediction residual of the azimuth component of the current node.
- the second determination unit 2002 is further configured to determine the prediction parameters of the current node based on the target reconstruction value of the depth component of the current node and the target quantization prediction residual of the azimuth component of the current node; and to update the prediction list based on the prediction parameters of the current node to determine the prediction list of the next node of the current node.
- the second determination unit 2002 is further configured to delete the last group of candidate parameters in the prediction list if the target quantization prediction residual of the azimuth component of the current node is less than a preset threshold, increase the index number of the remaining candidate parameters in the prediction list by one, and update the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0; and if the target quantization prediction residual of the azimuth component of the current node is greater than a preset threshold, delete a group of candidate parameters indicated by the candidate prediction mode, increase the index number before the candidate prediction mode by one, and update the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0.
- the parsing unit 2001 is further configured to parse the code stream to determine the order of the current node
- the second determination unit 2002 is also configured to determine the initial quantization value of the azimuth component of the current node based on the order of the current node; and determine the preset factor of the azimuth component of the current node; and determine the target prediction value of the azimuth component of the current node based on the product of the preset factor and the initial quantization value.
- the parsing unit 2001 is further configured to parse the bitstream to determine the target quantization parameter index value of the current node;
- the second determining unit 2002 is further configured to determine the target quantization parameter of the current node according to a preset quantization parameter table and a target quantization parameter index value.
- the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; accordingly, the second dequantization unit 2003 is also configured to dequantize the target quantization prediction residual of the current node in the first coordinate system according to the target quantization parameter, and determine the target dequantization prediction residual of the current node in the first coordinate system; and/or, dequantize the target quantization conversion residual of the current node in the second coordinate system according to the target quantization parameter, and determine the target dequantization conversion residual of the current node in the second coordinate system.
- the second dequantization unit 2003 is further configured to dequantize the target quantization prediction residual of the depth component of the current node according to the target quantization parameter to obtain the target dequantization prediction residual of the depth component of the current node; and to dequantize the target quantization prediction residual of the azimuth component of the current node according to the target quantization parameter to obtain the target dequantization prediction residual of the azimuth component of the current node.
- the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the second dequantization unit 2003 is also configured to use the first quantization parameter to dequantize the target quantization conversion residual of the first axis component of the current node to determine the target dequantization conversion residual of the first axis component of the current node; and use the second quantization parameter to dequantize the target quantization conversion residual of the second axis component of the current node to determine the target dequantization conversion residual of the second axis component of the current node; and use the third quantization parameter to dequantize the target quantization conversion residual of the third axis component of the current node to determine the target dequantization conversion residual of the third axis component of the current node.
- the parsing unit 2001 is further configured to parse the bitstream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.
- the preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array; accordingly, the parsing unit 2001 is further configured to parse the bitstream to determine the first quantization parameter index value, the second quantization parameter index value, and the third quantization parameter index value of the current node;
- the second determination unit 2002 is further configured to determine the first quantization parameter according to the first quantization parameter array and the first quantization parameter index value; and determine the second quantization parameter according to the second quantization parameter array and the second quantization parameter index value; and determine the third quantization parameter according to the third quantization parameter array and the third quantization parameter index value; wherein the first quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the first axis component and the multiple quantization parameter index values, the second quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the second axis component and the multiple quantization parameter index values, and the third quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the third axis component and the multiple quantization parameter index values.
- a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course it can also be a module, or it can be non-modular.
- the components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
- the above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional module.
- the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
- this embodiment provides a computer-readable storage medium, which is applied to the decoder 200, and the computer-readable storage medium stores a computer program. When the computer program is executed by the second processor, the method described in any one of the above embodiments is implemented.
- the decoder 200 may include: a second communication interface 2101, a second memory 2102 and a second processor 2103; each component is coupled together through a second bus system 2104. It can be understood that the second bus system 2104 is used to realize the connection and communication between these components.
- the second bus system 2104 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the second bus system 2104 in Figure 21. Among them,
- the second communication interface 2101 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
- the second memory 2102 is used to store a computer program that can be run on the second processor 2103;
- the second processor 2103 is configured to execute, when running the computer program:
- the second processor 2103 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
- the present embodiment provides a decoder, in which a quantization parameter table is introduced to adaptively quantize the coordinate transformation residual of each node, thereby improving the encoding efficiency of geometric information; further, the quantization parameter table is updated to a three-dimensional quantization parameter table (a first quantization parameter table, a second quantization parameter table and a third quantization parameter table) to complete different degrees of quantization of x, y and z, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding and decoding performance of point clouds.
- a quantization parameter table is introduced to adaptively quantize the coordinate transformation residual of each node, thereby improving the encoding efficiency of geometric information
- the quantization parameter table is updated to a three-dimensional quantization parameter table (a first quantization parameter table, a second quantization parameter table and a third quantization parameter table) to complete different degrees of quantization of x, y and z, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the en
- the coding and decoding system 220 may include an encoder 2201 and a decoder 2202 .
- the encoder 2201 may be the encoder described in any one of the aforementioned embodiments
- the decoder 2202 may be the decoder described in any one of the aforementioned embodiments.
- a prediction list of a current node in a single-chain structure is determined, wherein the prediction list includes multiple groups of candidate parameters, and the index numbers of each of the multiple groups of candidate parameters in the prediction list have a corresponding relationship with multiple prediction modes; the current node is pre-encoded using multiple prediction modes to determine pre-coding information of each of the multiple prediction modes; wherein the pre-coding information includes at least: a prediction mode, a prediction residual of the current node in a first coordinate system, and a coordinate conversion residual of the current node in a second coordinate system; a target prediction mode is determined among the multiple prediction modes according to the pre-coding information of each of the multiple prediction modes; the current node is encoded according to the target prediction mode to determine the encoding information of the current node, and the encoding information is written into a bitstream.
- the best target quantization parameter and target prediction mode can be selected based on the principle of minimum cost value, which can further improve the coding efficiency of the geometric information and thus improve the encoding and decoding performance of the point cloud.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Des modes de réalisation de la présente demande divulguent un procédé de codage un procédé de décodage, un flux de code, un codeur, un décodeur et un support de stockage. Le procédé de codage consiste à : déterminer une liste de prédiction du nœud actuel dans une structure à chaîne unique, la liste de prédiction comprenant une pluralité de groupes de paramètres candidats ; effectuer un traitement de précodage sur le nœud actuel au moyen d'une pluralité de modes de prédiction pour déterminer des informations précodées respectives de la pluralité de modes de prédiction, les informations précodées comprenant au moins un mode de prédiction, un résidu de prédiction du nœud actuel dans un premier système de coordonnées, et un résidu de transformation de coordonnées du nœud actuel dans un second système de coordonnées ; déterminer un mode de prédiction cible parmi la pluralité de modes de prédiction selon les informations précodées respectives de la pluralité de modes de prédiction ; et effectuer un traitement de codage sur le nœud actuel selon le mode de prédiction cible pour déterminer des informations codées du nœud actuel, et écrire les informations codées dans un flux de code. De cette manière, la précision de sélection d'un mode de prédiction optimal peut être augmentée, ce qui permet d'augmenter l'efficacité de codage d'informations géométriques.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/122663 WO2024065408A1 (fr) | 2022-09-29 | 2022-09-29 | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/122663 WO2024065408A1 (fr) | 2022-09-29 | 2022-09-29 | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024065408A1 true WO2024065408A1 (fr) | 2024-04-04 |
Family
ID=90475258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/122663 WO2024065408A1 (fr) | 2022-09-29 | 2022-09-29 | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024065408A1 (fr) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156520A1 (en) * | 2017-11-22 | 2019-05-23 | Apple Inc. | Point cloud occupancy map compression |
US20220108484A1 (en) * | 2020-10-07 | 2022-04-07 | Qualcomm Incorporated | Predictive geometry coding in g-pcc |
CN114913252A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 点云数据的预处理方法及点云几何编解码方法、装置 |
CN114915792A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
CN114915793A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
-
2022
- 2022-09-29 WO PCT/CN2022/122663 patent/WO2024065408A1/fr unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156520A1 (en) * | 2017-11-22 | 2019-05-23 | Apple Inc. | Point cloud occupancy map compression |
US20220108484A1 (en) * | 2020-10-07 | 2022-04-07 | Qualcomm Incorporated | Predictive geometry coding in g-pcc |
CN114913252A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 点云数据的预处理方法及点云几何编解码方法、装置 |
CN114915792A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
CN114915793A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023024840A1 (fr) | Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage | |
JP2023543752A (ja) | 点群コーデック方法及びシステム、並びに点群エンコーダ及び点群デコーダ | |
CN115474041A (zh) | 点云属性的预测方法、装置及相关设备 | |
WO2024065408A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage | |
WO2024065406A1 (fr) | Procédés de codage et de décodage, train de bits, codeur, décodeur et support de stockage | |
TW202431856A (zh) | 編解碼方法、碼流、編碼器、解碼器以及儲存媒介 | |
WO2024082152A1 (fr) | Procédés et appareils de codage et de décodage, codeur et décodeur, flux de code, dispositif et support de stockage | |
WO2024174086A1 (fr) | Procédé de décodage, procédé de codage, décodeurs et codeurs | |
WO2024216476A1 (fr) | Procédé de codage/décodage, codeur, décodeur, flux de code, et support de stockage | |
WO2024174092A1 (fr) | Procédé de codage/décodage, flux de code, codeur, décodeur et support d'enregistrement | |
WO2024187380A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage | |
WO2024212043A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage | |
WO2024212038A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support d'enregistrement | |
WO2024207481A1 (fr) | Procédé de codage, procédé de décodage, codeur, décodeur, support de stockage et de flux binaire | |
WO2024207456A1 (fr) | Procédé de codage et de décodage, codeur, décodeur, flux de code et support de stockage | |
TW202431857A (zh) | 編解碼方法、碼流、編碼器、解碼器以及儲存媒介 | |
WO2024216477A1 (fr) | Procédés de codage/décodage, codeur, décodeur, flux de code et support de stockage | |
WO2024216479A1 (fr) | Procédé de codage et de décodage, flux de code, codeur, décodeur et support de stockage | |
WO2024065271A1 (fr) | Procédé et appareil de codage/décodage de nuage de points, et dispositif et support d'enregistrement | |
WO2024212042A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support d'enregistrement | |
WO2024212114A1 (fr) | Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage | |
WO2024207235A1 (fr) | Procédé de codage/décodage, train de bits, codeur, décodeur et support de stockage | |
WO2024212113A1 (fr) | Procédé et appareil de codage et de décodage de nuage de points, dispositif et support de stockage | |
WO2024216493A1 (fr) | Procédé de codage de nuage de points, procédé de décodage de nuage de points, codeur, décodeur, flux de code et support de stockage | |
WO2024103304A1 (fr) | Procédé d'encodage de nuage de points, procédé de décodage de nuage de points, encodeur, décodeur, flux de code, et support de stockage |
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: 22960045 Country of ref document: EP Kind code of ref document: A1 |