Encoding and decoding method, code stream, encoder, decoder and storage medium

CN119366189APending Publication Date: 2025-01-24GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280097164.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Existing prediction tree-based geometric coding methods suffer from inaccurate prediction mode selection in point cloud compression, resulting in low efficiency in geometric information coding.

Method used

By determining the prediction tree structure of the initial point cloud at the encoding end, the current node is pre-encoded using multiple prediction modes and quantization parameters. Considering the influence of prediction modes and coordinate transformation residuals, the optimal prediction mode and quantization parameters are selected to generate the bitstream.

Benefits of technology

It improves the accuracy of prediction mode selection, enhances the coding efficiency of geometric information, and strengthens the encoding and decoding performance of point clouds.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119366189A_ABST
    Figure CN119366189A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an encoding and decoding method, a code stream, an encoder, a decoder and a storage medium. The method comprises the following steps: determining a prediction tree structure corresponding to an initial point cloud; performing precoding processing on the current node of the prediction tree structure through a plurality of prediction modes, and determining respective precoding information of the plurality of prediction modes; wherein the precoding information at least comprises a prediction mode, a prediction residual error of the current node in a first coordinate system and a coordinate conversion residual error of the current node in a second coordinate system; determining a target prediction mode in the plurality of prediction modes according to the respective precoding information of the plurality of prediction modes; and coding the current node according to the target prediction mode, determining coding information of the current node, and writing the coding information into a code stream. Therefore, the accuracy of selecting the optimal prediction mode can be improved, so that the coding efficiency of geometric information is improved, and the coding and decoding performance of the point cloud is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Coding and decoding method, code stream, encoder, decoder and storage medium Technical Field

[0001] The embodiments of the present application relate to the field of point cloud data processing technology, and in particular to a coding and decoding method, a bit stream, an encoder, a decoder, and a storage medium. Background Art

[0002] Currently, in the geometry-based point cloud compression (G-PCC) codec framework, the geometric information and attribute information of the point cloud are encoded separately. G-PCC's geometry coding can be divided into octree-based geometry coding and prediction tree-based geometry coding. For prediction tree-based geometry coding, the input point cloud is first sorted and a prediction tree is established at the encoding end; then each node in the prediction tree 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. Finally, the prediction mode and prediction residual of each node are encoded to generate a binary code stream.

[0003] In the encoding process described above, the optimal prediction mode is usually selected to improve the geometric encoding efficiency of the point cloud. However, the current method for determining the prediction mode is unreasonable, resulting in inaccurate selection of the optimal prediction mode and reduced coding efficiency of geometric information.

[0004] Summary of the Invention

[0005] The embodiments of the present application provide a coding and decoding method, a code 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.

[0006] The technical solution of the embodiment of the present application can be implemented as follows:

[0007] In a first aspect, an embodiment of the present application provides an encoding method, applied to an encoder, the method comprising:

[0008] Determine the prediction tree structure corresponding to the initial point cloud;

[0009] Performing precoding processing on a current node of a prediction tree structure using multiple prediction modes to determine precoding information for each of the multiple prediction modes; wherein the precoding 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;

[0010] determining a target prediction mode among the multiple prediction modes according to respective precoding information of the multiple prediction modes;

[0011] The current node is coded according to the target prediction mode, the coding information of the current node is determined, and the coding information is written into the bitstream.

[0012] In a second aspect, an embodiment of the present application provides a decoding method, applied to a decoder, the method comprising:

[0013] Parse the bitstream and determine the target prediction mode of the current node;

[0014] According to the target prediction mode, determine the target prediction value of the current node in the preset coordinate system;

[0015] Parse the bitstream to determine the target quantization parameter of the current node and the target quantization prediction residual of the current node in the preset coordinate system;

[0016] Dequantizing 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;

[0017] Determine 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;

[0018] Determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.

[0019] In a third aspect, an embodiment of the present application provides an encoding method, applied to an encoder, the method comprising:

[0020] Determine the prediction tree structure corresponding to the initial point cloud;

[0021] performing precoding processing on a current node of a prediction tree structure using multiple prediction modes and multiple quantization parameters, and determining precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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;

[0022] Determining a target prediction mode and a target quantization parameter among the plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;

[0023] 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.

[0024] In a fourth aspect, an embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least one of the following:

[0025] Target prediction mode, target quantization parameter index value, number of skip points between the current node and the parent node, target prediction residual of the current node in the first coordinate system, and target quantization conversion residual of the current node in the second coordinate system.

[0026] In a fifth aspect, an embodiment of the present application provides an encoder, comprising a first determining unit, a first pre-encoding unit, and an encoding unit; wherein,

[0027] A first determining unit is configured to determine a prediction tree structure corresponding to the initial point cloud;

[0028] a first precoding unit configured to perform precoding processing on a current node of a prediction tree structure using multiple prediction modes, and determine precoding information for each of the multiple prediction modes; wherein the precoding 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;

[0029] The first determining unit is further configured to determine a target prediction mode among the multiple prediction modes according to respective precoding information of the multiple prediction modes;

[0030] The encoding unit is configured to perform encoding processing on the current node according to the target prediction mode, determine encoding information of the current node, and write the encoding information into the bitstream.

[0031] In a sixth aspect, an embodiment of the present application provides an encoder, comprising a first determining unit, a first pre-encoding unit, and an encoding unit; wherein,

[0032] A first determining unit is configured to determine a prediction tree structure corresponding to the initial point cloud;

[0033] a first precoding unit configured to perform precoding processing on a current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters, and determine precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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;

[0034] The first determining unit is further configured to determine a target prediction mode and a target quantization parameter from the plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;

[0035] 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.

[0036] In a seventh aspect, an embodiment of the present application provides an encoder, comprising a first memory and a first processor; wherein,

[0037] a first memory for storing a computer program capable of running on the first processor;

[0038] The first processor is configured to execute the method according to the first aspect or the third aspect when running a computer program.

[0039] In an eighth aspect, an embodiment of the present application provides a decoder, comprising a parsing unit, a second determining unit, and a second inverse quantization unit; wherein,

[0040] a parsing unit configured to parse the bitstream and determine a target prediction mode for a current node;

[0041] A second determining unit is configured to determine a target prediction value of the current node in a preset coordinate system according to a target prediction mode;

[0042] 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;

[0043] A second dequantization unit 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;

[0044] The second determination unit 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.

[0045] In a ninth aspect, an embodiment of the present application provides a decoder, comprising a second memory and a second processor; wherein:

[0046] a second memory for storing a computer program capable of running on the second processor;

[0047] The second processor is configured to execute the method according to the second aspect when running a computer program.

[0048] In the tenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed, 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.

[0049] The embodiment of the present application provides a coding and decoding method, a code stream, an encoder, a decoder and a storage medium. At the encoding end, a prediction tree structure corresponding to an initial point cloud is determined; a current node of the prediction tree structure is pre-coded using a plurality of prediction modes to determine pre-coding information of each of the plurality of 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 in the plurality of prediction modes according to the respective pre-coding information of the plurality of prediction modes; a current node is coded according to the target prediction mode to determine coding information of the current node, and the coding information is written into the code stream; in this way, when the pre-coding information corresponding to each prediction mode is counted, , not only considers the prediction residual of the prediction mode and the current node in the first coordinate system, but also considers the influence of the coordinate conversion residual of the first coordinate system on the second coordinate system, so that when the code stream is estimated according to the precoding information, the accuracy of the code stream estimation under each prediction mode can be improved, thereby making the selected optimal prediction mode more accurate, which can improve the coding efficiency of the geometric information; in addition, when counting the precoding information corresponding to each prediction mode, the influence of different quantization parameters on the coordinate conversion residual can also be considered. In this way, when the code stream is estimated according to the precoding information, the optimal 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. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] FIG1A is a schematic diagram of a three-dimensional point cloud image;

[0051] FIG1B is a partially enlarged schematic diagram of a three-dimensional point cloud image;

[0052] FIG2A is a schematic diagram of a point cloud image at different viewing angles;

[0053] FIG2B is a schematic diagram of a data storage format corresponding to FIG2A ;

[0054] FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding;

[0055] FIG4A is a schematic block diagram of a G-PCC encoder;

[0056] FIG4B is a schematic block diagram of a G-PCC decoder;

[0057] FIG5A is a schematic diagram of an intersection of seed blocks;

[0058] FIG5B is a schematic diagram of fitting a triangular facet set;

[0059] FIG5C is a schematic diagram of upsampling of a triangle face set;

[0060] FIG6A is a block diagram of an AVS encoder;

[0061] FIG6B is a block diagram of an AVS decoder;

[0062] FIG7 is a schematic diagram showing the relationship between an azimuth component and a depth component;

[0063] FIG8 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;

[0064] FIG9 is a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud;

[0065] FIG10 is a schematic diagram of the composition of a prediction tree structure provided in an embodiment of the present application;

[0066] FIG11 is a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application;

[0067] FIG12 is a schematic diagram of a flowchart of a decoding method provided in an embodiment of the present application;

[0068] FIG13A is a schematic block diagram of an encoder for constructing a prediction tree structure according to an embodiment of the present application;

[0069] FIG13B is a schematic block diagram of a decoder for reconstructing a prediction tree structure provided by an embodiment of the present application;

[0070] FIG14 is a schematic diagram of the structure of an encoder provided in an embodiment of the present application;

[0071] FIG15 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application;

[0072] FIG16 is a schematic diagram of the structure of a decoder provided in an embodiment of the present application;

[0073] FIG17 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application;

[0074] FIG18 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0075] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below with reference to the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.

[0076] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.

[0077] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0078] It should also be pointed out that the terms "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 with 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.

[0079] Point cloud is a three-dimensional representation of the surface of an object. Point cloud (data) of the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.

[0080] 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. Figure 1A shows a three-dimensional point cloud image and Figure 1B shows a partially enlarged view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.

[0081] In a two-dimensional image, each pixel contains information and is distributed regularly, so there's no need to record its location. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so recording the location of each point in space is necessary to fully represent the point cloud. Similar to a two-dimensional image, each location in the acquisition process has corresponding attribute information, typically an RGB color value, which reflects the object's color. For a point cloud, in addition to color information, each point's attribute information often includes a reflectance value, which reflects the surface texture of the object. Therefore, a point in a point cloud can include both location information and attribute information. For example, the location information of a point can be its three-dimensional coordinates (x, y, z). The location information of a point can also be referred to as its geometric information. For example, the attribute information of a point can include color information (three-dimensional color information) and / or reflectance (one-dimensional reflectance information r). For example, the color information can be information in any color space. For example, the color information can be RGB information, where R represents red (R), G represents green (G), and B represents blue (B). For another example, 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.

[0082] For example, a point cloud generated using laser measurement principles can include both its 3D coordinate information and its reflectivity. For another example, a point cloud generated using photogrammetry principles can include both its 3D coordinate information and its 3D color information. For another example, a point cloud generated using a combination of laser measurement and photogrammetry principles can include both its 3D coordinate information, its reflectivity value, and its 3D color information.

[0083] Figures 2A and 2B show a point cloud image and its corresponding data storage format. Figure 2A provides six viewing angles of the point cloud image, while Figure 2B consists of a file header and data. The header includes the data format, data representation type, the total number of points in the point cloud, and the content represented by the point cloud. For example, the point cloud is in ".ply" format, represented by ASCII code, with a total of 207,242 points. Each point has 3D coordinate information (x, y, z) and 3D color information (r, g, b).

[0084] Point clouds can be divided into the following categories according to the acquisition method:

[0085] Static point cloud: the object is stationary and the device that acquires the point cloud is also stationary;

[0086] Dynamic point cloud: The object is moving, but the device that obtains the point cloud is stationary;

[0087] Dynamic point cloud acquisition: The device used to acquire the point cloud is in motion.

[0088] For example, point clouds can be divided into two categories according to their usage:

[0089] Category 1: Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and disaster relief robots;

[0090] Category 2: Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.

[0091] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Moreover, since point clouds are obtained by directly sampling real objects, 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.

[0092] Point clouds are primarily collected through computer generation, 3D laser scanning, and 3D photogrammetry. Computers can generate point clouds of virtual 3D objects and scenes; 3D laser scanning can obtain point clouds of static real-world 3D objects or scenes, generating millions of point clouds per second; and 3D photogrammetry can obtain point clouds of dynamic real-world 3D objects or scenes, generating tens of millions of point clouds per second. These technologies reduce the cost and time required to acquire point cloud data while improving data accuracy. While changes in point cloud data acquisition methods have made it possible to acquire large amounts of point cloud data, the processing of this massive amount of 3D point cloud data is facing bottlenecks due to storage space and transmission bandwidth constraints, as application demands grow.

[0093] For example, taking a point cloud video with a frame rate of 30 frames per second (fps), each frame contains 700,000 points, and each point has coordinate information (xyz, float) and color information (RGB, uchar). The data volume of a 10-second point cloud video is approximately 0.7 million × (4 bytes × 3 + 1 byte × 3) × 30 fps × 10 seconds = 3.15 GB. Where 1 byte is 10 bits, and the YUV sampling format is 4:2:0, and the frame rate is 24 fps, the data volume of a 1280 × 720 2D video is approximately 1280 × 720 × 12 bits × 24 fps × 10 seconds ≈ 0.33 GB. The data volume of a 10-second two-view 3D video is approximately 0.33 × 2 = 0.66 GB. This shows that the data volume of a point cloud video far exceeds that of a 2D or 3D video of the same length. Therefore, in order to better realize data management, save server storage space, and reduce the transmission traffic and transmission time between the server and the client, point cloud compression has become a key issue in promoting the development of the point cloud industry.

[0094] That is to say, since the point cloud is a collection of massive points, storing the point cloud not only consumes a lot of memory, but is also 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.

[0095] Currently, 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). 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.

[0096] The embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method. FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding system provided by the embodiment of the present application. As shown in FIG3 , 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. During implementation, the electronic device can be various types of devices with point cloud encoding and decoding functions. For example, 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., and the embodiment of the present application does not limit this. Among them, the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.

[0097] Among them, 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).

[0098] The following describes the related technologies using the G-PCC codec framework and the AVS codec framework as examples.

[0099] As you can understand, in the point cloud G-PCC codec framework, the point cloud data to be encoded is first divided into multiple slices through slice partitioning. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately.

[0100] Figure 4A shows a schematic diagram of the G-PCC encoder architecture. As shown in Figure 4A, during the geometry encoding process, the geometric information is transformed so that the entire point cloud is contained within a bounding box. Quantization is then performed. This quantization step primarily serves a scaling purpose. Due to quantization rounding, the geometric information of some point clouds becomes identical. Parameters are then used to determine whether to remove duplicate points. This process of quantization and removing duplicate points is also known as voxelization. The bounding box is then partitioned into an octree or a prediction tree is constructed. During this process, arithmetic coding is performed on the points in the leaf nodes of the partition to generate a binary geometry bitstream. Alternatively, arithmetic coding is performed on the intersection points (vertices) generated by the partition (surface fitting is performed based on the intersection points) to generate a binary geometry bitstream. During the attribute encoding process, after the geometry encoding is completed and the geometric information is reconstructed, color conversion is performed to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space. The reconstructed geometry information is then used to recolor the point cloud so that the unencoded attribute information corresponds to the reconstructed geometry information. Attribute encoding is mainly performed on color information. In the color information encoding process, there are two main transformation methods. One is the distance-based lifting transformation that relies on the level of detail (LOD) division, and the other is the direct region adaptive hierarchical transformation (RAHT). 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 the coefficients. Then, the quantized coefficients are arithmetically encoded to generate a binary attribute bit stream.

[0101] Figure 4B shows a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 4B, for the acquired binary bit stream, the geometric bit stream and attribute bit stream in the binary bit stream are first decoded independently. When decoding the geometric bit stream, 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; when decoding the attribute bit stream, 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.

[0102] It should be noted that, as shown in FIG4A or FIG4B , the current geometric coding and decoding of G-PCC can be divided into octree-based geometric coding and decoding (marked by a dotted box) and prediction tree-based geometric coding and decoding (marked by a dotted box).

[0103] For Octree geometry encoding (OctGeomEnc), the octree-based geometry encoding includes: first, coordinate conversion 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. In related technologies, a company proposed an implicit geometric division method. First, the bounding box of the point cloud is calculated. Assume d x >d y >d z , the bounding box corresponds to a cuboid. When geometrically partitioning, the binary tree partitioning will be performed based on the x-axis to obtain two child nodes; until d is satisfied x =d y >d z When the conditions are met, the quadtree partitioning will be performed based on the x and y axes to obtain four child nodes; when d is finally satisfied x =d y =d z When the conditions are met, the octree partitioning will continue until the leaf node obtained by the partitioning is a 1×1×1 unit cube. The partitioning will stop and the points in the leaf node will be encoded to generate a binary code stream. In the process of binary tree / quadtree / octree partitioning, two parameters are introduced: K and M. Parameter K indicates the maximum number of binary tree / quadtree partitions before octree partitioning; parameter M is used to indicate that the minimum block side length corresponding to binary tree / quadtree partitioning is 2 M . At the same time, K and M must meet the following conditions: Assume d max =max(d x ,d y ,d z ), d min =min(d x ,d y ,d z ), parameter K satisfies: K ≥ d max -d min ; Parameter M satisfies: M≥d min. The reason why the parameters K and M meet the above conditions is that in the process of geometric implicit partitioning of G-PCC, the priority of the partitioning method is binary tree, quadtree and octree. When the node block size does not meet the conditions of binary tree / quadtree, the node will be divided into octree until it is divided into the minimum unit of leaf node 1×1×1. However, the geometric information coding mode based on octree only has an efficient compression rate for points with correlation in space, and for points in isolated positions in geometric space, the use of direct coding mode (Direct Coding Model, DCM) can greatly reduce the complexity. For all nodes in the octree, the use of DCM is not represented by flag information, but is inferred through 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:

[0104] (1) 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.

[0105] (2) The parent node of the current node has only one child node, the current node, and the six neighbor nodes that share a face with the current node are also empty nodes.

[0106] If 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 a threshold (e.g., 2), the node will be DCM-encoded. Otherwise, the octree division will continue. When the DCM coding mode is applied, the geometric coordinate (x, y, z) components of the points contained in the current node will be directly encoded independently. When the side length of a node is 2 d When , d bits are required to encode each component of the node's geometric coordinates, and this bit information is directly written into the code stream.

[0107] It is important to note that when partitioning nodes into leaf nodes, the number of duplicate points in the leaf nodes must be encoded in the case of lossless geometric coding. Ultimately, the placeholder information for all nodes is encoded to generate a binary bitstream. Furthermore, G-PCC currently introduces a plane coding mode. During the geometric partitioning process, it determines whether the child nodes of the current node are in the same plane. If the child nodes of the current node meet the conditions for being in the same plane, the child nodes of the current node are represented using that plane.

[0108] For octree-based geometric decoding, 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 sequence until a 1×1×1 unit cube is obtained. The division stops and the number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.

[0109] For triangle soup (trisoup)-based geometric information coding, geometric partitioning must also be performed first in the trisoup-based geometric information coding framework. However, unlike geometric information coding based on binary trees, quadtrees, and octrees, this method does not require step-by-step partitioning of the point cloud into unit cubes with side lengths of 1×1×1. Instead, the partitioning stops when the sub-blocks (blocks) have a side length of W. Based on the surface formed by the distribution of the point cloud in each block, the surface and the twelve edges of the block are obtained. The vertex coordinates of each block are encoded in sequence to generate a binary code stream.

[0110] For trisoup-based point cloud geometry reconstruction, when performing point cloud geometry reconstruction at the decoding end, the vertex coordinates are first decoded to complete the triangle face reconstruction. This process is shown in Figures 5A, 5B, and 5C. Among them, there are three intersection points (v1, v2, v3) in the block shown in Figure 5A. The set of triangle faces formed by these three intersection points in a certain order is called triangle soup, or trisoup, as shown in Figure 5B. Afterwards, sampling is performed on the triangle face set, and the obtained sampling points are used as the reconstructed point cloud within the block, as shown in Figure 5C.

[0111] Predictive geometry coding (PredGeomTree) involves first sorting the input point cloud. Currently used sorting methods include unordered, Morton order, azimuth order, and radial distance order. At the encoding end, the prediction tree structure is established using two different methods: a high-latency slow mode (KD-Tree) and a low-latency fast mode (using lidar calibration information). When using lidar calibration information, each point is assigned to a different laser, and a prediction tree structure is established based on the different lasers. Next, based on the prediction tree structure, each node in the prediction tree is traversed. Different prediction modes are selected to predict the node's geometric position information to obtain a geometric prediction residual, which is then quantized using a quantization parameter. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameter are encoded to generate a binary bitstream.

[0112] For geometric decoding based on the prediction tree, the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream. Secondly, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing, and the prediction residual is dequantized to restore the reconstructed geometric position information of each node, finally completing the geometric reconstruction at the decoding end.

[0113] After the geometric encoding is completed, the geometric information needs to be reconstructed. At present, attribute encoding is mainly performed on color information. First, the color information is converted from the RGB color space to the YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, there are two main transformation methods. One is the distance-based lifting transformation that relies on LOD partitioning, and the other is to directly perform RAHT transformation. Both methods will convert the color information from the spatial domain to the frequency domain, and obtain high-frequency coefficients and low-frequency coefficients through transformation. Finally, the coefficients are quantized and encoded to generate a binary bit stream (which can be simply referred to as "code stream").

[0114] When using geometric information to predict attribute information, Morton codes can be used to perform nearest neighbor searches. 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 below. For a three-dimensional coordinate represented by a d-bit binary number for each component, its three components can be expressed as:

[0115]

[0116] Among them, x l ,y l ,zl ∈{0,1} are the binary values ​​corresponding to the highest bit (l=1) to the lowest bit (l=d) of x, y, and z respectively. The Morton code M is to cross-arrange x, y, and z starting from the highest bit. l ,y l ,z l To the lowest bit, the calculation formula of M is as follows:

[0117]

[0118] Among them, m l′ ∈{0,1} are the values ​​of the highest bit (l′=1) to the lowest bit (l′=3d) of M. After obtaining the Morton code M of each point in the point cloud, the points in the point cloud are arranged in ascending order of the Morton code, and the weight value w of each point is set to 1.

[0119] It can also be understood that for the G-PCC codec framework, the general test conditions are as follows:

[0120] (1) There are 4 test conditions:

[0121] Condition 1: The geometric position is limited and the attributes are lost;

[0122] Condition 2: Geometric position lossless, attribute lossy;

[0123] Condition 3: Geometric position lossless, attribute loss limited;

[0124] Condition 4: Geometric position and attributes are lossless.

[0125] (2) The general test sequences include Cat1A, Cat1B, Cat3-fused, and Cat3-frame. Among them, Cat2-frame point clouds only contain reflectance attribute information, Cat1A and Cat1B point clouds only contain color attribute information, and Cat3-fused point clouds contain both color and reflectance attribute information.

[0126] (3) Technical routes: There are two types in total, which are distinguished by the algorithm used for geometric compression.

[0127] Technical route 1: Octree encoding branch.

[0128] At the encoding end, 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 is a 1×1×1 unit cube. In the case of geometric lossless coding, the number of points contained in the leaf node needs to be encoded, and finally the geometric octree encoding is completed to generate a binary code stream.

[0129] At the decoding end, 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. In the case of geometric lossless decoding, it is necessary to parse the number of points contained in each leaf node and finally recover the geometrically reconstructed point cloud information.

[0130] Technical route 2: prediction tree encoding branch.

[0131] At the encoding end, the prediction tree structure is established using two different methods: based on KD-Tree (high-latency slow mode) and using lidar calibration information (low-latency fast mode). For lidar calibration information, each point can be divided into different lasers, and the prediction tree structure is established according to different lasers. Next, based on the prediction tree structure, 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. Finally, through continuous iteration, the prediction residual of the node position information, the prediction tree structure, and the quantization parameter are encoded to generate a binary code stream.

[0132] At the decoding end, the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream. Secondly, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing, and the prediction residual is dequantized to restore the reconstructed geometric position information of each node, finally completing the geometric reconstruction at the decoding end.

[0133] It is understood that in the point cloud AVS codec framework, the geometric information of the point cloud and the attribute information corresponding to each point are also encoded separately. Figure 6A shows a schematic diagram of the composition framework of an AVS encoder, and Figure 6B shows a schematic diagram of the composition framework of an AVS encoder.

[0134] In the framework of the AVS encoder, the geometric information is first transformed into coordinates so that all point clouds are contained in a Bounding Box. Before the preprocessing process, it is decided whether to divide the entire point cloud sequence into multiple slices based on the parameter configuration. Each divided slice is 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 based on the parameters. Next, 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. In octree-based geometric coding, the bounding box is divided into sub-cubes in sequence. The sub-cubes that are not empty (contain points in the point cloud) are divided again until the leaf node obtained by division is a 1×1×1 unit cube. Then, in the case of geometric lossless coding, 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). In the framework of the AVS decoder, based on the octree-based geometric decoding process, the decoder obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in sequence until the division is a 1×1×1 unit cube. The number of points contained in each leaf node is parsed and the geometric information is finally recovered.

[0135] After geometric encoding is complete, the geometric information is reconstructed. Currently, attribute encoding primarily targets color and reflectance information. First, a determination is made as to whether color space conversion is required. If so, the color information is converted from RGB to YUV. The reconstructed point cloud is then recolored using the original point cloud to align the unencoded attribute information with the reconstructed geometric information. Color information encoding is divided into two modules: attribute prediction and attribute transformation. The attribute prediction process is as follows: first, the point cloud is reordered, followed by differential prediction. There are two reordering methods: Morton reordering and Hilbert reordering. For cat1A and cat2 sequences, Hilbert reordering is performed; for cat1B and cat3 sequences, Morton reordering is performed. Attribute prediction is then performed on the sorted point cloud using a differential method. Finally, the prediction residual is quantized and entropy coded to generate a binary attribute bitstream. The attribute transformation process is as follows: First, wavelet transform the point cloud attributes and quantize the transform coefficients; second, attribute reconstruction values ​​are obtained through inverse quantization and inverse wavelet transform; then, the difference between the original attribute and the reconstructed attribute value is calculated to obtain the attribute residual and quantized; finally, the quantized transform coefficients and attribute residual are entropy encoded to generate a binary attribute bitstream (i.e., attribute codestream). In the AVS decoder framework, the decoder performs entropy decoding, inverse quantization, attribute prediction compensation / attribute inverse transform, and inverse spatial transform on the attribute bitstream to ultimately recover the attribute information.

[0136] It can also be understood that for the AVS codec framework, the general test conditions are as follows:

[0137] (1) There are 4 test conditions:

[0138] Condition 1: The geometric position is limited and the attributes are lost;

[0139] Condition 2: Geometric position lossless, attribute lossy;

[0140] Condition 3: Geometric position lossless, attribute loss limited;

[0141] Condition 4: Geometric position and attributes are lossless.

[0142] (2) The general test sequence includes five categories: Cat1A, Cat1B, Cat1C, Cat2-frame and Cat3. Among them, Cat1A and Cat2-frame point clouds only contain reflectance attribute information, Cat1B and Cat3 point clouds only contain color attribute information, and Cat1C point cloud contains both color and reflectance attribute information.

[0143] (3) Technical routes: There are two types, which are distinguished by the algorithm used for attribute compression.

[0144] Technical route 1: Prediction branch, attribute compression adopts an intra-frame prediction-based method.

[0145] At the encoding end, 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.). First, the prediction algorithm is used to obtain the attribute prediction value. The attribute residual is obtained based on the attribute value and the attribute prediction value. Then, the attribute residual is quantized to generate the quantized residual. Finally, the quantized residual is encoded.

[0146] At the decoding end, 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.). First, the prediction algorithm is used to obtain the attribute prediction value, then the decoding is performed to obtain the quantized residual, and then the quantized residual is dequantized. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.

[0147] Technical Route 2: Prediction Transform Branch—Resources are limited. Attribute compression uses a method based on intra-frame prediction and discrete cosine transform (DCT). When encoding quantized transform coefficients, there is a maximum point number X (e.g., 4096), meaning that at most X points can be encoded as a group.

[0148] At the encoding end, 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.). First, the entire point cloud is divided into several small groups with a maximum length of Y (such as 2). These small groups are then combined into several large groups (the number of points in each large group does not exceed X, such as 4096). Then, a prediction algorithm is used to obtain attribute prediction values. Based on the attribute values ​​and attribute prediction values, attribute residuals are obtained. The attribute residuals are transformed by DCT in small groups to generate transform coefficients. The transform coefficients are then quantized to generate quantized transform coefficients. Finally, the quantized transform coefficients are encoded in large groups.

[0149] At the decoding end, 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.). First, the entire point cloud is divided into several small groups with a maximum length of Y (such as 2). 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 then dequantized and inversely transformed in small groups. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.

[0150] Technical Route 3: Prediction Transform Branch - Resources are not limited. Attribute compression uses a method based on intra-frame prediction and DCT transformation. When encoding the quantized transform coefficients, there is no limit on the maximum number of points X, that is, all coefficients are encoded together.

[0151] At the encoding end, 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.). First, the entire point cloud is divided into several small groups with a maximum length of Y (such as 2). Then, a prediction algorithm is used to obtain attribute prediction values. Based on the attribute values ​​and attribute prediction values, attribute residuals are obtained. The attribute residuals are transformed by DCT in groups to generate transformation coefficients. The transformation coefficients are then quantized to generate quantized transformation coefficients. Finally, the quantized transformation coefficients of the entire point cloud are encoded.

[0152] At the decoding end, 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.). First, the entire point cloud is divided into several small groups with a maximum length of Y (such as 2). The quantized transformation coefficients of the entire point cloud are obtained by decoding, and then the prediction algorithm is used to obtain the attribute prediction value. The quantized transformation coefficients are then dequantized and inversely transformed in groups. Finally, the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.

[0153] Technical route 4: Multi-layer transformation branch, attribute compression adopts a method based on multi-layer wavelet transform.

[0154] At the encoding end, the entire point cloud is subjected to multi-layer wavelet transform to generate transform coefficients, which are then quantized to generate quantized transform coefficients. Finally, the quantized transform coefficients of the entire point cloud are encoded.

[0155] At the decoding end, 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.

[0156] In recent years, based on the Angular and Azimuthal coding modes, 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. Moreover, another company has proposed an optimization solution for cat3-frame data based on the geometric coding optimization solution based on the prediction tree, in which for the cylindrical coordinate system 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.

[0157] As shown in FIG7 , as the depth information R increases, for the horizontal azimuth Same quantization Will Based on this, it is proposed to use the depth information R to adaptively quantize the horizontal azimuth angle. The specific quantization formula is as follows:

[0158]

[0159] Among them, if Fixed to 0.79, then is 8, that is, right shift 3 bits; r 2Drec Represents the reconstructed value of the depth information, and N represents a fixed precision.

[0160] The above formula (3) is used to calculate To predict the residual Quantify, assuming that the quantized Recorded as but And Dequantize to get but Finally, after dequantization, we get To align the horizontal azimuth Reconstruction can be performed to obtain the reconstruction value Here, round() represents a rounding function. In addition, "Q" in FIG7 represents quantization processing, and "IQ" represents inverse quantization processing.

[0161] According to the above quantization process, different prediction residuals can be obtained for different prediction modes. After quantitative reconstruction, different Finally, when the coordinates are inversely transformed from the cylindrical coordinate system to the Cartesian coordinate system, different coordinate transformation residuals (x res ,y res , z res ).

[0162] In other words, when encoding LiDAR point clouds using a prediction tree structure, the geometric coding efficiency of the point cloud is improved by selecting a specific prediction mode. However, when the encoder currently estimates the bitstream information (i.e., the encoding bit size) corresponding to each prediction mode, it only counts the bitstream information corresponding to each prediction mode and the cylindrical coordinate system. It does not count the bitstream information required for the coordinate transformation residual corresponding to each prediction mode. This leads to inaccurate selection of the optimal prediction mode, thereby reducing the coding efficiency of the geometric information.

[0163] An embodiment of the present application provides a coding and decoding method. For multiple prediction modes, when counting the precoding 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. Therefore, when the code stream is estimated according to the precoding information, the accuracy of the code stream estimation under each prediction mode can be improved, thereby making the selected optimal prediction mode more accurate and improving the coding efficiency of the geometric information; in addition, the influence of different quantization parameters on the coordinate conversion residuals can also be considered, and the optimal quantization parameter and the optimal 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 thereby improve the coding and decoding performance of the point cloud.

[0164] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0165] In one embodiment of the present application, referring to FIG8 , a schematic flow chart of an encoding method provided by an embodiment of the present application is shown. As shown in FIG8 , the method may include:

[0166] S801: Determine the prediction tree structure corresponding to the initial point cloud.

[0167] It should be noted that the encoding method of the embodiments of the present application can be applied to encoders. Furthermore, the encoding method can specifically refer to a prediction tree encoding method, more specifically, a lidar point cloud encoding method, which utilizes lidar calibration information to assign each node to a different laser and establish a prediction tree structure based on the different lasers, but this is not specifically limited here.

[0168] It should also be noted that, in the embodiments of the present application, the initial point cloud here may be a voxelized point cloud. In some embodiments, determining the prediction tree structure corresponding to the initial point cloud may include:

[0169] Get the initial point cloud in the second coordinate system;

[0170] Perform coordinate transformation on the points in the initial point cloud to obtain a processed point cloud in the first coordinate system;

[0171] A prediction tree structure is established based on the processed point cloud in the first coordinate system.

[0172] In the embodiment of the present application, 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).

[0173] In the embodiment of the present application, for the initial point cloud in the Cartesian coordinate system, it is necessary to perform coordinate conversion and then store it in the cylindrical coordinate system. The calculation formula for the coordinate conversion is as follows:

[0174]

[0175]

[0176] i=arg min j=1,…,N {z+zLaser(j)-R×tan(θ(j))} (6)

[0177] Figure 9 shows a schematic diagram of coordinate transformation for a rotating laser radar to obtain a point cloud. In the Cartesian coordinate system, the (x, y, z) coordinates of each node can be converted to Indicates. In addition, the laser scanner can perform laser scanning at a preset angle, and different θ(j) can be obtained under different values ​​of j. For example, when j is equal to 1, θ(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°.

[0178] It should also be noted that in the embodiment of the present application, 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 vertical height zLaser 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 formulas (4) to (6). The deviation between the converted z component and the original z component of the point is calculated, and 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.

[0179] In some embodiments, the method may further include: before performing coordinate transformation on the points in the initial point cloud, reordering the initial point cloud.

[0180] It should be noted that in the embodiment of the present application, before constructing the prediction tree structure, the initial point cloud needs to be reordered; 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 prediction tree structure.

[0181] It should also be noted that in the embodiment of the present application, the reordering method can be disorder, Morton order, azimuth order, radial distance order, etc. In a specific embodiment, the default sorting method is sorting by azimuth. Here, the Cartesian coordinates (x, y, z) of each node can be converted into polar coordinates And according to the azimuth The points are sorted by radius R and elevation tangent tanθ.

[0182] In this way, the initial point cloud is traversed according to the sorted results, and the points in the initial point cloud are converted from Cartesian coordinates (x, y, z) to cylindrical coordinates in sequence. And store it. Then according to the cylindrical coordinates of the points in the initial point cloud Next, when establishing the prediction tree structure, if a point with LaserID i appears for the first time, then this point is used as the root node of all points corresponding to LaserID i; if not, then this point is regarded as a child node of the previously processed point with LaserID i, and this process is repeated until all points are traversed. Finally, the root nodes of all LaserIDs are connected to complete the establishment of the prediction tree. Figure 10 shows a schematic diagram of the composition of a prediction tree structure. As shown in Figure 10, in the initial point cloud, the nodes filled with horizontal lines represent all points corresponding to LaserID=0 (i.e., Laser index0), the nodes filled with vertical lines represent all points corresponding to LaserID=1 (i.e., Laser index1), the nodes filled with oblique lines represent all points corresponding to LaserID=2 (i.e., Laser index2), and the nodes filled with grids represent all points corresponding to LaserID=3 (i.e., Laser index3). For the four Lasers (i=0, 1, 2, 3), the prediction tree structure corresponding to these four Lasers is shown here.

[0183] S802: Precoding a current node of a prediction tree structure using a plurality of prediction modes to determine precoding information of each of the plurality of prediction modes; wherein the precoding 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.

[0184] It should be noted that, in the embodiment of the present application, the multiple prediction modes may include four prediction modes, specifically: a first prediction mode (represented by Mode0), a second prediction mode (represented by Mode1), a third prediction mode (represented by Mode2), and a fourth prediction mode (represented by Mode3). Mode0 indicates no prediction, Mode1 indicates delta prediction, i.e., p0; Mode2 indicates linear prediction, i.e., 2p0-p1; Mode3 indicates parallelogram prediction, i.e., p0+p1-p2. p0, p1, and p2 are the positions of the parent node, grandparent node, and great-grandparent node of the current node, respectively.

[0185] It should also be noted that, in the embodiment of the present application, the prediction tree structure can be traversed in depth-first order, and for the current node in the prediction tree structure, a target prediction mode needs to be selected from these multiple prediction modes for prediction.

[0186] In the process of selecting the target prediction mode, it is first necessary to determine the precoding information of each prediction mode. Therefore, in some embodiments, precoding processing is performed on the current node of the prediction tree structure using multiple prediction modes, and the precoding information of each of the multiple prediction modes is determined, which may include:

[0187] Using the candidate prediction mode to perform prediction processing on the current node, and obtain the predicted value of the current node in the first coordinate system;

[0188] Determine a 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;

[0189] Determine a 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;

[0190] Perform coordinate inverse transformation based on 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;

[0191] 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;

[0192] 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.

[0193] In the embodiment of the present application, the candidate prediction mode is any one of a plurality of prediction modes. In other words, for the plurality of prediction modes, each prediction mode determines its corresponding precoding information according to the above-mentioned processing procedure.

[0194] In some embodiments, performing prediction processing on the current node using the candidate prediction mode to obtain a predicted value of the current node in the first coordinate system may include:

[0195] If the current node is the root node and the candidate prediction mode is the first prediction mode, the preset value is used as the prediction value of the current node in the first coordinate system;

[0196] If the current node is not the root node and the candidate prediction mode is the second prediction mode, predict the current node using the prediction value of the parent node in the first coordinate system to determine the prediction value of the current node in the first coordinate system;

[0197] If the current node is not the root node and the candidate prediction mode is the third prediction mode or the fourth prediction mode, the current node is predicted using the third prediction mode or the fourth prediction mode to determine a predicted value of the current node in the first coordinate system.

[0198] It should be noted that in the embodiment of the present application, if the current node is the root node of the prediction tree structure and the candidate prediction mode selects Mode0, 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 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 If the current node is not the root node and the candidate prediction mode is Mode 1, the cylindrical coordinates of the current node are calculated by multiplying the cylindrical coordinates of its parent node by the value of 0. The prediction value of the cylindrical coordinate system of the current point can be obtained by making a prediction If the current node is not the root node and the candidate prediction mode is Mode2 or Mode3, the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinate system of the current point is

[0199] It should also be noted that, in the embodiment of the present application, the first coordinate system may be a cylindrical coordinate system, which includes: azimuth components Depth component (R) and laser identification component (i). In this way, after the candidate prediction mode is used to predict the current node, the current node in the cylindrical coordinate system can be obtained. The predicted value under the above conditions may specifically include: the predicted value of the azimuth component of the current node (using Represented by), the predicted value of the current node in the depth component (expressed by R pred The predicted value of the laser marking component of the current node (expressed by i pred express).

[0200] In some embodiments, determining 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 predicted value of the current node in the first coordinate system may include:

[0201] 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;

[0202] Determine a 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;

[0203] The 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.

[0204] It should be noted that, in the embodiment of the present application, the prediction residual of the azimuth component of the current node can be expressed as Indicates that the prediction residual of the depth component of the current node can be expressed as R res Indicates that the prediction residual of the laser identification component of the current node can be expressed as i res express.

[0205] In one possible implementation, It can be determined by the difference between the original value and the predicted value of the azimuth component of the current node, that is, R res It can be determined by the difference between the original value and the predicted value of the depth component of the current node, that is, R res =RR pred ;i res It can be determined by the difference between the original value and the predicted value of the laser identification component of the current node, that is, i res =ii pred .

[0206] In another possible implementation, for Specifically, determining the 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 may include:

[0207] Determine an initial 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;

[0208] Get the scanning speed of the lidar, and determine the number of skip points between the current node and the parent node based on the initial prediction residual of the azimuth component of the current node and the scanning speed;

[0209] The prediction residual of the azimuth component of the current node is determined according to the initial prediction residual of the azimuth component of the current node, the number of skipped points, and the scanning speed.

[0210] It should be noted that, in the embodiments of this application, The calculation of is not only related to the scanning speed of the lidar, but also to the number of skip points between the parent node and the current node.

[0211] In a specific embodiment, determining the number of skip points between the current node and the parent node based on the initial prediction residual of the azimuth component of the current node and the scanning speed may include:

[0212] A division operation is performed on the initial prediction residual of the azimuth component of the current node and the scanning speed to obtain a division result; and the division result is rounded to obtain the number of skipped points.

[0213] Here, the number of skip points can be represented by n, and the calculation formula of n is as follows:

[0214]

[0215] Among them, round() represents the rounding function, represents the initial prediction residual of the azimuth component of the current node, Indicates the scanning speed of the lidar.

[0216] In a specific embodiment, determining the prediction residual of the azimuth component of the current node according to the initial prediction residual of the azimuth component of the current node, the number of skipped points, and the scanning speed may include:

[0217] A multiplication operation is performed according to the number of skipped points and the scanning speed to obtain a multiplication result; and an initial prediction residual of the azimuth component of the current node is subtracted from the multiplication result to obtain a prediction residual of the azimuth component of the current node.

[0218] Here, the prediction residual of the azimuth component of the current node is The calculation formula is as follows:

[0219]

[0220] It should also be noted that, in the embodiment of the present application, R res and i res Afterwards, the reconstructed value of the current node in the first coordinate system may be further determined. In some embodiments, determining 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 may include:

[0221] Determine a reconstructed value of the azimuth component of the current node according to the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node;

[0222] Determine a reconstructed value of the depth component of the current node according to the prediction residual of the depth component of the current node and the predicted value of the depth component of the current node;

[0223] A reconstructed value of the laser identification component of the current node is determined according to the prediction residual of the laser identification component of the current node and the predicted value of the laser identification component of the current node.

[0224] It should be noted that, in the embodiment of the present application, the reconstructed value of the azimuth component of the current node can be used Indicates that the reconstructed value of the depth component of the current node can be expressed as R rec Indicates that the reconstruction value of the laser identification component of the current node can be obtained by i rec express.

[0225] In one possible implementation, It can be determined by the sum of the prediction residual and the predicted value of the azimuth component of the current node, that is, R rec It can be determined by the sum of the prediction residual and the predicted value of the depth component of the current node, that is, R rec =R res +R pred ;i rec It can be determined by the sum of the prediction residual and the predicted value of the laser identification component of the current node, that is, i rec =i res +i pred .

[0226] In another possible implementation, for Specifically, determining the reconstructed value of the azimuth component of the current node according to the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node may include:

[0227] Quantizing the prediction residual of the azimuth component of the current node to obtain the quantized prediction residual of the azimuth component of the current node;

[0228] Performing inverse quantization processing on the quantized prediction residual of the azimuth component of the current node to obtain an inverse quantized prediction residual of the azimuth component of the current node;

[0229] A reconstructed value of the azimuth component of the current node is determined 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.

[0230] It should also be noted that, in the embodiments of this application, Quantization and dequantization processing are also required. The specific calculation formula is as follows:

[0231]

[0232]

[0233] in, Indicates the preset quantization value, Represents the quantized prediction residual of the azimuth component of the current node, Table pair Quantization and dequantization processing are performed to obtain the dequantized prediction residual of the azimuth component of the current node.

[0234] In some embodiments, for In terms of depth, the azimuth component can be adaptively quantized according to the reconstructed value of the depth component of the current node. The specific quantization formula is as follows:

[0235]

[0236] Among them, if Fixed to 0.79, then is 8, that is, right shift 3 bits; R rec Represents the reconstructed value of the depth component of the current node, and N represents a fixed precision.

[0237] In a specific embodiment, determining the 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 may include:

[0238] Perform multiplication operation according to the number of skip points and the scanning speed to obtain the multiplication result;

[0239] An addition operation is performed according to the inverse quantized prediction residual of the azimuth component of the current node, the predicted value of the azimuth component of the current node, and the multiplication result to determine the reconstructed value of the azimuth component of the current node.

[0240] That is to say, in After quantization and dequantization, the reconstructed value of the azimuth component of the current node can be calculated. The specific calculation formula is as follows:

[0241]

[0242] It should be noted that in the prediction tree structure, only Perform quantization and dequantization to reconstruct the value With the original value There are differences; however, for R and i, since the encoding end does not perform quantization and inverse quantization processing, the reconstructed value R rec Same as the original value R, the reconstructed value i rec Same as the original value of i.

[0243] In the embodiment of the present application, the second coordinate system may be a Cartesian coordinate system, which includes: a first axis component, a second axis component, and a third axis component. The first axis component may be an x-component, the second axis component may be a y-component, and the third axis component may be a z-component; alternatively, the first axis component may be a y-component, the second axis component may be an x-component, the third axis component may be a z-component, and so on, which are not specifically limited here.

[0244] In some embodiments, performing an inverse coordinate transformation based on 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:

[0245] Performing an inverse coordinate transformation based on the reconstructed value of the azimuth component of the current node and the reconstructed value of the depth component of the current node to obtain a predicted value of the first axis component of the current node and a predicted value of the second axis component of the current node;

[0246] A coordinate inverse transformation is performed according to the reconstructed value of the depth component of the current node and the reconstructed value of the laser marking component of the current node to obtain a predicted value of the third axis component of the current node.

[0247] It should be noted that, in the embodiments of the present application, according to the above R rec and i rec , can be converted to Cartesian coordinates by inverse conversion The calculation formula for inverse coordinate transformation is as follows:

[0248]

[0249]

[0250]

[0251] Among them, i recis 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 i-th rec The elevation angle corresponding to each Laser is θ(i rec ), the vertical height is zLaser(i rec ).

[0252] Accordingly, in some embodiments, 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:

[0253] Determine the coordinate transformation residual of the first axis component of the current node according to 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;

[0254] Determine the coordinate transformation residual of the second axis component of the current node according to 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;

[0255] A 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.

[0256] It should be noted that, in the embodiment of the present application, the coordinate transformation residual of the first axis component of the current node can be expressed as x res Indicates that the coordinate transformation residual of the second axis component of the current node can be expressed as y res Indicates that the coordinate transformation residual of the third axis component of the current node can be expressed as z res express.

[0257] In one possible implementation, x res It can 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 It 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 It 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,

[0258] In this way, in order to improve the accuracy of selecting the target prediction mode, for each prediction mode, when counting the pre-coding information, the bit rate 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 bit rate.

[0259] Taking the candidate prediction mode as an example, in some embodiments, 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:

[0260] The candidate prediction mode, the prediction residual of the current node in the first coordinate system, 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.

[0261] In some other embodiments, 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 transformation residual of the current node in the second coordinate system may include:

[0262] The candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate conversion residual of the first axis component of the current node, and the coordinate conversion residual of the second axis component of the current node are determined as precoding information of the candidate prediction mode.

[0263] That is to say, in the statistics of precoding information, in addition to considering the candidate prediction mode and the prediction residual of the current node in the cylindrical coordinate system In addition, you can also (x res 、y res 、z res ) are all counted; or, considering that the embodiment of the present application is only for Adaptive quantization can be obtained through the relationship between cylindrical coordinates and Cartesian coordinates: The difference will only affect the coordinate prediction values ​​of the x and y components and Therefore, we can also count only the conversion residual x of x and y components res and y res .

[0264] Thus, for various prediction modes, respective precoding information can be determined in the above manner, wherein the precoding information includes at least: 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.

[0265] S803: Determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes.

[0266] In an embodiment of the present application, after obtaining precoding information for each of the multiple prediction modes, the distortion values ​​of the multiple prediction modes can be determined. In a specific embodiment, the distortion values ​​can be determined based on the cost results of Rate Distortion Optimization (RDO), the cost results of Sum of Absolute Difference (SAD), or even the cost results of Sum of Absolute Transformed Difference (SATD), but this is not limited to any particular embodiment.

[0267] In some embodiments, taking the rate-distortion cost as an example, determining a target prediction mode from among the multiple prediction modes based on respective precoding information of the multiple prediction modes may include:

[0268] Determining rate-distortion cost values ​​corresponding to the multiple prediction modes based on the respective precoding information of the multiple prediction modes;

[0269] 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.

[0270] It should be noted that in the embodiment of the present application, the rate-distortion cost calculation is performed on the pre-encoded information of each of the multiple prediction modes to obtain the rate-distortion cost value corresponding to each prediction mode. The minimum rate-distortion cost value is then 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 encoding efficiency of the point cloud geometric information.

[0271] S804: Perform encoding processing on the current node according to the target prediction mode, determine encoding information of the current node, and write the encoding information into the bitstream.

[0272] It should be noted that, in the embodiment of the present application, 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:

[0273] Perform prediction processing on the current node according to the target prediction mode to determine the target prediction value of the current node in the first coordinate system;

[0274] Determine a target prediction residual of the current node in the first coordinate system according to an original value of the current node in the first coordinate system and a target prediction value of the current node in the first coordinate system;

[0275] Determine a 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;

[0276] 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;

[0277] Determine a target coordinate transformation residual of the current node in the second coordinate system according to an original value of the current node in the second coordinate system and a target predicted value of the current node in the second coordinate system;

[0278] 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.

[0279] In a specific embodiment, 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.

[0280] It should be noted that, in the embodiment of the present application, the target prediction residual of the current node in the first coordinate system is The target reconstruction value of the current node in the first coordinate system can be determined Then, according to the calculation formula of the inverse coordinate transformation, Converted to the target prediction value of the current node in the second coordinate system Then calculate the target coordinate transformation residual (x res 、y res 、z res ). At this time, the coding information written into the code stream may include: target prediction mode, target prediction residual of the current node in the first coordinate system And the target coordinate transformation residual (x res 、y res 、z res ). Since the encoder does not perform quantization and dequantization on i, the reconstructed value i rec The same as the original value i, so when calculating the rate-distortion cost using the coding information, the embodiment of the present application may also not consider i res .

[0281] It should also be noted that, in the embodiment of the present application, the multiple prediction modes may include a first prediction mode (Mode0), a second prediction mode (Mode1), a third prediction mode (Mode2), and a fourth prediction mode (Mode3). In some embodiments, the method may further include:

[0282] If the current node is the root node, determining the target prediction mode to be the first prediction mode;

[0283] If the current node is not the root node and the root node is the parent node of the current node, determining the target prediction mode to be the second prediction mode;

[0284] If the current node is not the root node and the root node is the grandparent node of the current node, determining a target prediction mode from the first prediction mode, the second prediction mode, and the third prediction mode;

[0285] If the current node is not the root node and the root node is the great-grandfather node of the current node, a target prediction mode is determined from the first prediction mode, the second prediction mode, the third prediction mode, and the fourth prediction mode.

[0286] That is to say, if the current node is the root node of the prediction tree structure, then the target prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted. At this time, the corresponding cylindrical coordinate system prediction value is Among them, R min 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 All are set to 0, otherwise it is the cylindrical coordinate component of the parent node.

[0287] If the current node is not the root node and the target prediction mode is Mode1, the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node. The prediction value of the cylindrical coordinate system of the current point can be obtained by making a prediction

[0288] If the current node is not the root node and the target prediction mode is Mode2 or Mode3, the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinate system of the current point is

[0289] If the current node is not the root node, then the best target prediction mode is selected by the current node to predict the cylindrical coordinates of the current node. The predicted value of the cylindrical coordinate system of the current point is Then we can get the corresponding prediction residual in the cylindrical coordinate system

[0290] In addition, in some embodiments, the method may further include:

[0291] In target prediction mode, determine the number of skip points between the current node and the parent node;

[0292] The number of skip points is encoded and the resulting encoded bits are written into the bitstream.

[0293] It should be noted that due to The calculation of is not only related to the scanning speed of the laser radar, but also to the number of skipped points between the parent node and the current node. Therefore, after determining the number of points that need to be skipped between the current node and the parent node according to the scanning speed, the embodiment of the present application also needs to encode the number of skipped points so that the decoding end can obtain the number of skipped points through decoding, thereby accurately recovering the reconstructed value of the azimuth component of the current node.

[0294] The embodiments of the present application provide an encoding method that, when selecting the optimal target prediction mode for the current node, selects the target prediction mode by statistically analyzing the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate transformation residuals. This method can improve the efficiency of encoding the geometric information of the point cloud. Simply put, when encoding geometric information, by considering the bitstream required for all information to be encoded by each prediction mode, it is possible to ensure that the target prediction mode ultimately selected is the prediction mode that consumes the least bitstream, thereby effectively improving the efficiency of encoding the geometric information of the point cloud and, in turn, improving encoding performance.

[0295] In another embodiment of the present application, referring to FIG11 , a flow chart of another encoding method provided by an embodiment of the present application is shown. As shown in FIG11 , the method includes:

[0296] S1101: Determine the prediction tree structure corresponding to the initial point cloud.

[0297] It should be noted that, in the embodiment of the present application, in order to further improve the efficiency of geometric information coding, the influence of the quantization parameter (QP) needs to be considered when performing rate-distortion optimization selection for each prediction mode.

[0298] It should also be noted that in the embodiments of this application, the initial point cloud may be a voxelized point cloud. For the prediction tree structure, the initial point cloud must first be reordered; then the initial point cloud is converted from a Cartesian coordinate system to a cylindrical coordinate system, and then the prediction tree structure is established using the initial point cloud in the cylindrical coordinate system. This process can be found in the description of the previous embodiments and will not be detailed here.

[0299] S1102: Pre-encoding the current node of the prediction tree structure 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 conversion residual of the current node in the second coordinate system.

[0300] In some embodiments, performing precoding processing on a current node of a prediction tree structure using multiple prediction modes and multiple quantization parameters, and determining precoding information for each of the multiple parameter combinations, may include:

[0301] Pre-encoding the current node using the candidate prediction mode to determine the prediction residual of the current node in a preset coordinate system;

[0302] 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;

[0303] Precoding information of the candidate parameter combination is determined according to the candidate prediction mode, the candidate quantization parameter and the quantization prediction residual of the current node in a preset coordinate system.

[0304] In the embodiment of the present application, the candidate parameter combination is any one of a plurality of parameter combinations, wherein the candidate parameter combination is composed of a candidate prediction mode and a candidate quantization parameter, wherein 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.

[0305] In an embodiment of the present application, 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:

[0306] Performing quantization processing on the prediction residual of the current node in the first coordinate system according to the candidate quantization parameter to determine the quantized prediction residual of the current node in the first coordinate system; and / or,

[0307] A coordinate transformation residual of the current node in the second coordinate system is quantized according to the candidate quantization parameter to determine a quantized transformation residual of the current node in the second coordinate system.

[0308] That is, in the embodiments of the present application, taking a certain parameter combination (e.g., a candidate prediction mode and a candidate quantization parameter) as an example, 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. Specifically, for the prediction residual of the geometric information, the candidate quantization parameter can be used to quantize the prediction residual in the first coordinate system; and / or, the candidate quantization parameter can be used to quantize the coordinate transformation residual in the second coordinate system, which is not specifically limited here.

[0309] In some embodiments, the method may further include:

[0310] Determining a candidate quantization parameter index value corresponding to the candidate quantization parameter according to a preset quantization parameter table and the candidate quantization parameter;

[0311] Determining the candidate quantization parameter index value as precoding information of the candidate parameter combination;

[0312] The preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.

[0313] It should be noted that in the embodiment of the present application, the preset quantization parameter table can be represented by deltaQTable. That is, a preset quantization parameter table deltaQTable can be established in the encoder. Assume that the size of the quantization parameter table is N, that is, the quantization parameter table includes N types of quantization parameters, where N is a positive integer.

[0314] It should also be noted that in the embodiment of the present application, for a certain quantization parameter, QP = deltaQTable[idx]; where idx represents the index number of the quantization parameter in the quantization parameter table. In this way, based on the preset quantization parameter table, the candidate quantization parameter index value corresponding to the candidate quantization parameter can be determined. In the code stream information to be encoded, the candidate quantization parameter index value can also be used to replace the candidate quantization parameter, thereby saving bit rate. In other words, in the subsequent code stream estimation, the candidate quantization parameter index value can be used as precoding information for code stream estimation.

[0315] It can be understood that in the embodiment of the present application, assuming that the candidate quantization parameter is a quantization process performed on the coordinate transformation residual in the second coordinate system, then in some embodiments, the method may further include:

[0316] Performing precoding processing on the current node using the candidate prediction mode to determine a prediction residual of the current node in the first coordinate system and a coordinate conversion residual of the current node in the second coordinate system;

[0317] quantize 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;

[0318] 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.

[0319] In the embodiment of the present application, the prediction residual of the current node in the first coordinate system includes The coordinate transformation residuals of the current node in the second coordinate system include (x res ,y res , z res ); and (x res ,y res , z res ) After quantization, the quantization transformation residual of the current node in the second coordinate system includes (Qx res , Qy res , Qz res ). Thus, the precoding information of the candidate parameter combination may include: mode, idx, and (Qx res , Qy res , Qz res ). Wherein, mode represents the candidate prediction mode, and idx represents the candidate quantization parameter index value.

[0320] It should be noted that for Qx res 、Qy res 、Qz res , which can be based on the candidate quantization parameter QP pair (x res ,y res , z res ) is quantized. It can be based on right quantized; or modified according to the candidate quantization parameters Thus, according to the candidate quantization parameter QP The quantization process is performed, and there is no specific limitation on this.

[0321] Thus, for various parameter combinations, 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.

[0322] S1103: 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.

[0323] In an embodiment of the present application, after obtaining precoding information for each of multiple parameter combinations, the distortion values ​​of each of these parameter combinations can be determined. For example, the distortion values ​​can be determined based on the cost results of rate-determined order (RDO), rate-determined order (SAD), or even rate-determined order (SATD). A target parameter combination, i.e., a target prediction mode and target quantization parameter, is then selected from these multiple parameter combinations based on the principle of minimizing the cost.

[0324] In some embodiments, determining a target prediction mode and a target quantization parameter in a plurality of parameter combinations based on respective precoding information of the plurality of parameter combinations may include:

[0325] Determining rate-distortion cost values ​​corresponding to the plurality of parameter combinations based on respective precoding information of the plurality of parameter combinations;

[0326] 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.

[0327] It should be noted that in the embodiment of the present application, the rate-distortion cost calculation is performed on the pre-coding information of each of the multiple parameter combinations to obtain the rate-distortion cost value corresponding to each parameter combination. The minimum rate-distortion cost value is then 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 encoding efficiency of the point cloud geometric information.

[0328] It can also be understood that, for the calculation of the rate-distortion cost value, taking the candidate parameter combination as an example, in some embodiments, the method further includes:

[0329] Under the candidate parameter combination, determine the reconstruction value of the current node in the second coordinate system;

[0330] Determine a distortion value corresponding to the candidate parameter combination according to an original value of the current node in the second coordinate system and a reconstructed value of the current node in the second coordinate system;

[0331] Performing bitstream estimation based on the candidate prediction modes, the candidate quantization parameter index values, 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 a bitstream estimation value corresponding to the candidate parameter combination;

[0332] A rate-distortion cost calculation is performed based on the distortion value and the bitrate estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination, where the candidate parameter combination is any one of multiple parameter combinations.

[0333] In a specific embodiment, determining the reconstruction value of the current node in the second coordinate system under the candidate parameter combination may include:

[0334] Determine the reconstructed value of the current node in the first coordinate system according to the prediction residual of the current node in the first coordinate system, and perform inverse coordinate transformation on 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;

[0335] 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;

[0336] quantize 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;

[0337] Performing inverse quantization processing on the quantization conversion residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the inverse quantization conversion residual of the current node in the second coordinate system;

[0338] 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.

[0339] It should be noted that, in the embodiment of the present application, after determining the reconstruction value of the current node in the first coordinate system Afterwards, through By performing inverse coordinate transformation, 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 subtraction, the quantization transformation residual (x res 、y res 、z res ). Further, for (x res 、y res 、z res ) The calculation formula for quantization and dequantization is as follows:

[0340] Qx res =round(x res / QP (16)

[0341] Q res =round(y res / QP (17)

[0342] QZ res =round(z res / QP (18)

[0343] Invx res =Qx res *QP (19)

[0344] Invy res =Qy res *QP (20)

[0345] Invz res =Qz res *QP (21)

[0346] Furthermore, for the reconstructed value (x rec 、y rec 、z rec ), the specific calculation formula is as follows:

[0347]

[0348]

[0349]

[0350] Furthermore, the specific calculation formula for the rate-distortion cost of the candidate parameter combination is as follows:

[0351] D=|xx rec |+|yy rec |+|zz rec | (25)

[0352]

[0353] J=D+λ*R (27)

[0354] Wherein, D represents the distortion value corresponding to the candidate parameter combination, R represents the estimated code stream value corresponding to the candidate parameter combination, and J represents the rate-distortion cost value corresponding to the candidate parameter combination; RO_estimate() represents the code stream estimation function; λ is a quantity related to the candidate quantization parameter QP. In the embodiment of the present application,

[0355] After obtaining the rate-distortion cost values ​​J corresponding to multiple parameter combinations, the minimum rate-distortion cost value J can be selected from them. min , and then determine the target prediction mode bestMode and target quantization parameter bestQP.

[0356] It is also understandable that in the embodiment of the present application, the second coordinate system may include a first axis component, a second axis component, and a third axis component. For these three axis components, the same candidate quantization parameter may be used for quantization processing, or different candidate quantization parameters may be used for quantization processing.

[0357] In some embodiments, quantizing the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the quantized transformation residual of the current node in the second coordinate system may include:

[0358] quantizing the coordinate transformation residual of the first axis component of the current node using the first candidate quantization parameter to determine the quantized transformation residual of the first axis component of the current node;

[0359] quantizing the coordinate transformation residual of the second axis component of the current node using the second candidate quantization parameter to determine the quantized transformation residual of the second axis component of the current node;

[0360] The coordinate transformation residual of the third axis component of the current node is quantized using the third candidate quantization parameter to determine the quantized transformation residual of the third axis component of the current node.

[0361] It should be noted that, in the embodiment of the present application, 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.

[0362] It should also be noted that, in the embodiment of the present application, 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 indicates 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 indicates 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 may be represented as deltaQTable[z], which indicates the mapping relationship between the multiple quantization parameters corresponding to the third axis component and the multiple quantization parameter index values.

[0363] Accordingly, in some embodiments, the method may further include:

[0364] Determining a 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;

[0365] Determine, according to the second quantization parameter array and the second candidate quantization parameter, a second candidate quantization parameter index value corresponding to the candidate quantization parameter;

[0366] Determining, according to the third quantization parameter array and the third candidate quantization parameter, a second candidate quantization parameter index value corresponding to the candidate quantization parameter;

[0367] 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.

[0368] That is to say, the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby completing the quantization of the three components x, y and z to different degrees, further improving the coding efficiency of geometric information.

[0369] S1104: 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.

[0370] It should be noted that, in the embodiment of the present application, 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:

[0371] Determine, according to the target prediction mode, a target prediction residual of the current node in the first coordinate system and a target coordinate conversion residual of the current node in the second coordinate system;

[0372] quantizing the target coordinate transformation residual of the current node in the second coordinate system using the target quantization parameter to determine the target quantization transformation residual of the current node in the second coordinate system;

[0373] The coding 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.

[0374] It should be noted that the method may also include: encoding the target prediction mode, target quantization parameter, target prediction residual of the current node in the first coordinate system and target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.

[0375] It should also be noted that, for the target prediction residual of the current node in the first coordinate system, in some embodiments, the method may further include:

[0376] Determine, according to the target prediction mode, a target prediction value of the azimuth component of the current node and a target prediction value of the depth component of the current node;

[0377] Determining a prediction residual value of the azimuth component of the current node according to an original value of the azimuth component of the current node and a target prediction value of the azimuth component of the current node; and quantizing the prediction residual value of the azimuth component of the current node according to a target quantization parameter to determine a quantized residual value of the azimuth component of the current node;

[0378] Determine a prediction residual value 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;

[0379] The quantized residual value of the azimuth component of the current node and the predicted residual value of the depth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.

[0380] In the embodiment of the present application, since the encoding end does not perform quantization and dequantization on i, the reconstructed value i rec The same as the original value i, so the relevant processing of i can be ignored at the encoding end. At this time, for the depth component R, the predicted residual value R of the depth component of the current node res There is no need for quantization; only the predicted residual value of the azimuth component of the current node Quantization processing is required to obtain the quantized residual value of the azimuth component of the current node At this time, R res and As the target prediction residual of the current node in the first coordinate system.

[0381] In some embodiments, the method may further include: encoding the target prediction mode, the target quantization parameter, the prediction residual value of the depth component of the current node, the 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.

[0382] In other embodiments, the method may further 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 prediction residual value of the depth component of the current node, the 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.

[0383] That is, in the bitstream, the target quantization parameter can be written directly into the bitstream, or the target quantization parameter index value can be written into the bitstream. Furthermore, the target prediction mode can be written directly into the bitstream, or the index value corresponding to the target prediction mode can be written into the bitstream, and this is not specifically limited here.

[0384] In addition, in some embodiments, the method may further include:

[0385] In target prediction mode, determine the number of skip points between the current node and the parent node;

[0386] The number of skip points is encoded and the resulting encoded bits are written into the bitstream.

[0387] It should be noted that due to The calculation of is not only related to the scanning speed of the laser radar, but also to the number of skipped points between the parent node and the current node. Therefore, after determining the number of points that need to be skipped between the current node and the parent node according to the scanning speed, the embodiment of the present application also needs to encode the number of skipped points so that the decoding end can obtain the number of skipped points through decoding, thereby accurately recovering the reconstructed value of the azimuth component of the current node.

[0388] In some embodiments, the present application further provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least one of the following:

[0389] Target prediction mode, target quantization parameter index value, number of skip points between the current node and the parent node, target prediction residual of the current node in the first coordinate system, and target quantization conversion residual of the current node in the second coordinate system.

[0390] It should be noted that, in an embodiment of the present application, the information to be encoded may also include at least one of the following: a target prediction mode, a target quantization parameter, the number of skip points between the current node and the parent 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.

[0391] It should also be noted that, in the embodiment of the present application, the target prediction residual of the current node in the first coordinate system may include R res and The target quantization transformation residual of the current node in the second coordinate system may include (Qx res 、Qy res 、Qz res In this way, by encoding the information to be encoded, the obtained coded bits are written into the bitstream so as to be transmitted from the encoding end to the decoding end, so that the decoding end can obtain this information by parsing the bitstream, thereby being able to reconstruct the geometric point cloud.

[0392] An embodiment of the present application provides an encoding method, which introduces a quantization parameter table deltaQTable 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 deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete different degrees of quantization of x, y and z, and further improve the encoding efficiency of geometric information.

[0393] In another embodiment of the present application, referring to FIG12 , a flowchart of a decoding method provided by the present application is shown. As shown in FIG12 , the method includes:

[0394] S1201: Parse the bitstream to determine the target prediction mode of the current node.

[0395] It should be noted that the decoding method of the embodiment of the present application can be applied to a decoder. In addition, the decoding method can specifically refer to a prediction tree decoding method, more specifically, a lidar point cloud decoding method, but this is not limited to the lidar field.

[0396] S1202: Determine the target prediction value of the current node in a preset coordinate system according to the target prediction mode.

[0397] It should be noted that, in the embodiment of the present application, the preset coordinate system may include at least one of the following: a first coordinate system and a second coordinate system. For example, the first coordinate system is a cylindrical coordinate system, and the second coordinate system is a Cartesian coordinate system.

[0398] Assuming that the preset coordinate system is the second coordinate system, the target prediction value of the current node in the second coordinate system can be obtained by first determining the reconstructed value in the first coordinate system and then performing an inverse coordinate transformation on the reconstructed value in the first coordinate system. In some embodiments, determining the target prediction value of the current node in the preset coordinate system according to the target prediction mode may include:

[0399] Perform prediction processing on the current node according to the target prediction mode to determine the target prediction value of the current node in the first coordinate system;

[0400] Parse the bitstream and determine the target prediction residual of the current node in the first coordinate system;

[0401] Determine a 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;

[0402] A coordinate inverse transformation is performed 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.

[0403] In an embodiment of the present application, parsing the code stream and determining the target prediction residual of the current node in the first coordinate system may include: parsing the code stream to determine the target quantization prediction residual of the azimuth component of the current node, the target prediction residual of the depth component of the current node, and the target prediction residual of the laser marking component of the current node.

[0404] Accordingly, in a specific embodiment, 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:

[0405] Performing inverse quantization processing on the target quantized prediction residual of the azimuth component of the current node to obtain the target inverse quantized prediction residual of the azimuth component of the current node;

[0406] Determine a target reconstructed value of the azimuth component of the current node according to a target predicted value of the azimuth component of the current node and a target inverse quantized prediction residual;

[0407] Determine a target reconstruction value of the depth component of the current node according to the target prediction value and the target prediction residual of the depth component of the current node;

[0408] The target reconstruction value of the laser identification component of the current node is determined according to the target prediction value and the target prediction residual of the laser identification component of the current node.

[0409] It should be noted that, in the embodiment of the present application, the target quantized prediction residual of the azimuth component of the current node can be obtained through the code stream. The target prediction residual R of the depth component of the current noderes and the target prediction residual i of the laser identification component of the current node res Here, the encoding end only processes the azimuth component. Then the decoding end only needs to quantize the azimuth component. Perform inverse quantization.

[0410] That is, the target reconstruction value of the azimuth component of the current node It is based on quantization and dequantization and Determined; and the target reconstruction value R of the depth component of the current node rec According to R res With R pred Determine the target reconstruction value i of the laser identification component of the current node rec It is based on i res with i pred For R and i, since no quantization and inverse quantization are performed, the reconstructed value R rec Same as the original value R, the reconstructed value i rec Same as the original value of i.

[0411] In some embodiments, for The calculation of , determining the target reconstruction value of the azimuth component of the current node according to the target prediction value and the target inverse quantization prediction residual of the azimuth component of the current node, may include:

[0412] Parse the code stream and determine the number of skip points between the current node and the parent node;

[0413] Get the scanning speed of the laser radar, multiply the number of skip points by the scanning speed, and get the target multiplication result;

[0414] An addition operation is performed based on the target inverse quantization prediction residual of the azimuth component of the current node, the target prediction value of the azimuth component of the current node, and the target multiplication result to determine the target reconstruction value of the azimuth component of the current node.

[0415] It should be noted that for The calculation not only takes into account the target inverse quantization prediction residual of the azimuth component of the current node and target prediction value The scanning speed of the lidar also needs to be taken into account And the number of skip points n between the parent node and the current node. The number of skip points n between the parent node and the current node can be obtained by parsing the code stream. Here, The calculation formula is as follows:

[0416]

[0417] R rec =R res +R pred (29)

[0418] i rec =i res +i pred (30)

[0419] In this way, after determining the reconstruction value of the current node in the cylindrical coordinate system, the position of the current node in the prediction tree structure can be determined according to the reconstruction value in the cylindrical coordinate system, so that the prediction tree structure can be reconstructed.

[0420] S1203: 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.

[0421] It should be noted that the target quantization parameter can be directly written into the bitstream, or the target quantization parameter index value can be written into the bitstream, and then the target quantization parameter is determined in combination with a preset quantization parameter table. In some embodiments, parsing the bitstream to determine the target quantization parameter of the current node may include:

[0422] Parse the bitstream and determine the target quantization parameter index value of the current node;

[0423] The target quantization parameter of the current node is determined according to the preset quantization parameter table and the target quantization parameter index value.

[0424] It should also be noted that in the embodiment of the present application, the target quantization index value can be represented by idx, and the preset quantization parameter table can be represented by deltaQTable. That is, a preset quantization parameter table deltaQTable can also be established in the decoder. Assuming that the size of the quantization parameter table is N, that is, the quantization parameter table includes N types of quantization parameters, where N is a positive integer; then the target quantization parameter QP = deltaQTable[idx].

[0425] It should also be noted that, in an embodiment of the present application, 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.

[0426] That is to say, by parsing the code stream, we can get the current node in the cylindrical coordinate system. You can also get the current node in the Cartesian coordinate system (Qxres 、Qy res 、Qz res ).

[0427] S1204: 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.

[0428] In an embodiment of the present application, 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:

[0429] 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; and / or,

[0430] Dequantization is performed 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 dequantization conversion residual of the current node in the second coordinate system.

[0431] In a specific embodiment, for the first 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:

[0432] 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.

[0433] That is to say, in the embodiment of the present application, The inverse quantization process can be based on The inverse quantization process is performed, that is, Alternatively, it can be an inverse quantization process based on the target quantization parameter QP, that is, Here, QP may be a quantization factor obtained by looking up a quantization parameter table, and is not specifically limited thereto.

[0434] It is also understandable that in the embodiment of the present application, the second coordinate system may include a first axis component, a second axis component, and a third axis component. For these three axis components, the same quantization parameter may be used for quantization processing, or different quantization parameters may be used for quantization processing.

[0435] In some embodiments, 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:

[0436] Performing inverse quantization processing on the target quantization conversion residual of the first axis component of the current node using the first quantization parameter to determine the target inverse quantization conversion residual of the first axis component of the current node;

[0437] Performing inverse quantization processing on the target quantization conversion residual of the second axis component of the current node using the second quantization parameter to determine the target inverse quantization conversion residual of the second axis component of the current node;

[0438] 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.

[0439] It should be noted that, in the embodiment of the present application, 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.

[0440] In a specific embodiment, the three quantization parameters can be directly obtained by parsing the bitstream. Therefore, in some embodiments, parsing the bitstream to determine the target quantization parameter of the current node can include: parsing the bitstream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.

[0441] In a specific embodiment, the three quantization parameters may be first obtained by parsing the bitstream to obtain quantization parameter index values, and then determined by searching a preset quantization parameter table. Therefore, in some embodiments, 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;

[0442] Determining a first quantization parameter according to the first quantization parameter array and the first quantization parameter index value;

[0443] Determine a second quantization parameter according to the second quantization parameter array and the second quantization parameter index value;

[0444] A third quantization parameter is determined according to the third quantization parameter array and the third quantization parameter index value.

[0445] In an embodiment of the present application, 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]. Wherein, 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, and 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.

[0446] That is to say, the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby completing the quantization of the three components x, y and z to different degrees, further improving the coding efficiency of geometric information.

[0447] S1205: 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.

[0448] S1206: Determine the reconstructed point cloud according to the target reconstruction value of the current node in the preset coordinate system.

[0449] It should be noted that, in the embodiment of the present application, 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:

[0450] Determine the target inverse quantization transformation residual of the current node in the second coordinate system and the target prediction value of the current node in the second coordinate system;

[0451] 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.

[0452] In a specific embodiment, the target reconstruction value of the current node in the second coordinate system is determined based on the target inverse quantization conversion residual and the target prediction value of the current node in the second coordinate system, including: adding the target inverse quantization conversion 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.

[0453] It should also be noted that in the embodiment of the present application, the points in the prediction tree structure are sequentially used as current nodes to determine the target reconstruction values ​​of the points in the prediction tree structure in the second coordinate system; based on the target reconstruction values ​​of the points in the prediction tree structure in the second coordinate system, the reconstructed point cloud corresponding to the prediction tree structure is determined. Here, the reconstructed point cloud refers to the reconstructed voxelized point cloud.

[0454] An embodiment of the present application provides a decoding method, which introduces a quantization parameter table deltaQTable 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 deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete the quantization of x, y and z to different degrees, and further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding and decoding performance of point clouds.

[0455] In another embodiment of the present application, see Figure 13A, which shows a schematic diagram of an encoder block diagram for constructing a prediction tree structure provided by an embodiment of the present application. As shown in Figure 13A, for the initial point cloud after voxelization, a reordering process is first performed, and then the coordinate transformation is performed according to the reordered point cloud (that is, from the Cartesian coordinate system to the cylindrical coordinate system), and then the prediction tree structure is established according to the point cloud in the cylindrical coordinate system. After the prediction tree structure is established, the point cloud will be pre-encoded point by point based on the prediction tree structure, and the target prediction mode (optimal prediction mode) of each point in the cylindrical coordinate system will be selected using the principle of minimum cost value, and the selected target prediction mode will be used to generate a prediction value; the cylindrical coordinate system of the current node will be predicted based on the prediction value to obtain a prediction residual; and the prediction residual will be Perform quantization and inverse quantization to determine the reconstructed value of the current node in the cylindrical coordinate system, and perform coordinate inverse transformation on the reconstructed value to obtain the predicted value of the current node in the Cartesian coordinate system; perform differential prediction based on the original value and predicted value of the current node in the Cartesian coordinate system to obtain the coordinate transformation residual of the current node in the Cartesian coordinate system, and write the coordinate transformation residual into the geometric bitstream.

[0456] See Figure 13B, which shows a schematic diagram of a decoder block diagram for reconstructing a prediction tree structure provided by an embodiment of the present application. As shown in Figure 13B, for a geometric bitstream, the target prediction mode can be determined by parsing the bitstream; a prediction value can be generated based on the target prediction mode; then, based on the prediction value and the prediction residual obtained by parsing the bitstream, the reconstruction value of the current node in the cylindrical coordinate system can be determined to reconstruct the prediction tree structure; the reconstructed value is subjected to an inverse coordinate transformation to obtain the prediction value of the current node in the Cartesian coordinate system; and then, based on the prediction value and the coordinate transformation residual obtained by parsing the bitstream, the reconstruction value of the current node in the Cartesian coordinate system can be determined. Through geometric reconstruction, a reconstructed point cloud can be obtained.

[0457] In a specific embodiment, a prediction tree structure is established based on KD-Tree, which is described in detail as follows:

[0458] At the encoding end, the input of the prediction tree structure is constructed: the voxelized point cloud; the output of the prediction tree structure is constructed: the geometric prediction value and prediction residual of the current node, the prediction mode adopted by the current node, the quantization parameter of the current node, the number of repeated points and the number of child nodes.

[0459] As shown in FIG13A , constructing a prediction tree structure can be divided into four steps: reordering, establishing a prediction tree structure, selecting a prediction mode, and generating a prediction value. Each of these steps is described below.

[0460] The first step is reordering.

[0461] Reorder the voxelized point cloud to build a more efficient prediction tree structure. Available sorting methods include random order, Morton order, azimuth order, radial distance order, etc. Currently, the default sorting method is azimuth order.

[0462] The first step is to build a prediction tree structure.

[0463] Throughout the entire process, the KD-Tree is used to perform nearest neighbor searches. At the beginning, the KD-Tree is empty. Each node is visited in sequence according to the selected order, and the K nearest neighbors of the current node are found in the KD-Tree using the current node's position. The nearest neighbors found are used as child nodes of the current node for prediction according to certain criteria:

[0464] The size of the geometric prediction residual of the current node;

[0465] The number of child nodes of the current node;

[0466] The frequency with which each prediction mode is selected.

[0467] Then, a new prediction mode is created based on the current node, and the position corresponding to each prediction mode is added to the KD-Tree. This process is repeated until all nodes are traversed and the entire prediction tree structure is established.

[0468] The third step is to select the prediction mode.

[0469] The prediction tree structure is built by traversing in depth-first order. Each node in the prediction tree structure can only be predicted by its ancestors. Based on this, various prediction strategies are possible. Therefore, the relevant technology sets the following four prediction modes:

[0470] Mode0: no prediction;

[0471] Mode 1: Delta prediction (i.e. p0);

[0472] Mode2: Linear prediction (i.e. 2p0-p1);

[0473] Mode3: Parallelogram prediction (i.e. p0+p1-p2).

[0474] Where p0, p1, and p2 are the positions of the parent node, grandparent node, and great-grandparent node of the current node, respectively. Encoding prediction is performed by selecting the best prediction mode for the current node.

[0475] The fourth step is to generate predicted values.

[0476] According to the selected prediction mode, the geometric position of each node in the prediction tree structure is predicted and the corresponding prediction value and prediction residual are generated. The geometric prediction of the point in the related art includes Cartesian coordinate prediction. The specific process is as follows:

[0477] If the current node is the root node of the prediction tree structure, the prediction mode selects Mode0, that is, the Cartesian coordinates of the current node are not predicted, and the corresponding Cartesian coordinate prediction value is (0, 0, 0);

[0478] If the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the Cartesian coordinates of the current node are reconstructed by the geometry of its parent node. Make predictions;

[0479] If the current node is not the root node of the prediction tree structure, and the prediction mode is Mode2 or Mode3, the Cartesian coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the Cartesian coordinates of the current node is

[0480] Using the best prediction mode of the current node, the Cartesian coordinates (x, y, z) of the current node are predicted, and the Cartesian coordinates (x, y, z) of the current node are predicted. Perform differential prediction and obtain the prediction residual (x res 、y res 、z res ).

[0481] therefore, That is the geometric prediction value of the current node, (x res 、y res 、z res ) is the geometric prediction residual of the current node. When performing geometric prediction coding based on the KD-Tree structure, each node first needs to encode the number of child nodes of the current node; then encode the prediction mode of the current node and the corresponding (x res 、y res 、z res ) prediction residual. Currently G_PCC is for (x res 、y res 、z res ) uses lossless arithmetic coding.

[0482] At the decoding end, the input of the reconstructed prediction tree structure is: decoded data (including the prediction mode adopted by the current node, the prediction residual of the current node, the quantization parameter of the current node, the number of repeated points, and the number of child nodes); the output of the reconstructed prediction tree structure is: the reconstructed voxelized point cloud.

[0483] As shown in Figure 13B, reconstructing the prediction tree structure can be divided into four steps: parsing the prediction model, generating prediction values, rebuilding the prediction tree, and reconstructing the geometric point cloud. Each of these steps is described below.

[0484] The first step is to generate predicted values.

[0485] The geometric coordinates of the current node are predicted based on the prediction mode adopted by the current node obtained by decoding and the reconstructed geometric coordinates of its ancestors, and the corresponding prediction values ​​are generated. The specific process is as follows:

[0486] If the current node is the root node of the prediction tree structure, the prediction mode selects Mode0, that is, the Cartesian coordinates of the current node are not predicted, and the corresponding Cartesian coordinate prediction value is (0, 0, 0);

[0487] If the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the Cartesian coordinates of the current node are reconstructed by the geometry of its parent node. Make predictions;

[0488] If the current node is not the root node of the prediction tree structure, and the prediction mode is Mode2 or Mode3, the Cartesian coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the Cartesian coordinates of the current node is

[0489] The second step is to reconstruct the geometric point cloud.

[0490] The Cartesian coordinate residual (x res 、y res 、z res ) and the predicted Cartesian coordinates of the current node Calculate the reconstructed Cartesian coordinates of the current node (x rec 、y rec 、z rec ), the specific formula is as follows:

[0491]

[0492] Finally, the reconstructed voxelized point cloud can be obtained.

[0493] In another specific embodiment, a prediction tree structure is established based on the laser radar calibration information, as described below:

[0494] On the encoding side, the input of the prediction tree structure is constructed: the voxelized point cloud and the prior information of the rotating lidar; the output of the prediction tree structure is constructed: the geometric prediction value and prediction residual of the current node, the prediction mode adopted by the current node, the quantization parameter of the current node, the number of repeated points and the number of child nodes, and the number of skipped points corresponding to each prediction mode.

[0495] As shown in Figure 13A, constructing the prediction tree structure can be divided into five steps: reordering, coordinate transformation, establishing the prediction tree, selecting the prediction mode, and generating the predicted value. Each of these steps is described below.

[0496] The first step is reordering.

[0497] Reorder the voxelized point cloud to build a more efficient prediction tree structure. The available sorting methods include random order, Morton order, azimuth order, and radial distance order. Currently, the default sorting method is sorting by azimuth. To this end, the Cartesian coordinates (x, y, z) of each node are converted to polar coordinates. And according to the azimuth The points are sorted by radius R and elevation tangent tanθ.

[0498] The second step is coordinate conversion.

[0499] Traverse the point cloud according to the sorted results and convert each point from Cartesian coordinates (x, y, z) to cylindrical coordinates according to the following formula And store it, as shown in Figure 9.

[0500] Among them, 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 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.

[0501] The third step is to establish the prediction tree structure.

[0502] The cylindrical coordinates of the point can be determined from the previous step Next, when building the prediction tree structure, if a point with LaserID i appears for the first time, it is treated as the root node for all points corresponding to LaserID i. If not, it is treated as a child node of a previously processed point with LaserID i. This process is repeated until all points have been traversed. Finally, the root nodes of all LaserIDs are connected to complete the prediction tree. Figure 10 illustrates the prediction tree structure for four lasers.

[0503] Step 4: Select the prediction mode.

[0504] The prediction tree structure is built by traversing in depth-first order. Each node in the tree can only be predicted by its ancestors. Based on this, various prediction strategies are possible. Therefore, the relevant technology sets the following four prediction modes:

[0505] Mode0: no prediction;

[0506] Mode 1: Delta prediction (i.e. p0);

[0507] Mode2: Linear prediction (i.e. 2p0-p1);

[0508] Mode3: Parallelogram prediction (i.e. p0+p1-p2).

[0509] Where p0, p1, and p2 are the positions of the parent node, grandparent node, and great-grandparent node of the current node, respectively. Encoding prediction is performed by selecting the best prediction mode for the current node.

[0510] The fifth step is to generate predicted values.

[0511] According to the selected prediction mode, the geometric position of each node in the tree is predicted and the corresponding prediction value and prediction residual are generated. The geometric prediction of points in related technologies includes cylindrical coordinate prediction and Cartesian coordinate prediction. The specific process is as follows:

[0512] If the current node is the root node of the prediction tree structure, the prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is where R min 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 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

[0513] If the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node. The prediction value of the cylindrical coordinate of the current node can be obtained by prediction The Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates

[0514] If the current node is not the root node of the prediction tree structure, and the prediction mode is Mode2 or Mode3, the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinates of the current node is Similarly, the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates

[0515] Using the best prediction mode of the current node to predict the cylindrical coordinates of the current node and calculate the residual, the corresponding prediction residual in the cylindrical coordinate system can be obtained. The Cartesian coordinates of the current node are predicted and the coordinate transformation residual is calculated to obtain the coordinate transformation residual (x res 、y res 、z res ).

[0516] It should be noted that the predicted value of the azimuth component of the current node It can be calculated according to the following formula:

[0517]

[0518] in, Indicates the predicted azimuth of the current node; n indicates the number of points that need to be skipped between the parent node and the current node according to the scanning speed. This parameter also needs to be written into the bitstream; Indicates the scanning speed of the lidar.

[0519] therefore, and is the geometric prediction value of the current node, and (x res 、y res 、z res ) is the geometric prediction residual of the current node. At this time, when performing geometric prediction coding for cat3-frame point clouds, each node first needs to encode the number of child nodes of the current node, and then encode the prediction mode of the current node, as well as the corresponding

[0520] and (x res 、y res 、z res ) prediction residual. Currently G_PCC is for Lossless coding can be used, and each node will be The component encodes the number of points n to be skipped. In addition, for the component (x res 、y res 、z res ) is quantized when the geometry is lossy, and the quantized prediction residual is arithmetically coded.

[0521] At the decoding end, the input of the reconstructed prediction tree structure is: decoded data (including the prediction mode adopted by the current node, the prediction residual of the current node, the quantization parameter of the current node, the number of repeated points, the number of child nodes, and the number of skipped points), and the prior information of the rotating lidar; the output of the reconstructed prediction tree structure is: the reconstructed voxelized point cloud.

[0522] As shown in Figure 13B, reconstructing the prediction tree structure can be divided into four steps: generating prediction values, reconstructing the prediction tree, inverse coordinate transformation, and reconstructing the geometric point cloud. Each of these steps is described below.

[0523] The first step is to generate predicted values

[0524] The cylindrical coordinates of the current node are predicted based on the prediction mode adopted by the current node obtained by decoding and the reconstructed cylindrical coordinates of its ancestors, and the corresponding predicted values ​​are generated. The specific process is as follows:

[0525] If the current node is the root node of the prediction tree structure, the prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is where Rmin 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 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

[0526] If the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node. The prediction value of the cylindrical coordinate of the current node can be obtained by prediction The Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates

[0527] If the current node is not the root node of the prediction tree structure, and the prediction mode is Mode2 or Mode3, the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinates of the current node is Similarly, the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates

[0528] Using the best prediction mode of the current node to predict the cylindrical coordinates of the current node and calculate the residual, the corresponding prediction residual in the cylindrical coordinate system can be obtained. Use the original Cartesian coordinates (x, y, z) of the current node and the predicted Cartesian coordinates Perform differential prediction to obtain the coordinate transformation residual (x res 、y res 、z res ).

[0529] It should be noted that the predicted value of the azimuth of the current node It can be calculated according to the above formula (32). Indicates the predicted azimuth of the current node; n indicates the number of points that need to be skipped between the parent node and the current node according to the scanning speed. This parameter also needs to be written into the bitstream; Indicates the scanning speed of the lidar.

[0530] The second step is to rebuild the prediction tree structure.

[0531] The cylindrical coordinate prediction value of the current node can be obtained through the previous step Next, use the cylindrical coordinate residual obtained by decoding according to the following formula and the predicted cylindrical coordinates of the current node Calculate the reconstructed cylindrical coordinates of the current node in,

[0532] In this way, after obtaining the reconstructed cylindrical coordinates of the current node, we can further Determine the position of the current node in the prediction tree structure, and thus reconstruct the prediction tree structure.

[0533] The third step is the inverse coordinate transformation.

[0534] The reconstructed cylindrical coordinates of the current node Convert to Cartesian coordinates according to the following formula This is the predicted Cartesian coordinate of the current node. The coordinate inverse transformation formula is as shown in the above equations (13) to (15).

[0535] The fourth step is to reconstruct the geometric point cloud.

[0536] Using the decoded Cartesian coordinate residual (x res 、y res 、z res ) and the predicted Cartesian coordinates of the current node The reconstructed Cartesian coordinates (x, y, z) of the current node can be calculated, and the specific formula is as shown in the above formula (31).

[0537] Finally, the reconstructed voxelized point cloud can be obtained.

[0538] In short, in the embodiment of the present application, when encoding geometric information, the encoding end improves the coding efficiency of the point cloud geometric information by estimating the bits consumed by each prediction mode corresponding to all the information to be encoded. 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 residual, which can improve the coding efficiency of the geometric information of the point cloud. In the prediction tree coding of G-PCC, since only the azimuth component is currently Adaptive quantization can be obtained through the relationship between the cylindrical coordinate system and the Cartesian coordinate system: The difference only affects the coordinate transformation residuals of the x and y components, so here we can only count the bitstreams of the x and y components. In this way, when selecting the target prediction mode on the encoder side, by considering the bitstream required for all the information required to be encoded in each prediction mode, we can ensure that the target prediction mode ultimately selected is the one that consumes the least bitstream, thereby effectively improving the efficiency of geometric information encoding of the point cloud.

[0539] In another specific embodiment, the embodiment of the present application can further optimize the prediction tree coding scheme.

[0540] At the encoding end, by evaluating the bitstream size required for each prediction mode when performing rate-distortion optimization for each prediction mode, an optimal prediction mode is selected to predict the geometry information of the current node. Based on this, a pre-defined 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 Initialized to INF, bestMode represents the selected target prediction mode, and bestQP represents the selected target quantization parameter.

[0541] For the above process, the specific algorithm is as follows:

[0542]

[0543] Among them, ModeCount represents the total number of prediction modes; different prediction values ​​R can be obtained according to different prediction modes. pred and The relationship between the cylindrical coordinate system and the Cartesian coordinate system is used to obtain the inverse transformation coordinates of the current point in the Cartesian coordinate system, thereby obtaining the coordinate transformation residual.

[0544] In the embodiment of the present application, a quantization parameter table deltaQTable is introduced to select different quantization parameters to quantize the coordinate transformation residual, and different Qx can be obtained. res 、Qy res and Qz res On the encoder side, different reconstruction distortion values ​​D are calculated for each different quantization parameter, and RO_estimate() is used to estimate the bitstream of the information to be encoded, ultimately resulting in a comprehensive cost factor. By selecting the optimal cost factor (including the target prediction mode and target quantization parameter) on the encoder side, geometric prediction coding for the current node is completed.

[0545] At the decoding end, when parsing the geometric information of the current node, 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 of the current node can be obtained. pred and Secondly, the R of the current node res 、 Analyze and use the following formula to get the geometric information of the current node:

[0546] R rec =R pred +Rres

[0547]

[0548]

[0549]

[0550]

[0551] z rec =R rec *tan(θ(i))-zLaser(i)

[0552] Again, the quantization parameter of the current node is parsed to obtain the quantization residual value of the current node, and the coordinate transformation residual Qx of the current node is obtained by parsing. res 、Qy res and Qz res Finally, the following formula is used to reconstruct the geometric information of the current node in the Cartesian coordinate system:

[0553] Invx res =Qx res *QP

[0554] Invy res =Qy res *QP

[0555] Invz res =Qz res *QP

[0556]

[0557]

[0558]

[0559] This allows the reconstruction of the entire point cloud geometry. Furthermore, the prediction tree coding scheme is further optimized. In addition to introducing the quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residuals of each node, the quantization parameter table is further updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y], and deltaQTable[z], thereby completing the quantization of the x, y, and z components to varying degrees, further improving the coding efficiency of geometric information.

[0560] In the embodiments of the present application, the specific implementation of the aforementioned embodiments is elaborated in detail through the above embodiments. It can be seen that according to the technical solution of the aforementioned embodiments, considering the influence of the prediction residual quantization of the cylindrical coordinate component on the Cartesian coordinate conversion residual, when selecting each prediction Mode at the encoding end, the influence of the coordinate conversion residual component code stream is further considered, so that the prediction mode Mode finally selected can be the optimal prediction mode, which can further improve the encoding efficiency of the geometric information.

[0561] In yet another embodiment of the present application, based on the same inventive concept as the aforementioned embodiment, referring to FIG14 , a schematic diagram of the structure of an encoder provided in an embodiment of the present application is shown. As shown in FIG14 , the encoder 140 may include: a first determining unit 1401, a pre-encoding unit 1402, an encoding unit 1403, a reordering unit 1404, a first quantization unit 1405, and a first inverse quantization unit 1406.

[0562] In a specific embodiment, the first determining unit 1401 is configured to determine a prediction tree structure corresponding to the initial point cloud;

[0563] The precoding unit 1402 is configured to perform precoding processing on a current node of the prediction tree structure using multiple prediction modes, and determine precoding information for each of the multiple prediction modes; wherein the precoding information includes at least: the prediction mode, 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;

[0564] The first determining unit 1401 is further configured to determine a target prediction mode from among the multiple prediction modes according to the respective precoding information of the multiple prediction modes;

[0565] The encoding unit 1403 is configured to perform encoding processing on the current node according to the target prediction mode, determine encoding information of the current node, and write the encoding information into the bitstream.

[0566] In some embodiments, the first determination unit 1401 is further configured to obtain an initial point cloud in a second coordinate system; and perform coordinate transformation on the points in the initial point cloud to obtain a processed point cloud in a first coordinate system; and establish a prediction tree structure based on the processed point cloud in the first coordinate system.

[0567] In some embodiments, the reordering unit 1404 is further configured to perform a reordering process on the initial point cloud before performing coordinate transformation on the points in the initial point cloud.

[0568] In some embodiments, the precoding unit 1402 is further configured to perform prediction processing on the current node using the candidate prediction mode 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 conversion 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 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; wherein the candidate prediction mode is any one of a plurality of prediction modes.

[0569] In some embodiments, the first coordinate system includes an azimuth component, a depth component and a laser identification component; accordingly, the precoding unit 1402 is further configured to determine the prediction residual of the azimuth component of the current node based on the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and to determine the prediction residual of the depth component of the current node based on the original value of the depth component of the current node and the predicted value of the depth component of the current node; and to determine the prediction residual of the laser identification component of the current node based on 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.

[0570] In some embodiments, the precoding unit 1402 is further configured to determine the initial prediction residual of the azimuth component of the current node based on the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and obtain the scanning speed of the lidar, and determine the number of skip points between the current node and the parent node based on the initial prediction residual of the azimuth component of the current node and the scanning speed; and determine the prediction residual of the azimuth component of the current node based on the initial prediction residual, the number of skip points and the scanning speed of the azimuth component of the current node.

[0571] In some embodiments, the precoding unit 1402 is further configured to perform a division operation on the initial prediction residual of the azimuth component of the current node and the scanning speed to obtain a division result; and round the division result to obtain the number of skip points; and perform a multiplication operation on the number of skip points and the scanning speed to obtain a multiplication result; and perform a subtraction operation on the initial prediction residual of the azimuth component of the current node and the multiplication result to obtain the prediction residual of the azimuth component of the current node.

[0572] In some embodiments, the precoding unit 1402 is further configured to determine the reconstructed value of the azimuth component of the current node based on the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and to determine the reconstructed value of the depth component of the current node based on the prediction residual of the depth component of the current node and the predicted value of the depth component of the current node; and to determine the reconstructed value of the laser identification component of the current node based on the prediction residual of the laser identification component of the current node and the predicted value of the laser identification component of the current node.

[0573] In some embodiments, the first quantization unit 1405 is configured to perform quantization processing on the prediction residual of the azimuth component of the current node to obtain the quantized prediction residual of the azimuth component of the current node;

[0574] A first dequantization unit 1406 is configured to perform dequantization processing on the quantized prediction residual of the azimuth component of the current node to obtain a dequantized prediction residual of the azimuth component of the current node;

[0575] The first determining unit 1401 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.

[0576] In some embodiments, the precoding unit 1402 is further configured to perform a multiplication operation based on the number of skip points and the scanning speed to obtain a multiplication result; and to perform an addition operation based on the inverse quantization prediction residual of the azimuth component of the current node, the predicted value of the azimuth component of the current node and the multiplication result to determine the reconstructed value of the azimuth component of the current node.

[0577] In some embodiments, the second coordinate system includes a first axis component, a second axis component, and a third axis component; accordingly, the precoding unit 1402 is further configured to perform an inverse coordinate transformation based on the reconstructed value of the azimuth component of the current node and the reconstructed value of the depth component of the current node to obtain a predicted value of the first axis component of the current node and a predicted value of the second axis component of the current node; and perform an inverse coordinate transformation based on the reconstructed value of the depth component of the current node and the reconstructed value of the laser marking component of the current node to obtain a predicted value of the third axis component of the current node;

[0578] The first determination unit 1401 is further 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.

[0579] In some embodiments, the first determination unit 1401 is further configured to determine the candidate prediction mode, the prediction residual of the current node in the first coordinate system, 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 as the precoding information of the candidate prediction mode; or, to determine the candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate conversion residual of the first axis component of the current node, and the coordinate conversion residual of the second axis component of the current node as the precoding information of the candidate prediction mode.

[0580] In some embodiments, the first determination unit 1401 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 a 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.

[0581] In some embodiments, the multiple prediction modes include a first prediction mode, a second prediction mode, a third prediction mode and a fourth prediction mode; accordingly, the first determination unit 1401 is further configured to determine that the target prediction mode is the first prediction mode if the current node is a root node; and if the current node is not the root node and the root node is the parent node of the current node, determine the target prediction mode to be the second prediction mode; and if the current node is not the root node and the root node is the grandparent node of the current node, determine the target prediction mode from the first prediction mode, the second prediction mode and the third prediction mode; and if the current node is not the root node and the root node is the great-grandparent node of the current node, determine the target prediction mode from the first prediction mode, the second prediction mode, the third prediction mode and the fourth prediction mode.

[0582] In some embodiments, the encoding unit 1403 is further configured to perform prediction processing on the current node according to the target prediction mode 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 based on 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 based on the target prediction residual of the current node in the first coordinate system; and perform coordinate inverse conversion 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; and determine the target coordinate conversion 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 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 and the target coordinate conversion residual of the current node in the second coordinate system.

[0583] In some embodiments, the encoding unit 1403 is further configured to encode 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 write the obtained encoding bits into the bitstream.

[0584] In some embodiments, the encoding unit 1403 is further configured to determine the number of skip points between the current node and the parent node in the target prediction mode; and encode the number of skip points and write the obtained encoding bits into the bitstream.

[0585] In another specific embodiment, the first determining unit 1401 is configured to determine a prediction tree structure corresponding to the initial point cloud;

[0586] The precoding unit 1402 is configured to perform precoding processing on a current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters, and determine precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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;

[0587] The first determining unit 1401 is further configured to determine a target prediction mode and a target quantization parameter from the plurality of parameter combinations according to the respective precoding information of the plurality of parameter combinations;

[0588] The encoding unit 1403 is configured to 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.

[0589] In some embodiments, the precoding unit 1402 is further configured to perform precoding processing on the current node using the candidate prediction mode to determine a prediction residual of the current node in a preset coordinate system;

[0590] The first quantization unit 1405 is configured to quantize 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;

[0591] The first determination unit 1401 is further 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.

[0592] In some embodiments, the precoding unit 1402 is further configured to determine the candidate quantization parameter index value corresponding to the candidate quantization parameter based on a preset quantization parameter table and the candidate quantization parameter; and determine the candidate quantization parameter index value as precoding information of the candidate parameter combination; wherein the preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.

[0593] In some embodiments, the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; accordingly, the precoding unit 1402 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.

[0594] In some embodiments, the precoding unit 1402 is further configured to perform precoding processing on the current node using the candidate prediction mode, and 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;

[0595] The first quantization unit 1405 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 to determine the quantization transformation residual of the current node in the second coordinate system;

[0596] The first determining unit 1401 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.

[0597] In some embodiments, the first determination unit 1401 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 the target prediction mode and the target quantization parameter based on the parameter combination corresponding to the minimum rate-distortion cost value.

[0598] In some embodiments, the first determination unit 1401 is further configured to determine the reconstructed value of the current node in the second coordinate system under the candidate parameter combination; and determine the 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 code stream 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 code stream estimation value corresponding to the candidate parameter combination; and perform rate-distortion cost calculation based on the distortion value and the code stream 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.

[0599] In some embodiments, the first determining unit 1401 is further configured to determine a 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 an inverse coordinate transformation based on 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 determine a 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 predicted value of the current node in the second coordinate system;

[0600] The first quantization unit 1405 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 to determine the quantization transformation residual of the current node in the second coordinate system;

[0601] The first inverse quantization unit 1406 is configured to perform inverse quantization processing on the quantization conversion residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the inverse quantization conversion residual of the current node in the second coordinate system; and 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.

[0602] In some embodiments, the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the first quantization unit 1405 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.

[0603] In some embodiments, the preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array; accordingly, the precoding unit 1402 is further configured to determine a first candidate quantization parameter index value corresponding to the candidate quantization parameter based on the first quantization parameter array and the first candidate quantization parameter; and determine a second candidate quantization parameter index value corresponding to the candidate quantization parameter based on the second quantization parameter array and the second candidate quantization parameter; and determine a second candidate quantization parameter index value corresponding to the candidate quantization parameter based on 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 a 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 a mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter index values, and the third quantization parameter array is used to indicate a mapping relationship between multiple quantization parameters corresponding to the third axis component and multiple quantization parameter index values.

[0604] In some embodiments, the encoding unit 1403 is further configured 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 according to the target prediction mode; and to quantize 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 to 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.

[0605] In some embodiments, the encoding unit 1403 is further configured to determine the target prediction value of the azimuth component of the current node and the target prediction value of the depth component of the current node according to the target prediction mode; and determine the prediction residual value 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; and quantize the prediction residual value of the azimuth component of the current node according to the target quantization parameter to determine the quantized residual value of the azimuth component of the current node; and determine the prediction residual value 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 quantized residual value of the azimuth component of the current node and the prediction residual value of the depth component of the current node as the target prediction residual of the current node in the first coordinate system.

[0606] In some embodiments, the encoding unit 1403 is further configured to encode the target prediction mode, the target quantization parameter, the prediction residual value of the depth component of the current node, the 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.

[0607] In some embodiments, the encoding unit 1403 is further 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 to encode the target prediction mode, the target quantization parameter index value, the prediction residual value of the depth component of the current node, the 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.

[0608] It is understandable that in the embodiments of the present application, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and of course it can also be a module, or it can be non-modular. Moreover, the various 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 a single unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional modules.

[0609] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, or the portion that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0610] Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 140. The computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, it implements the method described in any one of the aforementioned embodiments.

[0611] Based on the composition of the encoder 140 and the computer-readable storage medium, refer to Figure 15, which shows a specific hardware structure diagram of the encoder 140 provided in an embodiment of the present application. As shown in Figure 15, the encoder 140 may include: a first communication interface 1501, a first memory 1502 and a first processor 1503; each component is coupled together through a first bus system 1504. It can be understood that the first bus system 1504 is used to achieve connection and communication between these components. In addition to the data bus, the first bus system 1504 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the first bus system 1504 in Figure 15. Among them,

[0612] The first communication interface 1501 is used to receive and send signals when sending and receiving information with other external network elements;

[0613] A first memory 1502 is used to store computer programs that can be run on the first processor 1503;

[0614] The first processor 1503 is configured to, when running the computer program, execute:

[0615] Determine the prediction tree structure corresponding to the initial point cloud;

[0616] Performing precoding processing on a current node of a prediction tree structure using multiple prediction modes to determine precoding information for each of the multiple prediction modes; wherein the precoding 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;

[0617] determining a target prediction mode among the multiple prediction modes according to respective precoding information of the multiple prediction modes;

[0618] The current node is coded according to the target prediction mode, the coding information of the current node is determined, and the coding information is written into the bitstream.

[0619] Alternatively, the first processor 1503 is further configured to, when running the computer program, execute:

[0620] Determine the prediction tree structure corresponding to the initial point cloud;

[0621] performing precoding processing on a current node of a prediction tree structure using multiple prediction modes and multiple quantization parameters, and determining precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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;

[0622] Determining a target prediction mode and a target quantization parameter among the plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;

[0623] 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.

[0624] It is understood that the first memory 1502 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. Among them, 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. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The first memory 1502 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0625] The first processor 1503 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits or software instructions in the first processor 1503. The above-mentioned first processor 1503 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the first memory 1502 , and the first processor 1503 reads the information in the first memory 1502 and completes the steps of the above method in combination with its hardware.

[0626] It is to be understood that these embodiments described in the present application can be implemented with hardware, software, firmware, middleware, microcode or its combination.For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable logic device (Programmable Logic Device, PLD), field programmable gate array (Field-Programmable Gate Array, FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic units for performing functions described in the present application or its combination.For software implementation, the technology described in the present application can be realized by the module (such as process, function etc.) that performs functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0627] Optionally, as another embodiment, the first processor 1503 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.

[0628] This embodiment provides an encoder, in which, when selecting the best target prediction mode for the current node, the target prediction mode is selected by statistically analyzing 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.

[0629] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see FIG16 , which shows a schematic diagram of the structure of a decoder 160 provided in an embodiment of the present application. As shown in FIG16 , the decoder 160 may include: a parsing unit 1601, a second determining unit 1602, and a second inverse quantization unit 1603; wherein,

[0630] The parsing unit 1601 is configured to parse the bitstream and determine the target prediction mode of the current node;

[0631] The second determining unit 1602 is configured to determine a target prediction value of the current node in a preset coordinate system according to the target prediction mode;

[0632] The parsing unit 1601 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;

[0633] The second inverse quantization unit 1603 is configured to perform inverse quantization 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 inverse quantization prediction residual of the current node in the preset coordinate system;

[0634] The second determination unit 1501 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.

[0635] In some embodiments, the second determining unit 1602 is further configured to perform prediction processing on the current node according to the target prediction mode to determine a target prediction value of the current node in the first coordinate system;

[0636] The parsing unit 1601 is further configured to parse the bitstream and determine the target prediction residual of the current node in the first coordinate system;

[0637] The second determination unit 1602 is further 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.

[0638] In some embodiments, the parsing unit 1601 is further configured to parse the code stream to determine a target quantized prediction residual of the azimuth component of the current node, a target prediction residual of the depth component of the current node, and a target prediction residual of the laser marking component of the current node;

[0639] The second determination unit 1602 is further configured to perform inverse quantization processing on the target quantized prediction residual of the azimuth component of the current node to obtain the target inverse quantized prediction residual of the azimuth component of the current node; and determine the target reconstruction value of the azimuth component of the current node based on the target prediction value and target inverse quantized prediction residual of the azimuth component of the current node; and determine the target reconstruction value of the depth component of the current node based on the target prediction value and target prediction residual of the depth component of the current node; and determine the target reconstruction value of the laser identification component of the current node based on the target prediction value and target prediction residual of the laser identification component of the current node.

[0640] In some embodiments, the parsing unit 1601 is further configured to parse the code stream to determine the number of skip points between the current node and the parent node;

[0641] The second determination unit 1602 is also configured to obtain the scanning speed of the laser radar, perform a multiplication operation on the scanning speed according to the number of skipped points, and obtain a target multiplication result; and perform an addition operation on the target inverse quantization prediction residual of the azimuth component of the current node, the target prediction value of the azimuth component of the current node, and the target multiplication result to determine the target reconstruction value of the azimuth component of the current node.

[0642] In some embodiments, the parsing unit 1601 is further configured to parse the code stream to determine the target quantization parameter index value of the current node; and determine the target quantization parameter of the current node according to a preset quantization parameter table and the target quantization parameter index value.

[0643] In some embodiments, 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 1603 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.

[0644] In some embodiments, the second dequantization unit 1603 is further configured to perform dequantization processing on the target quantized prediction residual of the azimuth component of the current node according to the target quantization parameter to obtain the target dequantized prediction residual of the azimuth component of the current node.

[0645] In some embodiments, the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the second dequantization unit 1603 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.

[0646] In some embodiments, the parsing unit 1601 is further configured to parse the code stream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.

[0647] In some embodiments, 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 1601 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;

[0648] The second determination unit 1602 is further configured to determine the first quantization parameter based on the first quantization parameter array and the first quantization parameter index value; and determine the second quantization parameter based on the second quantization parameter array and the second quantization parameter index value; and determine the third quantization parameter based on 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.

[0649] It is understood that in this embodiment, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular system. Furthermore, the various components in this embodiment can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit. The aforementioned integrated units can be implemented in the form of hardware or software functional modules.

[0650] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer-readable storage medium for use in decoder 160. The computer-readable storage medium stores a computer program that, when executed by a second processor, implements any of the methods described in the aforementioned embodiments.

[0651] Based on the composition of the decoder 160 and the computer-readable storage medium, refer to Figure 17, which shows a specific hardware structure diagram of the decoder 160 provided in an embodiment of the present application. As shown in Figure 17, the decoder 160 may include: a second communication interface 1701, a second memory 1702 and a second processor 1703; each component is coupled together through a second bus system 1704. It can be understood that the second bus system 1704 is used to achieve connection and communication between these components. In addition to the data bus, the second bus system 1704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the second bus system 1704 in Figure 17. Among them,

[0652] The second communication interface 1701 is used to receive and send signals when sending and receiving information with other external network elements;

[0653] The second memory 1702 is used to store computer programs that can be run on the second processor 1703;

[0654] The second processor 1703 is configured to, when running the computer program, execute:

[0655] Parse the bitstream and determine the target prediction mode of the current node;

[0656] According to the target prediction mode, determine the target prediction value of the current node in the preset coordinate system;

[0657] Parse the bitstream to determine the target quantization parameter of the current node and the target quantization prediction residual of the current node in the preset coordinate system;

[0658] Dequantizing 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;

[0659] Determining a target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual of the current node in the preset coordinate system and the target prediction value;

[0660] Determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.

[0661] Optionally, as another embodiment, the second processor 1703 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.

[0662] It can be understood that the hardware functions of the second memory 1702 and the first memory 1502 are similar, and the hardware functions of the second processor 1703 and the first processor 1503 are similar; they will not be described in detail here.

[0663] This embodiment provides a decoder, in which the coordinate transformation residual of each node is adaptively quantized by introducing a quantization parameter table, thereby improving the coding 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 the quantization of x, y, and z to different degrees, and further improve the coding and decoding efficiency of geometric information, thereby improving the coding and decoding performance of point clouds.

[0664] In yet another embodiment of the present application, referring to FIG18 , a schematic diagram of the structure of a coding and decoding system provided by an embodiment of the present application is shown. As shown in FIG18 , the coding and decoding system 180 may include an encoder 1801 and a decoder 1802 .

[0665] In the embodiment of the present application, the encoder 1801 may be the encoder described in any one of the aforementioned embodiments, and the decoder 1802 may be the decoder described in any one of the aforementioned embodiments.

[0666] It should be noted that, in this application, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0667] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0668] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0669] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0670] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0671] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims. Industrial Applicability

[0672] In an embodiment of the present application, a prediction tree structure corresponding to an initial point cloud is determined; a current node of the prediction tree structure is pre-encoded using a plurality of prediction modes to determine respective pre-encoding information of the plurality of prediction modes; wherein the pre-encoding 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 in the plurality of prediction modes according to respective pre-encoding information of the plurality of prediction modes; the current node is encoded according to the target prediction mode to determine encoding information of the current node, and the encoding information is written into the bitstream; in this way, when counting the pre-encoding information corresponding to each prediction mode, not only the prediction mode and the current node are considered. The prediction residual in the first coordinate system also takes into account the influence of the coordinate conversion residual of the first coordinate system on the second coordinate system, so that when the code stream is estimated according to the pre-coding information, the accuracy of the code stream estimation in each prediction mode can be improved, thereby making the selected optimal prediction mode more accurate, which can improve the coding efficiency of the geometric information; in addition, when counting the pre-coding information corresponding to each prediction mode, the influence of different quantization parameters on the coordinate conversion residual can also be considered. In this way, when the code stream is estimated according to the pre-coding information, the optimal 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.

Claims

1. A coding method, applied to an encoder, comprising: Determine the prediction tree structure corresponding to the initial point cloud; Performing precoding processing on a current node of the prediction tree structure using multiple prediction modes to determine precoding information for each of the multiple prediction modes; wherein the precoding information includes at least: the 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; determining a target prediction mode among the multiple prediction modes according to respective precoding information of the multiple prediction modes; The current node is coded according to the target prediction mode, coding information of the current node is determined, and the coding information is written into a bitstream.

2. The method according to claim 1, wherein Determining the prediction tree structure corresponding to the initial point cloud includes: Acquire an initial point cloud in the second coordinate system; Performing coordinate transformation on the points in the initial point cloud to obtain a processed point cloud in the first coordinate system; The prediction tree structure is established according to the processed point cloud in the first coordinate system.

3. The method according to claim 2, wherein: The method further comprises: Before performing coordinate transformation on the points in the initial point cloud, the initial point cloud is reordered.

4. The method according to claim 1, wherein The precoding process is performed on the current node of the prediction tree structure using multiple prediction modes to determine the precoding information of each of the multiple prediction modes, including: Performing prediction processing on the current node using the candidate prediction mode to obtain a predicted value of the current node in a first coordinate system; Determining a prediction residual of the current node in the first coordinate system according to an original value of the current node in the first coordinate system and a predicted value of the current node in the first coordinate system; Determining 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; Performing an inverse coordinate transformation based on 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; Determining a coordinate transformation residual of the current node in the second coordinate system according to an original value of the current node in the second coordinate system and a predicted value of the current node in the second coordinate system; Determining precoding information of the candidate prediction mode according to the candidate prediction mode, 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 candidate prediction mode is any one of the multiple prediction modes.

5. The method according to claim 4, wherein The first coordinate system includes an azimuth component, a depth component, and a laser marking component; The determining, 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, a prediction residual of the current node in the first coordinate system includes: Determining a 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; Determining a 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 prediction residual of the laser marking component of the current node is determined according to the original value of the laser marking component of the current node and the predicted value of the laser marking component of the current node.

6. The method according to claim 5, wherein: The determining, 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, a prediction residual of the azimuth component of the current node, comprises: Determining 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; Obtaining a scanning speed of a laser radar, and determining the number of skip points between the current node and a parent node according to an initial prediction residual of the azimuth component of the current node and the scanning speed; The prediction residual of the azimuth component of the current node is determined according to the initial prediction residual of the azimuth component of the current node, the number of skipped points, and the scanning speed.

7. The method according to claim 6, wherein: The determining, based on the initial prediction residual of the azimuth component of the current node and the scanning speed, the number of skip points between the current node and the parent node comprises: Performing a division operation on the initial prediction residual of the azimuth component of the current node and the scanning speed to obtain a division result; Rounding the division result to obtain the skip point number; The determining, according to the initial prediction residual of the azimuth component of the current node, the number of skipped points, and the scanning speed, the prediction residual of the azimuth component of the current node comprises: Performing a multiplication operation on the number of skip points and the scanning speed to obtain a multiplication result; A subtraction operation is performed on the initial prediction residual of the azimuth component of the current node and the multiplication result to obtain the prediction residual of the azimuth component of the current node.

8. The method according to claim 6, wherein: Determining 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 includes: Determining a reconstructed value of the azimuth component of the current node according to a prediction residual of the azimuth component of the current node and a predicted value of the azimuth component of the current node; Determining a reconstructed value of the depth component of the current node according to the prediction residual of the depth component of the current node and the predicted value of the depth component of the current node; A reconstructed value of the laser marking component of the current node is determined according to the prediction residual of the laser marking component of the current node and the predicted value of the laser marking component of the current node.

9. The method according to claim 8, wherein The determining, based on the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node, a reconstructed value of the azimuth component of the current node includes: quantizing the prediction residual of the azimuth component of the current node to obtain a quantized prediction residual of the azimuth component of the current node; Performing inverse quantization processing on the quantized prediction residual of the azimuth component of the current node to obtain an inverse quantized prediction residual of the azimuth component of the current node; A reconstructed value of the azimuth component of the current node is determined 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.

10. The method according to claim 9, wherein: The determining, based on 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, a reconstructed value of the azimuth component of the current node, includes: Performing a multiplication operation on the number of skip points and the scanning speed to obtain a multiplication result; An addition operation is performed based on the inverse quantized prediction residual of the azimuth component of the current node, the predicted value of the azimuth component of the current node, and the multiplication result to determine the reconstructed value of the azimuth component of the current node.

11. The method according to claim 5, wherein: The second coordinate system includes a first axis component, a second axis component and a third axis component; The performing coordinate inverse 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 includes: Performing 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 to obtain a predicted value of the first axis component of the current node and a predicted value of the second axis component of the current node; Performing coordinate inverse transformation according to the reconstructed value of the depth component of the current node and the reconstructed value of the laser marking component of the current node to obtain a predicted value of the third axis component of the current node; The determining, 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, a coordinate transformation residual of the current node in the second coordinate system includes: Determining a coordinate transformation residual of the first axis component of the current node according to 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; Determining a coordinate transformation residual of the second axis component of the current node according to 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; A 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.

12. The method according to claim 11, wherein The determining, according to the candidate prediction mode, a prediction residual of the current node in the first coordinate system, and a coordinate conversion residual of the current node in the second coordinate system, precoding information of the candidate prediction mode includes: Determine the candidate prediction mode, the prediction residual of the current node in the first coordinate system, 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 as precoding information of the candidate prediction mode; or The candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate conversion residual of the first axis component of the current node and the coordinate conversion residual of the second axis component of the current node are determined as precoding information of the candidate prediction mode.

13. The method according to claim 1, wherein The determining a target prediction mode from among the multiple prediction modes according to respective precoding information of the multiple prediction modes includes: determining rate-distortion cost values ​​corresponding to the multiple prediction modes according to the respective precoding information of the multiple prediction modes; A minimum rate-distortion cost value is determined among the rate-distortion cost values ​​corresponding to the multiple prediction modes, and the prediction mode corresponding to the minimum rate-distortion cost value is used as the target prediction mode.

14. The method according to claim 13, wherein The multiple prediction modes include a first prediction mode, a second prediction mode, a third prediction mode and a fourth prediction mode; The method further comprises: If the current node is a root node, determining that the target prediction mode is the first prediction mode; If the current node is not a root node and the root node is a parent node of the current node, determining that the target prediction mode is the second prediction mode; If the current node is not a root node and the root node is a grandparent node of the current node, determining the target prediction mode from the first prediction mode, the second prediction mode, and the third prediction mode; If the current node is not a root node and the root node is a great-grandfather node of the current node, the target prediction mode is determined from the first prediction mode, the second prediction mode, the third prediction mode, and the fourth prediction mode.

15. The method according to claim 1, wherein The performing encoding processing on the current node according to the target prediction mode to determine encoding information of the current node includes: Performing prediction processing on the current node according to the target prediction mode to determine a target prediction value of the current node in a first coordinate system; Determining a target prediction residual of the current node in the first coordinate system according to an original value of the current node in the first coordinate system and a target prediction value of the current node in the first coordinate system; Determining a target reconstruction value of the current node in the first coordinate system according to a target prediction residual of the current node in the first coordinate system; Performing 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; Determining a target coordinate transformation residual of the current node in the second coordinate system according to an original value of the current node in the second coordinate system and a target predicted value of the current node in the second coordinate system; 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.

16. The method according to claim 15, wherein The method further comprises: 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 are encoded, and the obtained encoding bits are written into a bitstream.

17. The method according to claim 15, wherein: The method further comprises: In the target prediction mode, determining the number of skip points between the current node and the parent node; The skip point number is encoded, and the obtained encoded bits are written into a bitstream.

18. A decoding method, applied to a decoder, comprising: Parse the bitstream and determine the target prediction mode of the current node; Determining a target prediction value of the current node in a preset coordinate system according to the target prediction mode; Parsing the bitstream to determine a target quantization parameter of the current node and a target quantization prediction residual of the current node in a preset coordinate system; 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; Determining 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; The reconstructed point cloud is determined according to the target reconstruction value of the current node in the preset coordinate system.

19. The method according to claim 18, wherein The determining, according to the target prediction mode, a target prediction value of the current node in a preset coordinate system includes: Performing prediction processing on the current node according to the target prediction mode to determine a target prediction value of the current node in a first coordinate system; Parsing the bitstream to determine the target prediction residual of the current node in the first coordinate system; Determining a 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; A coordinate inverse transformation is performed 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.

20. The method according to claim 19, wherein The parsing of the bitstream to determine the target prediction residual of the current node in the first coordinate system includes: Parsing the bitstream to determine a target quantized prediction residual of the azimuth component of the current node, a target prediction residual of the depth component of the current node, and a target prediction residual of the laser marking component of the current node; Determining a 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 includes: Performing inverse quantization processing on the target quantized prediction residual of the azimuth component of the current node to obtain the target inverse quantized prediction residual of the azimuth component of the current node; Determining a target reconstruction value of the azimuth component of the current node according to the target prediction value of the azimuth component of the current node and the target inverse quantized prediction residual; Determining a target reconstruction value of the depth component of the current node according to the target prediction value and the target prediction residual of the depth component of the current node; A target reconstruction value of the laser identification component of the current node is determined according to the target prediction value and the target prediction residual of the laser identification component of the current node.

21. The method according to claim 20, wherein The determining, according to the target predicted value of the azimuth component of the current node and the target inverse quantized prediction residual, a target reconstructed value of the azimuth component of the current node, comprises: Parse the code stream to determine the number of skip points between the current node and the parent node; Obtaining a scanning speed of the laser radar, performing a multiplication operation on the scanning speed according to the number of skip points, and obtaining a target multiplication result; An addition operation is performed based on the target inverse quantization prediction residual of the azimuth component of the current node, the target prediction value of the azimuth component of the current node and the target multiplication result to determine the target reconstruction value of the azimuth component of the current node.

22. The method according to claim 18, wherein The parsing of the bitstream to determine the target quantization parameter of the current node includes: Parsing the bitstream to determine the target quantization parameter index value of the current node; The target quantization parameter of the current node is determined according to a preset quantization parameter table and the target quantization parameter index value.

23. The method according to claim 18, wherein The preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; The 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 includes: 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; and / or, Dequantization is performed 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 dequantization conversion residual of the current node in the second coordinate system.

24. The method according to claim 23, wherein The performing dequantization 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 dequantization prediction residual of the current node in the first coordinate system includes: 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.

25. The method according to claim 23, wherein The second coordinate system includes a first axis component, a second axis component and a third axis component; The performing dequantization 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 dequantization conversion residual of the current node in the second coordinate system includes: Performing inverse quantization processing on the target quantization conversion residual of the first axis component of the current node by using the first quantization parameter to determine the target inverse quantization conversion residual of the first axis component of the current node; Performing inverse quantization processing on the target quantization conversion residual of the second axis component of the current node by using the second quantization parameter to determine the target inverse quantization conversion residual of the second axis component of the current node; The target quantized conversion residual of the third axis component of the current node is dequantized using the third quantization parameter to determine the target dequantized conversion residual of the third axis component of the current node.

26. The method according to claim 25, wherein The parsing of the bitstream to determine the target quantization parameter of the current node includes: Parse the code stream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.

27. The method according to claim 25, wherein The preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array; The parsing of the bitstream to determine the target quantization parameter of the current node includes: Parsing the bitstream to determine a first quantization parameter index value, a second quantization parameter index value, and a third quantization parameter index value of the current node; Determining the first quantization parameter according to the first quantization parameter array and the first quantization parameter index value; Determining the second quantization parameter according to the second quantization parameter array and the second quantization parameter index value; Determining the third quantization parameter according to the third quantization parameter array and the third quantization parameter index value; Among them, the first quantization parameter array is used to indicate the mapping relationship between the 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 the multiple quantization parameters corresponding to the second axis component and 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 multiple quantization parameter index values.

28. A coding method, applied to an encoder, comprising: Determine the prediction tree structure corresponding to the initial point cloud; performing precoding processing on a current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters, and determining precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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; determining a target prediction mode and a target quantization parameter in the plurality of parameter combinations according to the precoding information of each of the plurality of parameter combinations; The current node is coded according to the target prediction mode and the target quantization parameter, coding information of the current node is determined, and the coding information is written into a bitstream.

29. The method according to claim 28, wherein The precoding process is performed on the current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters to determine the precoding information of the multiple parameter combinations, including: Performing precoding processing on the current node using a candidate prediction mode to determine a prediction residual of the current node in a preset coordinate system; 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; Determining precoding information of a candidate parameter combination according to the candidate prediction mode, the candidate quantization parameter, and the quantization prediction residual of the current node in a preset coordinate system; The candidate parameter combination is composed of the candidate prediction mode and the candidate quantization parameter, and the candidate prediction mode is any one of the multiple prediction modes, and the candidate quantization parameter is any one of the multiple quantization parameters.

30. The method according to claim 29, wherein The method further comprises: Determining a candidate quantization parameter index value corresponding to the candidate quantization parameter according to a preset quantization parameter table and the candidate quantization parameter; Determining the candidate quantization parameter index value as precoding information of the candidate parameter combination; The preset quantization parameter table is used to indicate the mapping relationship between the multiple quantization parameters and multiple quantization parameter index values.

31. The method according to claim 29, wherein The preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; The 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 includes: Performing quantization processing on the prediction residual of the current node in the first coordinate system according to the candidate quantization parameter to determine the quantized prediction residual of the current node in the first coordinate system; and / or, A coordinate transformation residual of the current node in the second coordinate system is quantized according to the candidate quantization parameter to determine a quantized transformation residual of the current node in the second coordinate system.

32. The method according to claim 31, wherein The method further comprises: Performing precoding processing on the current node using the candidate prediction mode to determine 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; Performing quantization processing on a coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine a quantization 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.

33. The method according to claim 32, wherein The determining, according to the precoding information of each of the plurality of parameter combinations, a target prediction mode and a target quantization parameter in the plurality of parameter combinations includes: Determining rate-distortion cost values ​​corresponding to the multiple parameter combinations according to the precoding information of each of the multiple parameter combinations; A minimum rate-distortion cost value is determined among the rate-distortion cost values ​​corresponding to the multiple parameter combinations, and the target prediction mode and the target quantization parameter are determined according to the parameter combination corresponding to the minimum rate-distortion cost value.

34. The method according to claim 33, wherein The method further comprises: Under the candidate parameter combination, determining a reconstruction value of the current node in a second coordinate system; Determining a distortion value corresponding to the candidate parameter combination according to an original value of the current node in the second coordinate system and a reconstructed value of the current node in the second coordinate system; performing bitstream estimation according to 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, and determining a bitstream estimation value corresponding to the candidate parameter combination; Performing rate-distortion cost calculation according to the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine a rate-distortion cost value corresponding to the candidate parameter combination; The candidate parameter combination is any one of the multiple parameter combinations.

35. The method according to claim 34, wherein Under the candidate parameter combination, determining the reconstruction value of the current node in the second coordinate system includes: Determining a reconstructed value of the current node in the first coordinate system based on a prediction residual of the current node in the first coordinate system, and performing an inverse coordinate transformation on 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; Determining a coordinate transformation residual of the current node in the second coordinate system according to an original value of the current node in the second coordinate system and a predicted value of the current node in the second coordinate system; Performing quantization processing on a coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine a quantization transformation residual of the current node in the second coordinate system; Performing inverse quantization processing on the quantization conversion residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the inverse quantization conversion residual of the current node in the second coordinate system; A reconstructed value of the current node in the second coordinate system is determined by performing an addition operation on the predicted value of the current node in the second coordinate system and the inverse quantization conversion residual.

36. The method of claim 35, wherein: The second coordinate system includes a first axis component, a second axis component, and a third axis component; and the quantizing the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the quantized transformation residual of the current node in the second coordinate system includes: quantizing the coordinate transformation residual of the first axis component of the current node using the first candidate quantization parameter to determine the quantized transformation residual of the first axis component of the current node; quantizing the coordinate transformation residual of the second axis component of the current node using the second candidate quantization parameter to determine the quantized transformation residual of the second axis component of the current node; The coordinate transformation residual of the third axis component of the current node is quantized using the third candidate quantization parameter to determine the quantized transformation residual of the third axis component of the current node.

37. The method according to claim 36, wherein The preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array; The method further comprises: Determining a 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; Determining, according to the second quantization parameter array and the second candidate quantization parameter, a second candidate quantization parameter index value corresponding to the candidate quantization parameter; Determining, according to the third quantization parameter array and the third candidate quantization parameter, a second candidate quantization parameter index value corresponding to the candidate quantization parameter; 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; Among them, the first quantization parameter array is used to indicate the mapping relationship between the 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 the multiple quantization parameters corresponding to the second axis component and 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 multiple quantization parameter index values.

38. The method of claim 28, wherein The performing encoding processing on the current node according to the target prediction mode and the target quantization parameter to determine encoding information of the current node includes: Determining, according to the target prediction mode, a target prediction residual of the current node in the first coordinate system and a target coordinate conversion residual of the current node in the second coordinate system; quantizing a target coordinate transformation residual of the current node in the second coordinate system using the target quantization parameter to determine a target quantization transformation residual of the current node in the second coordinate system; 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.

39. The method according to claim 38, wherein The method further comprises: Determining, according to the target prediction mode, a target prediction value of the azimuth component of the current node and a target prediction value of the depth component of the current node; Determining a prediction residual value of the azimuth component of the current node according to an original value of the azimuth component of the current node and a target prediction value of the azimuth component of the current node; and quantizing the prediction residual value of the azimuth component of the current node according to the target quantization parameter to determine a quantized residual value of the azimuth component of the current node; Determining a prediction residual value 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; The quantized residual value of the azimuth component of the current node and the predicted residual value of the depth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.

40. The method of claim 39, wherein The method further comprises: The target prediction mode, the target quantization parameter, the prediction residual value of the depth component of the current node, the 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 are encoded, and the obtained encoding bits are written into the code stream.

41. The method of claim 39, wherein The method further comprises: Determining a target quantization parameter index value corresponding to the target quantization parameter according to a preset quantization parameter table and the target quantization parameter; The target prediction mode, the target quantization parameter index value, the prediction residual value of the depth component of the current node, the 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 are encoded, and the obtained encoding bits are written into the bitstream.

42. The method according to claim 40 or 41, wherein The method further comprises: In the target prediction mode, determining the number of skip points between the current node and the parent node; The skip point number is encoded, and the obtained encoded bits are written into a bitstream.

43. A code stream, wherein The code stream is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least one of the following: Target prediction mode, target quantization parameter index value, number of skip points between the current node and the parent node, target prediction residual of the current node in the first coordinate system, and target quantization conversion residual of the current node in the second coordinate system.

44. An encoder, comprising a first determining unit, a first pre-encoding unit, and an encoding unit; wherein: The first determining unit is configured to determine a prediction tree structure corresponding to the initial point cloud; The first precoding unit is configured to perform precoding processing on the current node of the prediction tree structure using multiple prediction modes, and determine precoding information of each of the multiple prediction modes; wherein the precoding information includes at least: 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 is further configured to determine a target prediction mode from 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 encoding information of the current node, and write the encoding information into a bitstream.

45. An encoder, comprising a first determining unit, a first pre-encoding unit, and an encoding unit; wherein: The first determining unit is configured to determine a prediction tree structure corresponding to the initial point cloud; The precoding unit is configured to perform precoding processing on the current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters, and determine precoding information for each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information includes at least: the prediction mode, the quantization parameter, 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; The first determining unit is further configured to determine a target prediction mode and a target quantization parameter in the multiple parameter combinations according to the precoding information of each of the multiple 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 encoding information of the current node, and write the encoding information into a bitstream.

46. ​​An encoder comprising a first memory and a first processor; wherein: The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 1 to 17, or the method according to any one of claims 28 to 42, when running the computer program.

47. A decoder comprising a parsing unit, a second determining unit, and a second inverse quantization unit; wherein: The parsing unit is configured to parse the bitstream and determine a target prediction mode for the current node; The second determining unit is configured to determine a target prediction value of the current node in a preset coordinate system according to the target prediction mode; The parsing unit is further configured to parse the bitstream to determine a target quantization parameter of the current node and a target quantization prediction residual of the current node in a preset coordinate system; The second dequantization unit 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 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.

48. A decoder comprising a second memory and a second processor; wherein: The second memory is used to store a computer program that can be run on the second processor; The second processor is configured to execute the method according to any one of claims 18 to 27 when running the computer program.

49. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, which, when executed, implements the method according to any one of claims 1 to 17, or the method according to any one of claims 18 to 27, or the method according to any one of claims 28 to 42.