Encoding and decoding method, code stream, encoder, decoder and storage medium
Patent Information
- Application Number
- CN202280097172.8
- 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
In existing technologies, L3C2-based geometric coding in point cloud compression suffers from inaccurate selection of the optimal prediction mode due to unreasonable prediction mode decisions, which reduces the coding efficiency of geometric information.
By determining the prediction list of the current node in the single-chain structure at the encoding end, considering multiple prediction modes and quantization parameters, statistically analyzing the impact of prediction modes and coordinate transformation residuals, and selecting the optimal prediction mode and quantization parameters, coding efficiency is improved.
It improves point cloud encoding and decoding performance by accurately selecting the best prediction mode and quantization parameters, thereby enhancing the encoding efficiency of geometric information.
Smart Images

Figure CN119365894A_ABST
Abstract
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) encoding and decoding framework, the geometric information and attribute information of the point cloud are encoded separately. The geometry coding of G-PCC can be divided into geometry coding based on prediction tree and geometry coding based on low latency, low complexity coding model (L3C2). For geometry coding based on L3C2, the input point cloud is first sorted, and a single chain structure is established at the encoding end; then each node in the single chain structure is traversed, and after selecting the corresponding prediction mode, the geometric position information of the node is predicted according to the prediction mode to obtain the prediction residual, and finally the prediction mode and prediction residual of each node are encoded to generate a binary code stream.
[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] Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0009] Performing precoding processing on the current node 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;
[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] Determining a prediction list for a current node, wherein the prediction list includes a plurality of candidate parameters;
[0014] Parse the bitstream and determine the target prediction mode of the current node;
[0015] Determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system based on the set of target parameters;
[0016] 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;
[0017] 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;
[0018] 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;
[0019] Determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
[0020] In a third aspect, an embodiment of the present application provides an encoding method, applied to an encoder, the method comprising:
[0021] Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0022] Precoding the current node using multiple prediction modes and multiple quantization parameters to 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;
[0023] 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;
[0024] 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.
[0025] 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:
[0026] Target prediction mode, target quantization parameter index value, order of current node, target prediction residual of current node in the first coordinate system and target quantization conversion residual of current node in the second coordinate system.
[0027] In a fifth aspect, an embodiment of the present application provides an encoder, comprising a first determining unit, a pre-encoding unit, and an encoding unit; wherein,
[0028] a first determining unit configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes a plurality of sets of candidate parameters, and an index number of each set of candidate parameters in the prediction list corresponds to a plurality of prediction modes;
[0029] a precoding unit configured to perform precoding processing on the current node 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;
[0030] 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;
[0031] 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.
[0032] In a sixth aspect, an embodiment of the present application provides an encoder, comprising a first determining unit, a pre-encoding unit, and an encoding unit; wherein,
[0033] a first determining unit configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes a plurality of sets of candidate parameters, and an index number of each set of candidate parameters in the prediction list corresponds to a plurality of prediction modes;
[0034] a precoding unit configured to perform precoding processing on the current node 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;
[0035] 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;
[0036] 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.
[0037] In a seventh aspect, an embodiment of the present application provides an encoder, comprising a first memory and a first processor; wherein,
[0038] a first memory for storing a computer program capable of running on the first processor;
[0039] The first processor is configured to execute the method according to the first aspect or the third aspect when running a computer program.
[0040] 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,
[0041] a second determining unit configured to determine a prediction list of a current node, wherein the prediction list includes a plurality of candidate parameters;
[0042] a parsing unit configured to parse the bitstream and determine a target prediction mode for a current node;
[0043] The second determining unit is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system based on the set of target parameters;
[0044] 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;
[0045] 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;
[0046] 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.
[0047] In a ninth aspect, an embodiment of the present application provides a decoder, comprising a second memory and a second processor; wherein:
[0048] a second memory for storing a computer program capable of running on the second processor;
[0049] The second processor is configured to execute the method according to the second aspect when running a computer program.
[0050] 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.
[0051] An embodiment of the present application provides a coding and decoding method, a bitstream, an encoder, a decoder, and a storage medium. At an encoding end, a prediction list of a current node in a single-link structure is determined, wherein the prediction list includes multiple groups of candidate parameters, and the index numbers of the multiple groups of candidate parameters in the prediction list have a corresponding relationship with multiple prediction modes; the current node is pre-coded using multiple prediction modes to determine pre-coding information of each of the multiple prediction modes; wherein the pre-coding information includes at least: a prediction mode, a prediction residual of the current node in a first coordinate system, and a coordinate conversion residual of the current node in a second coordinate system; a target prediction mode is determined from the multiple prediction modes based on the pre-coding information of each of the multiple prediction modes; the 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 bitstream. In this way, 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 first coordinate system are considered, but also the influence of the coordinate conversion residuals of the first coordinate system on the second coordinate system is considered. This makes it possible to improve the accuracy of the bitstream estimation under each prediction mode when the bitstream is estimated based on the precoding information, thereby making the selected optimal prediction mode more accurate and improving 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 residuals can also be considered. In this way, when the bitstream is estimated based on 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
[0052] FIG1A is a schematic diagram of a three-dimensional point cloud image;
[0053] FIG1B is a partially enlarged schematic diagram of a three-dimensional point cloud image;
[0054] FIG2A is a schematic diagram of a point cloud image at different viewing angles;
[0055] FIG2B is a schematic diagram of a data storage format corresponding to FIG2A ;
[0056] FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding;
[0057] FIG4A is a schematic block diagram of a G-PCC encoder;
[0058] FIG4B is a schematic block diagram of a G-PCC decoder;
[0059] FIG5A is a schematic diagram of an intersection of seed blocks;
[0060] FIG5B is a schematic diagram of fitting a triangular facet set;
[0061] FIG5C is a schematic diagram of upsampling of a triangle face set;
[0062] FIG6A is a block diagram of an AVS encoder;
[0063] FIG6B is a block diagram of an AVS decoder;
[0064] FIG7 is a schematic diagram showing the relationship between an azimuth component and a depth component;
[0065] FIG8 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;
[0066] FIG9 is a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud;
[0067] FIG10A is a schematic diagram of the structure of an initial point cloud provided in an embodiment of the present application;
[0068] FIG10B is a schematic diagram of a regularized processing of a single chain structure provided in an embodiment of the present application;
[0069] FIG11 is a schematic diagram of the scanning principle of a laser radar provided in an embodiment of the present application;
[0070] FIG12A is a schematic diagram of a quantization principle of a depth component provided in an embodiment of the present application;
[0071] FIG12B is a schematic diagram of a quantization principle of an azimuth component provided in an embodiment of the present application;
[0072] FIG13 is a schematic diagram of updating a prediction list at an encoding end provided in an embodiment of the present application;
[0073] FIG14 is a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application;
[0074] FIG15 is a schematic diagram of a flowchart of a decoding method provided in an embodiment of the present application;
[0075] FIG16 is a schematic diagram of updating a prediction list at a decoding end provided by an embodiment of the present application;
[0076] FIG17A is a block diagram of an L3C2 encoder according to an embodiment of the present application;
[0077] FIG17B is a block diagram of an L3C2 decoder according to an embodiment of the present application;
[0078] FIG18 is a schematic diagram of the structure of an encoder provided in an embodiment of the present application;
[0079] FIG19 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application;
[0080] FIG20 is a schematic diagram of the structure of a decoder provided in an embodiment of the present application;
[0081] FIG21 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application;
[0082] FIG22 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] 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.
[0091] 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).
[0092] Point clouds can be divided into the following categories according to the acquisition method:
[0093] Static point cloud: the object is stationary and the device that acquires the point cloud is also stationary;
[0094] Dynamic point cloud: The object is moving, but the device that obtains the point cloud is stationary;
[0095] Dynamic point cloud acquisition: The device used to acquire the point cloud is in motion.
[0096] For example, point clouds can be divided into two categories according to their usage:
[0097] 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;
[0098] 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.
[0099] 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.
[0100] 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.
[0101] 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.
[0102] 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.
[0103] 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.
[0104] An 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 an 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 the implementation process, 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., which is not limited by the embodiment of the present application. Among them, the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.
[0105] 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).
[0106] The following describes the related technologies using the G-PCC codec framework and the AVS codec framework as examples.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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).
[0111] 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:
[0112] (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.
[0113] (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 all empty nodes.
[0114] 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.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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").
[0122] 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:
[0123]
[0124] 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:
[0125]
[0126] 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.
[0127] It can also be understood that for the G-PCC codec framework, the general test conditions are as follows:
[0128] (1) There are 4 test conditions:
[0129] Condition 1: The geometric position is limited and the attributes are lost;
[0130] Condition 2: Geometric position lossless, attribute lossy;
[0131] Condition 3: Geometric position lossless, attribute loss limited;
[0132] Condition 4: Geometric position and attributes are lossless.
[0133] (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.
[0134] (3) Technical routes: There are two types, which are distinguished by the algorithm used for geometric compression.
[0135] Technical route 1: Octree encoding branch.
[0136] 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.
[0137] 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.
[0138] Technical route 2: prediction tree encoding branch.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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.
[0144] It can also be understood that for the AVS codec framework, the general test conditions are as follows:
[0145] (1) There are 4 test conditions:
[0146] Condition 1: The geometric position is limited and the attributes are lost;
[0147] Condition 2: Geometric position lossless, attribute lossy;
[0148] Condition 3: Geometric position lossless, attribute loss limited;
[0149] Condition 4: Geometric position and attributes are lossless.
[0150] (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.
[0151] (3) Technical routes: There are two types, which are distinguished by the algorithm used for attribute compression.
[0152] Technical route 1: Prediction branch, attribute compression adopts an intra-frame prediction-based method.
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] Technical route 4: Multi-layer transformation branch, attribute compression adopts a method based on multi-layer wavelet transform.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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:
[0166]
[0167] 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.
[0168] 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.
[0169] 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 ).
[0170] In other words, when using a single-chain structure, or L3C2, to encode LiDAR point clouds, 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. The bitstream information required for the coordinate transformation residual corresponding to each prediction mode is not counted. This leads to inaccurate selection of the optimal prediction mode, thereby reducing the coding efficiency of the geometric information.
[0171] 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.
[0172] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0173] 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:
[0174] S801: Determine a prediction list of a current node in a single-chain structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes.
[0175] 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 an L3C2 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 single chain structure based on the different lasers, but this is not specifically limited here.
[0176] It should also be noted that, in the embodiment of the present application, the initial point cloud here may be a voxelized point cloud. In some embodiments, the method may further include:
[0177] Get the initial point cloud in the second coordinate system;
[0178] Perform coordinate transformation on the points in the initial point cloud to obtain a processed point cloud in the first coordinate system;
[0179] A single chain structure is established based on the processed point cloud in the first coordinate system.
[0180] 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).
[0181] 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:
[0182]
[0183]
[0184] i=argmin j=1,…,N {z+zLaser(j)-R×tan(θ(j))} (6)
[0185] 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.
[0186] It should be noted that in the embodiment of the present application, before constructing the single-chain structure, the initial point cloud needs to be reordered first; then the initial point cloud is converted from the Cartesian coordinate system to the cylindrical coordinate system, and then the initial point cloud in the cylindrical coordinate system is used to establish the single-chain structure.
[0187] It should also be noted that in the embodiment of the present application, the initial point cloud is reordered to construct a more efficient single chain structure. In a specific embodiment, the default sorting method is to sort according to the scanning order of the laser radar. Here, the Cartesian coordinates (x, y, z) of each node can be converted into polar coordinates. And in turn according to the tangent value of elevation angle tanθ, azimuth angle The radius R sorts the points.
[0188] For example, 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°.
[0189] Here, i represents the LaserID corresponding to the point. A typical LiDAR system may have 16, 32, or 64 laser scanners. Each laser has different prior information, namely, different elevation angles θ and vertical heights zLaser. i is determined by looping through the prior information of different lasers. In each loop, the z component of the point is calculated using the point's R, the prior information, and equations (4) to (6). The deviation between the converted z component and the original z component of the point is calculated, and the point with the smallest deviation is selected from the different LaserIDs as the i of the point. This process processes the non-uniform vertical distribution of the point cloud in space and regularizes it.
[0190] Thus, FIG10A shows a schematic diagram of the structure of an initial point cloud provided by an embodiment of the present application, and FIG10B shows a schematic diagram of the regularization processing of a single chain structure provided by an embodiment of the present application. In which, the initial point cloud is traversed and the azimuth component of each node is quantized, that is, In order to achieve regularization of the vertical direction of the initial point cloud.
[0191] It should also be noted that, in the embodiment of the present application, the laser radar point cloud is obtained by scanning the object using a laser scanner (or "laser scanner"). The specific scanning principle is shown in Figure 11. According to Figure 11, the rotation interval of each Laser is obtained by using the acquisition parameters of the laser scanner, that is, By utilizing To regularize the vertical direction of the single chain structure.
[0192] After obtaining the regularized single-chain structure, we can also calculate the order of the current node in the single-chain structure, which can be expressed as o(P). The specific calculation formula is as follows:
[0193]
[0194] Among them, Nlaser represents the number of Lasers, λ represents the LaserID corresponding to the current node, Indicates the azimuth component of the current node The quantitative value of ; that is, the order of each node in the single chain structure can be obtained, namely o(P).
[0195] S802: Pre-encoding the current node through multiple prediction modes to determine pre-encoding information of each of the multiple prediction modes; wherein the pre-encoding 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.
[0196] It should be noted that in the embodiment of the present application, the prediction list may include multiple groups of candidate parameters, and each prediction mode is used to indicate the index number of a group of candidate parameters in the prediction list. That is, the prediction mode and the index number of the candidate parameters in the prediction list have a corresponding relationship.
[0197] It should also be noted that, in the embodiment of the present application, the single chain structure can be traversed in depth-first order, and for the current node in the single chain structure, a target prediction mode needs to be selected from these multiple prediction modes for prediction.
[0198] 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 using multiple prediction modes, and the precoding information of each of the multiple prediction modes is determined, which may include:
[0199] In the prediction list, determining a set of candidate parameters corresponding to the candidate prediction mode;
[0200] Using a set of candidate parameters to perform prediction processing on the current node, the predicted value of the current node in the first coordinate system is obtained;
[0201] 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;
[0202] 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;
[0203] 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;
[0204] 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;
[0205] 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.
[0206] 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.
[0207] In some embodiments, performing prediction processing on the current node using a set of candidate parameters to obtain a predicted value of the current node in the first coordinate system may include:
[0208] If the current node is the root node, determining the candidate prediction mode to be the first prediction mode, and using the preset value as the prediction value of the current node in the first coordinate system;
[0209] If the current node is not the root node, a set of candidate parameters is used to perform prediction processing on the current node to determine the predicted value of the current node in the first coordinate system.
[0210] It should be noted that in the embodiment of the present application, the multiple prediction modes may include a first prediction mode and other prediction modes. Among them, the first prediction mode indicates no prediction, which can be represented by Mode0; the other prediction modes indicate prediction, and prediction processing can be performed based on the candidate parameters in the prediction list. In other words, if the current node is the root node of the prediction tree structure, that is, the cylindrical coordinates of the current node have no prediction, 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 are all set to 0, otherwise it is the cylindrical coordinate component of the parent node. If the current node is not the root node, then the cylindrical coordinate of the current node is predicted by the corresponding prediction mode, and the predicted value of the cylindrical coordinate system of the current point is
[0211] 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).
[0212] 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:
[0213] Determining an initial prediction residual of the azimuth component of the current node based on an original value of the azimuth component of the current node and a predicted value of the azimuth component of the current node; and quantizing the initial prediction residual of the azimuth component of the current node based on a first quantization factor to determine a quantized prediction residual of the azimuth component of the current node;
[0214] An initial prediction residual of the depth component of the current node is determined 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 the initial prediction residual of the depth component of the current node is quantized according to a second quantization factor to determine a quantized prediction residual of the depth component of the current node.
[0215] It should be noted that, in the embodiment of the present application, for the laser identification component i, the initial prediction residual of the laser identification component of the current node is determined 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; and the reconstructed value of the laser identification component of the current node is determined based on the initial prediction residual of the laser identification component of the current node. Among them, for i, since the encoding end does not perform quantization and dequantization processing, the reconstructed value i rec Same as the original value of i.
[0216] It should also be noted that in the embodiment of the present application, the initial prediction residual of the azimuth component of the current node can be used Indicates that the initial prediction residual of the depth component of the current node can be expressed as R res Indicates that after quantization, the quantized prediction residual of the azimuth component of the current node can be used Indicates that the quantized prediction residual of the depth component of the current node can be expressed as QR res express.
[0217] 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 .
[0218] Here, the first quantization factor can be used The second quantization factor can be represented by dr. For example, the first quantization factor can be used to perform Quantitative processing; for QR res For example, the second quantization factor can be used to perform R res Quantitative processing; the specific calculation formula is as follows:
[0219]
[0220] QR res =round(R res / dr) (9)
[0221] It should also be noted that, in the embodiment of the present application, and QR 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:
[0222] Dequantizing the quantized prediction residual of the azimuth component of the current node according to the first quantization factor to determine the dequantized prediction residual of the azimuth component of the current node; and determining a reconstructed value of the azimuth component of the current node according to the dequantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node;
[0223] The quantized prediction residual of the depth component of the current node is inversely quantized according to the second quantization factor to determine the inversely quantized prediction residual of the depth component of the current node; and the reconstructed value of the depth component of the current node is determined based on the inversely quantized prediction residual of the depth component of the current node and the predicted value of the depth component of the current node.
[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] It should also be noted that in the embodiment of the present application, the inverse quantization prediction residual of the azimuth component of the current node can be used Indicates that the inverse quantization prediction residual of the depth component of the current node can be used with InvR res The specific calculation formula is as follows:
[0226]
[0227] InvR res =QR res ×dr (11)
[0228] Here, for the reconstructed value of the current node in the first coordinate system, It can be determined by the sum of the prediction residual and the predicted value of the azimuth component of the current node, 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. The specific calculation formula is as follows:
[0229]
[0230] R rec =InvR res +R pred (13)
[0231] In some embodiments, assuming that the quantization factor of the current node is ΔQ, the calculation formula for the second quantization factor of the depth component is as follows:
[0232]
[0233] Furthermore, after obtaining dr and R rec Afterwards, the first quantization factor may be calculated. In some embodiments, the method may further include: determining the first quantization factor according to the second quantization factor and the reconstructed value of the depth component of the current node.
[0234]
[0235] For example, as shown in FIG12A , for x1 and x2, So Furthermore, due to Then the calculation formula of Δx is as follows:
[0236]
[0237] In this way, assuming that the quantization factors of x and y of the current node are ΔQ, the second quantization factor dr of the depth component R can be calculated as shown in the above formula (14).
[0238] As shown in Figure 12B, in order to preserve quantization anisotropy, it is necessary to Right now Thus, for the azimuth component For quantization, its advantage is that it can achieve uniform quantization.
[0239] It is understandable that in the embodiment of the present application, for the azimuth component, the quantized prediction residual of the azimuth component is not directly written into the bitstream as precoding information. In some embodiments, the method may further include:
[0240] Determine, based on a set of candidate parameters, a quantized residual prediction value of an azimuth component of a current node and a prediction value of a depth component of the current node;
[0241] Determine the quantized residual value of the azimuth component of the current node according to the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node;
[0242] 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; and quantizing the prediction residual of the depth component of the current node according to a second quantization factor to determine a quantized prediction residual of the depth component of the current node;
[0243] The prediction residual of the current node in the first coordinate system is determined according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
[0244] It should be noted that, in the embodiment of the present application, each set of candidate parameters may include a quantized residual prediction value of the azimuth component (using denoted by ) and the predicted value of the depth component (denoted by Prj), where j represents the index number of the group of candidate parameters in the prediction list.
[0245] It should also be noted that the specific calculation formula for the prediction residual of the current node in the first coordinate system in the precoding information is as follows:
[0246]
[0247] R res =R-Prj (18)
[0248] QR res =round(R res / dr) (19)
[0249] Here, Represents the quantized residual value of the azimuth component of the current node, R res Represents the prediction residual of the depth component of the current node, QR res Represents the quantized prediction residual of the depth component of the current node.
[0250] It is also understandable that in the embodiments 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, without specific limitation herein.
[0251] 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:
[0252] The coordinate inverse transformation is performed 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 the predicted value of the first axis component of the current node, the predicted value of the second axis component of the current node and the predicted value of the third axis component of the current node.
[0253] It should be noted that, in the embodiments of the present application, according to the above and R rec , can be converted to Cartesian coordinates by inverse conversion The calculation formula for inverse coordinate transformation is as follows:
[0254]
[0255]
[0256]
[0257] Here, i is the LaserID corresponding to the point. The prior information of each Laser is different, that is, the elevation angle θ and the height zLaser in the vertical direction are different. Therefore, the elevation angle corresponding to the i-th Laser is θ(i), and the height in the vertical direction is zLaser(i).
[0258] 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:
[0259] 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;
[0260] 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;
[0261] 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.
[0262] 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 resIndicates that the coordinate transformation residual of the third axis component of the current node can be expressed as z res express.
[0263] 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,
[0264] 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.
[0265] 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:
[0266] The candidate prediction mode, the quantized residual value of the azimuth component of the current node, the quantized prediction residual of the depth component of the current node, the coordinate conversion residual of the first axis component of the current node, the coordinate conversion residual of the second axis component of the current node, and the coordinate conversion residual of the third axis component of the current node are determined as the precoding information of the candidate prediction mode.
[0267] 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. Alternatively, considering the lossy geometry, x res 、y res The residual component of z is encoded, that is, only z res The residual components are counted; for geometric lossless coding, it is necessary to count (x res 、y res 、z res ) are all counted.
[0268] 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.
[0269] S803: Determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes.
[0270] 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.
[0271] 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:
[0272] Determining rate-distortion cost values corresponding to the multiple prediction modes based on respective precoding information of the multiple prediction modes;
[0273] 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.
[0274] 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.
[0275] 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.
[0276] 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:
[0277] In the prediction list, a set of target parameters corresponding to the target prediction mode is determined;
[0278] Perform prediction processing on the current node according to a set of target parameters to determine the target prediction value of the current node in the first coordinate system;
[0279] 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;
[0280] 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;
[0281] 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;
[0282] 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;
[0283] 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.
[0284] 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.
[0285] It should be noted that, for the target prediction residual of the current node in the first coordinate system, in some embodiments, the target prediction residual of the current node in the first coordinate system may include the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node. Accordingly, the method may further include:
[0286] Determine, based on a set of target parameters, a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
[0287] Determining a target prediction residual of the depth component of the current node according to an original value of the depth component of the current node and a target prediction value of the depth component of the current node; and quantizing the target prediction residual of the depth component of the current node according to a second quantization factor to determine a target quantized prediction residual of the depth component of the current node;
[0288] Determine the target prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and determine the target quantized residual value of the azimuth component of the current node according to the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node;
[0289] The target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are encoded, and the obtained encoded bits are written into the bitstream.
[0290] In the embodiment of the present application, according to the target prediction mode, a corresponding set of target parameters can be determined from the prediction list. Here, the set of target parameters can include the target quantized residual prediction value of the azimuth component of the current node and the target predicted value (Prj) of the depth component of the current node; the target predicted residual of the azimuth component of the current node is determined by performing difference calculation based on the original value of the azimuth component of the current node and the target predicted value of the azimuth component of the current node according to right Quantization processing can be performed to obtain the target quantized prediction residual of the azimuth component of the current node right and Performing subtraction operation, we can get the target quantized residual value of the azimuth component of the current node For the depth component, the target prediction residual (Rres) of the depth component of the current node is determined by performing a difference calculation based on the original value of the depth component of the current node and the target prediction value of the depth component of the current node; res By performing quantization processing, the target quantized prediction residual (QR res ), then With QR res Written into the code stream as encoding information.
[0291] In addition, in the embodiment of the present application, when determining and QR res Afterwards, according to right Perform inverse quantization processing to obtain the target inverse quantization prediction residual of the azimuth component of the current node The target inverse quantization prediction residual of the azimuth component of the current node and the target prediction value of the azimuth component of the current node are summed to determine the reconstructed value of the azimuth component of the current node, that is, According to dr to QR res Perform inverse quantization processing to obtain the target inverse quantization prediction residual (InvR res ); The target inverse quantization prediction residual of the depth component of the current node and the target prediction value of the depth component of the current node are summed to determine the reconstruction value of the azimuth component of the current node, that is, R rec =InvR res +R pred Then according to and R rec According to the calculation formula of the inverse coordinate transformation, the target prediction value of the current node in the second coordinate system can be obtained Then calculate the target coordinate transformation residual (x res 、y res 、z res ).
[0292] 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 target coordinate conversion residual of the current node in the second coordinate system. 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 not consider i res , that is, the target prediction residual in the first coordinate system can only include the azimuth component and the target prediction residual of the depth component R.
[0293] It should also be noted that, in the embodiment of the present application, if the current node is the root node, the target prediction mode is determined to be the first prediction mode (Mode 0), that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate system prediction value is Among them, R min 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, the target prediction mode is determined to be another prediction mode, and the candidate parameters in the prediction list are used to predict the cylindrical coordinates of the current node to determine the predicted value of the current point in the cylindrical coordinate system.
[0294] It is also understandable that, in some embodiments, the method may further include:
[0295] Determine an initial quantized value of the azimuth component of the current node based on the order of the current node in the single-link structure;
[0296] Determine the preset factor of the azimuth component of the current node;
[0297] The target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
[0298] Furthermore, in some embodiments, the method may further include: encoding the sequence of the current node, and writing the obtained encoded bits into the code stream.
[0299] It should be noted that, in the embodiment of the present application, the order of the current node refers to the order of the current node in the single chain structure, which can be represented by o(P). Here, the encoding end also needs to encode o(P) and write it into the code stream.
[0300] It should also be noted that, in the embodiment of the present application, for the azimuth component, the target predicted value of the azimuth component of the current node is determined by the following specific calculation formula:
[0301]
[0302] in, The initial quantized value of the azimuth component of the current node can be determined based on o(P); Represents the preset factor of the azimuth component of the current node; Indicates the target predicted value of the azimuth component of the current node, which can also be expressed as express.
[0303] It is also understandable that in the embodiment of the present application, for the prediction list, after the current node is encoded according to the target prediction mode, the value in the prediction list needs to be updated. In some embodiments, the method may further include:
[0304] The prediction parameters of the current node are determined according to the target reconstruction value of the depth component of the current node and the target quantized prediction residual of the azimuth component of the current node; the prediction list is updated according to the prediction parameters of the current node to determine the prediction list of the next node of the current node.
[0305] In a specific embodiment, updating the prediction list according to the prediction parameters of the current node may include:
[0306] If the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, the last set of candidate parameters in the prediction list is deleted, and the index numbers of the remaining candidate parameters in the prediction list are increased by one, and the prediction parameters of the current node are updated to the position with the index number equal to 0 in the prediction list;
[0307] If the target quantization prediction residual of the azimuth component of the current node is greater than the preset threshold, a set of candidate parameters indicated by the target prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameter of the current node is updated to the position where the index number in the prediction list is equal to 0.
[0308] It should be noted that, in the embodiment of the present application, the prediction parameter of the current node (ie, R rec and ); then according to R rec and The prediction list is updated, and the updated prediction list is determined as the prediction list of the next node of the current node in the single-chain structure.
[0309] It should also be noted that, in the embodiment of the present application, the update criteria for updating the prediction list are as follows:
[0310] (1) If the target quantization prediction residual of the current node is greater than the preset threshold, the last set of prediction parameters in the prediction list is popped out, and the remaining prediction parameters are pushed back one position, and the current node is updated to the first position in the prediction list;
[0311] (2) If the target quantization prediction residual of the current node is less than the preset threshold, a set of prediction parameters corresponding to the predindex indicated by the target prediction mode is popped out, and the prediction parameters between [0, predindex-1] are all pushed back one position, and the current node is updated to the first position in the prediction list.
[0312] For example, referring to FIG13, it shows a schematic diagram of updating a prediction list of an encoding end provided by an embodiment of the present application. As shown in FIG13, it is assumed that the prediction list includes five groups of prediction parameters, such as Pr0 and Pr1 and Pr2 and Pr3 and Pr4 and The corresponding index number j = 0, 1, 2, 3, 4. According to the principle of minimum cost, the target prediction mode is determined (assuming the corresponding index number is j). Then for this set of prediction parameters Prj and By encoding the current node, we can get R rec and According to Rrec and The prediction list is updated and used as the prediction list for the next node. The next node is then used as the current node, and the encoding process of this embodiment is continued until the prediction encoding of each point in the single chain structure is completed.
[0313] It is also understandable that in the embodiment of the present application, the number of prediction lists is not limited to five, and can be other numbers, which are not specifically limited here. In addition, since the encoding end does not perform quantization and dequantization on the laser marking component i, the reconstructed value i rec Same as the original value i. And for the azimuth component As for the depth component R, due to the first quantization factor Determination of R rec Therefore, it is necessary to determine the reconstruction value of the depth component R first, and then determine Thus according to Azimuth component The target prediction residual is quantized and dequantized to further determine the azimuth component The reconstruction value of .
[0314] 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.
[0315] In another embodiment of the present application, referring to FIG14 , a flow chart of another encoding method provided by an embodiment of the present application is shown. As shown in FIG14 , the method includes:
[0316] S1401: Determine a prediction list of a current node in a single-link structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes.
[0317] 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.
[0318] It should also be noted that in the embodiments of this application, the initial point cloud here can be a voxelized point cloud. For a single-chain structure, it is necessary to first reorder the initial point cloud; then convert the initial point cloud from a Cartesian coordinate system to a cylindrical coordinate system, and then use the initial point cloud in the cylindrical coordinate system to establish the single-chain structure. This process can be referred to the description of the previous embodiment and will not be detailed here.
[0319] S1402: Pre-encoding the current node through multiple prediction modes and multiple quantization parameters to determine the pre-encoding information of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the pre-encoding information includes at least: prediction mode, quantization parameter, prediction residual of the current node in the first coordinate system, and coordinate conversion residual of the current node in the second coordinate system.
[0320] In some embodiments, performing precoding processing on the current node using multiple prediction modes and multiple quantization parameters to determine precoding information for each of the multiple parameter combinations may include:
[0321] Determining a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and performing precoding processing on the current node using the set of candidate parameters to determine a prediction residual of the current node in a preset coordinate system;
[0322] 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;
[0323] 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;
[0324] 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.
[0325] 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:
[0326] 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,
[0327] 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.
[0328] 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.
[0329] In some embodiments, the method may further include:
[0330] 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;
[0331] Determining the candidate quantization parameter index value as precoding information of the candidate parameter combination;
[0332] The preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
[0333] 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.
[0334] 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.
[0335] 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:
[0336] Determining a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and performing precoding processing on the current node using the set of candidate parameters to determine 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;
[0337] 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;
[0338] 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.
[0339] 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 ). In this way, the precoding information of the candidate parameter combination may include: mode, idx, QR res 、 and (Qx res , Qy res , Qz res ). Wherein, mode represents the candidate prediction mode, and idx represents the candidate quantization parameter index value.
[0340] In the embodiment of the present application, the first quantization factor The second quantization factor (dr) can also be related to the candidate quantization parameter, that is, it can be determined based on the candidate quantization parameter. or dr to adjust. Accordingly, in some embodiments, the method may further include:
[0341] Determine, based on a set of candidate parameters, a quantized residual prediction value of an azimuth component of a current node and a prediction value of a depth component of the current node;
[0342] 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; adjust the second quantization factor according to the candidate quantization parameter, and quantize the prediction residual of the depth component of the current node according to the adjusted second quantization factor to obtain a quantized prediction residual of the depth component of the current node;
[0343] Determining a prediction residual of the azimuth component of the current node based on an original value of the azimuth component of the current node and a predicted value of the azimuth component of the current node; adjusting a first quantization factor based on a candidate quantization parameter, and quantizing the prediction residual of the azimuth component of the current node based on the adjusted first quantization factor to obtain a quantized prediction residual of the azimuth component of the current node; and determining a quantized residual value of the azimuth component of the current node based on the quantized prediction residual of the azimuth component of the current node and a predicted value of the quantized residual of the azimuth component of the current node;
[0344] The prediction residual of the current node in the first coordinate system is determined according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
[0345] 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. In addition, the quantized prediction residual QR of the depth component of the current node is res For example, it can be based on dr to R res Alternatively, dr can be adjusted according to the candidate quantization parameter QP, and then R can be adjusted according to the adjusted dr. res Quantify and get QR res . And for the quantized residual value of the azimuth component of the current node First, we need to determine It can be based on right It can also be obtained by quantization processing; or it can be adjusted according to the candidate quantization parameter QP Then, according to the adjusted right Quantitative processing is performed to obtain In this way, in getting Then compare it with the selected one from the prediction list By performing difference calculation with , we can get the quantized residual value of the azimuth component of the current node.
[0346] 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.
[0347] S1403: Determine a target prediction mode and a target quantization parameter in the plurality of parameter combinations according to the respective precoding information of the plurality of parameter combinations.
[0348] 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.
[0349] 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:
[0350] Determining rate-distortion cost values corresponding to the plurality of parameter combinations based on respective precoding information of the plurality of parameter combinations;
[0351] 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.
[0352] 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.
[0353] It is also understandable that, for the calculation of the rate-distortion cost value, taking the candidate parameter combination as an example, in some embodiments, the method may further include:
[0354] Under the candidate parameter combination, determine the reconstruction value of the current node in the second coordinate system;
[0355] 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;
[0356] 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;
[0357] A rate-distortion cost calculation is performed based on the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination.
[0358] Here, the candidate parameter combination is any one of multiple parameter combinations.
[0359] In a specific embodiment, determining the reconstruction value of the current node in the second coordinate system under the candidate parameter combination may include:
[0360] 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;
[0361] 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;
[0362] 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;
[0363] 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;
[0364] 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.
[0365] 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:
[0366] Qx res =round(x res / QP) (24)
[0367] Q res =round(y res / QP) (25)
[0368] QZ res =round(z res / QP) (26)
[0369] Invx res =Qx res *QP (27)
[0370] Invy res =Qy res *QP (28)
[0371] Invz res =Qz res *QP (29)
[0372] Furthermore, for the reconstructed value (x rec 、y rec 、z rec ), the specific calculation formula is as follows:
[0373]
[0374]
[0375]
[0376] Furthermore, the specific calculation formula for the rate-distortion cost of the candidate parameter combination is as follows:
[0377] D=|xx rec |+|yy rec |+|zz rec | (33)
[0378]
[0379] J=D+λ*R (35)
[0380] 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,
[0381] 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.
[0382] 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.
[0383] 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:
[0384] 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;
[0385] 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;
[0386] 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.
[0387] 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.
[0388] 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.
[0389] Accordingly, in some embodiments, the method may further include:
[0390] 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;
[0391] 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;
[0392] 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;
[0393] 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.
[0394] 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.
[0395] S1404: Perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine encoding information of the current node, and write the encoding information into the bitstream.
[0396] 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:
[0397] In the prediction list, a set of target parameters corresponding to the target prediction mode is determined;
[0398] Perform prediction processing on the current node according to a set of target parameters to determine the target prediction residual of the current node in the first coordinate system and the target coordinate conversion residual of the current node in the second coordinate system;
[0399] 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;
[0400] 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.
[0401] 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.
[0402] 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:
[0403] Determine, based on a set of target parameters, a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
[0404] Determine a target prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the target prediction value of the depth component of the current node; quantize the target prediction residual value of the depth component of the current node according to a second quantization factor to determine the target quantized prediction residual of the depth component of the current node;
[0405] Determine the target prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and determine the target quantized residual value of the azimuth component of the current node according to the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node;
[0406] The target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.
[0407] In the embodiment of the present application, since the encoding end does not perform quantization and dequantization on i, the reconstructed value i recThe 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 Quantization processing is required to obtain the quantized residual value QR of the depth component of the current node res ; For the azimuth component In terms of 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 Furthermore, for QR res and In terms of and the prediction list To calculate At this time, you can use QR res and As the target prediction residual in the first coordinate system in the encoding information.
[0408] In some embodiments, the method may further include: encoding the target prediction mode, the target quantization parameter, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
[0409] In other embodiments, the method may also include: determining a target quantization parameter index value corresponding to the target quantization parameter based on a preset quantization parameter table and a target quantization parameter; encoding the target prediction mode, the target quantization parameter index value, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
[0410] That is, in the bitstream, for the target quantization parameter, the target quantization parameter can be written directly into the bitstream, or the target quantization parameter index value can be written into the bitstream. In addition, for the target prediction mode, the target prediction mode can be written directly into the bitstream, or the index value corresponding to the target prediction mode (i.e., the index number corresponding to the prediction parameter in the prediction list) can be written into the bitstream, and this is not specifically limited here.
[0411] In addition, in some embodiments, the method may further include:
[0412] Determine the order of the current node;
[0413] Encode the sequence of the current node and write the obtained coded bits into the code stream.
[0414] It should be noted that the calculation of the target prediction value of the azimuth component of the current node is not only related to the order o(P) of the current node in the prediction list, but also to the preset factor of the azimuth component. After determining o(P), the initial quantized value of the azimuth component of the current node can be determined based on o(P). Then according to and The target prediction value of the azimuth component of the current node can be obtained by multiplying or express).
[0415] 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:
[0416] Target prediction mode, target quantization parameter index value, order of current node, target prediction residual of current node in the first coordinate system and target quantization conversion residual of current node in the second coordinate system.
[0417] 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: target prediction mode, target quantization parameter, order of current 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.
[0418] 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 QR res and The target quantization transformation residual of the current node in the second coordinate system may include (Qx res 、Qy res 、Qz res 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.
[0419] 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.
[0420] In another embodiment of the present application, referring to FIG15 , a flowchart of a decoding method provided by the present application is shown. As shown in FIG15 , the method includes:
[0421] S1501: Determine a prediction list of the current node, where the prediction list includes multiple candidate parameters.
[0422] S1502: Parse the bitstream to determine the target prediction mode of the current node.
[0423] S1503: Determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system based on the set of target parameters.
[0424] 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 an L3C2 decoding method, more specifically, a lidar point cloud decoding method, but it is not limited to the lidar field.
[0425] It should also 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.
[0426] Assuming that the preset coordinate system is the second coordinate system, the target predicted 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 predicted value of the current node in the preset coordinate system based on a set of target parameters may include:
[0427] Perform prediction processing on the current node according to a set of target parameters to determine the target prediction value of the current node in the first coordinate system;
[0428] Parse the bitstream and determine the target prediction residual of the current node in the first coordinate system;
[0429] 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;
[0430] 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.
[0431] In an embodiment of the present application, parsing the bitstream and determining the target prediction residual of the current node in the first coordinate system may include: parsing the bitstream and determining the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node.
[0432] 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:
[0433] Determine, based on a set of target parameters, a target quantized residual prediction value of an azimuth component of a current node and a target prediction value of a depth component of the current node;
[0434] Parse the code stream to determine the target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node;
[0435] Dequantizing the target quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the target dequantized prediction residual of the depth component of the current node; and determining the target reconstructed value of the depth component of the current node according to the target predicted value of the depth component of the current node and the target dequantized prediction residual of the depth component of the current node;
[0436] The target quantized prediction residual of the azimuth component of the current node is determined based on the target quantized residual prediction value and the target quantized residual value of the azimuth component of the current node; and the target quantized prediction residual of the azimuth component of the current node is inversely quantized according to the first quantization factor to determine the target inversely quantized prediction residual of the azimuth component of the current node; the target reconstruction value of the azimuth component of the current node is determined based on the target prediction value of the azimuth component of the current node and the target inversely quantized prediction residual of the azimuth component of the current node.
[0437] It should be noted that, in the embodiment of the present application, the target quantized residual value of the azimuth component of the current node can be obtained through the code stream And the target quantized prediction residual QR of the depth component of the current node res Here, the encoding end only processes the azimuth component. And the depth component i is quantized. Then the decoding end only needs the azimuth component The inverse quantization process is performed on the depth component i to determine the target reconstruction value of the azimuth component of the current node And the target reconstruction value R of the depth component rec .
[0438] That is, the target reconstruction value R of the depth component of the current node rec It is based on the quantized and dequantized Rres With R pred As for the azimuth component, the decoding is obtained and the prediction list Summing, we can get Then Perform inverse quantization to obtain Based on and By summing, the target reconstruction value of the azimuth component of the current node can be determined
[0439] In some embodiments, for The method may further include:
[0440] Parse the code stream and determine the order of the current node;
[0441] Determine an initial quantized value of the azimuth component of the current node based on the order of the current node;
[0442] Determine the preset factor of the azimuth component of the current node;
[0443] The target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
[0444] It should be noted that for The calculation is not only related to the order o(P) of the current node, but also to the preset factor of the azimuth component. After determining o(P), the initial quantized value of the azimuth component of the current node can be determined based on o(P). At this time, Among them, the target prediction value of the azimuth component of the current node can also be used express.
[0445] Here, and R rec The calculation formula is as follows:
[0446] InvR res =QR res *dr (36)
[0447] R rec =InvR res +R pred (37)
[0448]
[0449]
[0450] In this way, after determining the reconstruction value R of the current node in the cylindrical coordinate system rec and Afterwards, the position of the current node in the single-chain structure can be determined according to the reconstructed value in the cylindrical coordinate system, thereby reconstructing the single-chain structure.
[0451] S1504: Parse the bitstream to determine the target quantization parameter of the current node and the target quantization prediction residual of the current node in a preset coordinate system.
[0452] 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:
[0453] Parse the bitstream and determine the target quantization parameter index value of the current node;
[0454] The target quantization parameter of the current node is determined according to the preset quantization parameter table and the target quantization parameter index value.
[0455] 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].
[0456] 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.
[0457] That is to say, by parsing the code stream, the QR of the current node in the cylindrical coordinate system can be obtained. res and You can also get the current node in the Cartesian coordinate system (Qx res 、Qy res 、Qz res ).
[0458] S1505: Dequantize the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter to determine the target dequantization prediction residual of the current node in the preset coordinate system.
[0459] 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:
[0460] 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,
[0461] 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.
[0462] 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:
[0463] Performing inverse quantization processing on the target quantized prediction residual of the depth component of the current node according to the target quantization parameter to obtain the target inverse quantized prediction residual of the depth component of the current node; and
[0464] 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.
[0465] That is to say, in the embodiment of the present application, for QR res The inverse quantization processing can be performed according to dr, that is, InvR res =QR res *dr; Alternatively, it can be an inverse quantization process based on the target quantization parameter QP, that is, InvR res =QR res *QP. Here, QP may be a quantization factor obtained by looking up a quantization parameter table, and is not specifically limited thereto.
[0466] Similarly, for 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 there is no specific limitation on this.
[0467] 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.
[0468] 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:
[0469] 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;
[0470] 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;
[0471] 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.
[0472] 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.
[0473] 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.
[0474] 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;
[0475] Determining a first quantization parameter according to the first quantization parameter array and the first quantization parameter index value;
[0476] Determine a second quantization parameter according to the second quantization parameter array and the second quantization parameter index value;
[0477] A third quantization parameter is determined according to the third quantization parameter array and the third quantization parameter index value.
[0478] 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.
[0479] 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.
[0480] S1506: Determine a target reconstruction value of the current node in the preset coordinate system according to the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system.
[0481] S1507: Determine the reconstructed point cloud according to the target reconstruction value of the current node in the preset coordinate system.
[0482] 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:
[0483] 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;
[0484] 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.
[0485] 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.
[0486] It should also be noted that in the present embodiment, the points in the single-chain structure are sequentially used as current nodes to determine the target reconstruction values of the points in the single-chain structure in the second coordinate system; based on the target reconstruction values of the points in the single-chain structure in the second coordinate system, the reconstructed point cloud corresponding to the single-chain structure is determined. Here, the reconstructed point cloud refers to the reconstructed voxelized point cloud.
[0487] It is also understandable that in the embodiment of the present application, for the prediction list, after the current node is decoded according to the target prediction mode, the values in the prediction list need to be updated. In some embodiments, the method may further include: determining the prediction parameters of the current node based on the target reconstruction value of the depth component of the current node and the target quantization prediction residual of the azimuth component of the current node; updating the prediction list based on the prediction parameters of the current node to determine the prediction list of the next node of the current node.
[0488] In a specific embodiment, updating the prediction list according to the prediction parameters of the current node may include:
[0489] If the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, the last set of candidate parameters in the prediction list is deleted, and the index numbers of the remaining candidate parameters in the prediction list are increased by one, and the prediction parameters of the current node are updated to the position with the index number equal to 0 in the prediction list;
[0490] If the target quantization prediction residual of the azimuth component of the current node is greater than the preset threshold, a set of candidate parameters indicated by the target prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameter of the current node is updated to the position where the index number in the prediction list is equal to 0.
[0491] It should also be noted that, in the embodiment of the present application, the update criteria for updating the prediction list are as follows:
[0492] (1) If the target quantization prediction residual of the current node is greater than the preset threshold, the last set of prediction parameters in the prediction list is popped out, and the remaining prediction parameters are pushed back one position, and the current node is updated to the first position in the prediction list;
[0493] (2) If the target quantization prediction residual of the current node is less than the preset threshold, a set of prediction parameters corresponding to the predindex indicated by the target prediction mode is popped out, and the prediction parameters between [0, predindex-1] are all pushed back one position, and the current node is updated to the first position in the prediction list.
[0494] For example, see FIG16, which shows a schematic diagram of updating a prediction list at a decoding end provided by an embodiment of the present application. As shown in FIG16, it is assumed that the prediction list includes five groups of prediction parameters, such as Pr0 and Pr1 and Pr2 and Pr3 and Pr4 and The corresponding index number j = 0, 1, 2, 3, 4. The index number (pred index) is obtained by parsing the code stream. At this time, the corresponding set of prediction parameters is Prj and By parsing the code stream, you can also get the QR res and QR res And predQ(r) are summed to obtain Q(r); and pred Perform sum calculation and get Then for Q(r) and After the inverse quantization processing of the inverse quantization module, the reconstructed value R can be obtained. rec and the prediction residuals Among them, the reconstruction value R rec and quantized prediction residuals The prediction list is updated using the prediction parameters of the current node, and the updated prediction list is used as the prediction list of the next node. The next node is then used as the current node, and the decoding process of this embodiment is continued until the prediction decoding of each point in the single-chain structure is completed. Here, "Q" represents the quantization module, and "IQ" represents the inverse quantization module.
[0495] It can also be understood that in the embodiment of the present application, the prediction list of the encoding end is the same as the prediction list of the decoding end. The number of prediction lists is not limited to five, and can also be other numbers, which are not specifically limited here. In addition, since the encoding end does not quantize and dequantize the laser marking component i, the reconstructed value i rec Same as the original value i. And for the azimuth component As for the depth component R, due to the first quantization factor Determination of R rec Therefore, it is necessary to determine the reconstruction value of the depth component R first, and then determine Then, according to To determine the azimuth component The reconstruction value of .
[0496] An embodiment of the present application provides a decoding method, which can improve the coding efficiency of geometric information by introducing a quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node; further, the quantization parameter table is updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z] to complete different degrees of quantization of x, y and z, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding and decoding performance of point clouds.
[0497] For example, see FIG17A, which shows a block diagram of an L3C2 encoder provided by an embodiment of the present application. As shown in FIG17A, in a single chain structure, assuming that the laser ID (ie, the laser index) is λ, the initial quantization value of the azimuth component is The order of the current node in the single chain structure is determined to be o(P), and o(P) is encoded and written into the code stream. Afterwards, according to and The product of can get the predicted value of the azimuth component According to the original value of the azimuth component and The residual value of the azimuth component can be calculated right After quantification, we can get Then After dequantization, we can get right and By summing the calculations, we can get the reconstructed value of the azimuth component. According to the prediction list, a set of prediction parameters Prj and According to the difference calculation between the original value r of the depth component and Prj, the prediction residual R of the depth component can be obtained. res ; for R res After quantization, we can get QR res ; Then QR res After inverse quantization, we can get InvR res ; for Prj and InvR res By summing the calculations, we can get the reconstructed value R of the depth component. rec In addition, after determining Afterwards, according to and By calculating the difference, we can get Then With QRres Encode and write into code stream; after determining R rec and Afterwards, the prediction list can also be obtained for updating.
[0498] Furthermore, in FIG17A , according to R rec and By performing inverse coordinate transformation, we can determine x estim 、y estim and z estim ; Then, based on the original value (x, y, z) in the Cartesian coordinate system, the prediction residual (x res ,y res , z res ); quantize it and we can get (Qx res , Qy res , Qz res ); then Qx res , Qy res With Qz res Encode and write into the code stream. In addition, in the embodiment of the present application, x estim You can also use Indicates that y estim You can also use Indicates that z estim You can also use express.
[0499] See Figure 17B, which shows a block diagram of the composition of an L3C2 decoder provided by an embodiment of the present application. As shown in Figure 17B, the code stream is parsed to determine the order o(P) of the current node in the single chain structure, and then the initial quantization value of the azimuth component can be determined. In getting Afterwards, according to and The product of can get the predicted value of the azimuth component Parse the code stream and determine the index number j of the target prediction mode; determine the corresponding set of prediction parameters Prj and By parsing the code stream, you can also get the QR res and Using dr to QR res After inverse quantization, we can get InvR res ; for InvR res By summing the values of Prj and R, we can get the reconstructed value R of the depth component. rec ; and and Perform sum calculation and get Then use right After dequantization, we can get right and By summing the calculations, we can get the reconstructed value of the azimuth component. In addition, after determining R rec and Afterwards, you can also and Update the prediction list as the prediction parameter of the current node.
[0500] Furthermore, in FIG17B , according to R rec and By performing inverse coordinate transformation, we can determine x estim 、y estim and z estim ; Then parse the code stream and get (Qx res , Qy res , Qz res ), and then dequantize it, we can get (x res ,y res , z res ); According to (x res ,y res , z res ) and (x estim ,y estim , z estim ), the reconstruction value (x rec ,y rec , z rec ).
[0501] In a specific embodiment, a single chain structure is established based on the L3C2 framework, as described below:
[0502] On the encoding side, the input of the single-chain structure is constructed: the voxelized point cloud and the prior information of the rotating lidar; the output of the single-chain structure is constructed: the geometric prediction value and prediction residual of the current point, the prediction mode used by the current point, the quantization parameter of the current point, the number of repeated points, and the order of each node.
[0503] As shown in Figure 17A , constructing a single-chain structure can be divided into eight steps: reordering, coordinate transformation, establishing a single-chain structure, selecting a prediction mode, generating predicted values, encoding the number of repeated points, quantizing the prediction residuals, inverse coordinate transformation, and encoding the coordinate transformation residuals. Each of these steps is described below.
[0504] The first step is reordering.
[0505] The voxelized point cloud is reordered to construct a more efficient single chain structure. The default sorting method is to sort by the scanning order of the lidar. To do this, the Cartesian coordinates (x, y, z) of each point are converted to polar coordinates. And in turn according to the tangent value of elevation angle tanθ, azimuth angle The radius R sorts the points.
[0506] The second step is coordinate conversion.
[0507] Traverse the point cloud according to the sorted results and convert the points from Cartesian coordinates (x, y, z) to cylindrical coordinates according to the following formula And store it, as shown in Figure 9.
[0508] 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.
[0509] The third step is to establish a single chain structure.
[0510] The regularization of the single-chain structure is detailed in Figures 10A and 10B. Since the LiDAR point cloud is generated by scanning an object using a laser scanner, the specific scanning principle is shown in Figure 11. Specifically, the rotation interval (Δφ) of each laser can be obtained using the laser scanner's acquisition parameters. This Δφ is then used to regularize the vertical direction of the single-chain structure.
[0511] After obtaining the regularized single-chain structure, o(P) corresponding to the single-chain structure of each node is calculated. The specific calculation method is shown in the above formula (7).
[0512] Step 4: Select the prediction mode.
[0513] Each node is predictively encoded according to the single-chain structure shown in FIG10B . A prediction list is established for each node, which contains N (assuming N=5) candidate parameters. The optimal target prediction mode (predMode) is selected using the rate-distortion optimization criterion at the encoding end, and the target prediction mode needs to be encoded. After encoding, the value of the prediction list needs to be updated, as shown in FIG13 . The update criteria here are as follows:
[0514] When the prediction residual is less than a certain threshold (Th), the current node is updated to the prediction list and the last set of prediction parameters is deleted;
[0515] ●When the prediction residual is greater than a certain threshold (Th), the selected set of prediction parameters will be deleted and the current node will be updated to the prediction list.
[0516] The fifth step is quantification of prediction residuals.
[0517] According to FIG12A , assuming that the quantization of x and y of the current node is ΔQ, the quantization of the depth component R can be calculated as: dr = ΔQ / (|cosφ c |+|sinφ c |).
[0518] According to Figure 12B, the azimuth component can be calculated The quantification of is: Where r represents the reconstructed value of the depth component R.
[0519] Step 6: Repeat the coding of the points.
[0520] In the case of lossless geometry, the number of duplicate points of the current node in Cartesian coordinates is encoded.
[0521] Step 7: Inverse coordinate transformation.
[0522] 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 (20) to (22).
[0523] Here, i is the LaserID corresponding to the point. The prior information of each Laser is different, that is, the elevation angle θ and the height zLaser in the vertical direction are different. Therefore, the elevation angle corresponding to the i-th Laser is θ(i), and the height in the vertical direction is zLaser(i).
[0524] Step 8: Coordinate transformation residual encoding.
[0525] The coordinates (x, y, z) of the current point and the coordinates obtained by inverse conversion Get the coordinate transformation residual (x res 、y res 、z res ) After that, in the case of geometric loss, res 、y res The residual component is not encoded, and z res Perform residual quantization coding; for lossless coding, the coordinate transformation residual (x res 、y res 、z res ) performs residual quantization coding.
[0526] At the decoding end, the input of the reconstructed single-chain structure is: the decoded data (including the prediction mode adopted by the current point, the prediction residual of the current point, the quantization parameter of the current point, the number of repeated points, the order of each point), and the prior information of the rotating lidar; the output of the reconstructed single-chain structure is: the reconstructed voxelized point cloud.
[0527] As shown in Figure 17B , reconstructing the single-chain structure can be divided into five steps: generating prediction values, reconstructing the single-chain structure, decoding the number of repeated points, inverse coordinate transformation, and reconstructing the geometric point cloud. Each of these steps is described below.
[0528] The first step is to generate predicted values.
[0529] According to the prediction mode adopted by the current node obtained by decoding and the reconstructed cylindrical coordinates of its ancestors, the cylindrical coordinates of the current point are predicted and the corresponding prediction value is generated. The specific process is as follows:
[0530] ●If the current node is the root node of a single chain structure, the prediction mode is Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is 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
[0531] If the current node is not the root node of the single chain structure, the target prediction mode of the current node is analyzed and the corresponding cylindrical coordinates in the prediction list are used. The predicted value of the cylindrical coordinates of the current node can be obtained by prediction By dequantizing the prediction residual in the cylindrical coordinate system and combining it with the cylindrical coordinate prediction value, the reconstructed cylindrical coordinates of the current node can be restored.
[0532] The second step is to rebuild the L3C2 structure.
[0533] 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 point in,
[0534] 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 single chain structure, so that the single chain structure of L3C2 can be reconstructed. It should be noted that since the encoding end does not quantize and dequantize the laser identification component i, the reconstructed value i rec Same as the original value of i.
[0535] The third step is to decode the number of repeated points.
[0536] In the case of lossless geometry, the number of repeated points of the current node needs to be decoded.
[0537] The fourth step is the inverse coordinate transformation.
[0538] 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 (20) to (22).
[0539] Step 5: Reconstruct the geometric point cloud.
[0540] 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 using the following formula:
[0541]
[0542] Finally, the reconstructed voxelized point cloud can be obtained.
[0543] In short, in the embodiment of the present application, when encoding geometric information, the encoding end improves the encoding efficiency of the point cloud geometric information by estimating the bits consumed by all the information required to be encoded for each prediction mode. Specifically, when selecting the target prediction mode for each point, the best target prediction mode is selected by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residual, which can improve the geometric information encoding efficiency of the point cloud. In the single chain structure encoding of L3C2, not only Adaptive quantization is performed, and R res The components are adaptively quantized, which can be obtained through the relationship between cylindrical coordinates and Cartesian coordinates. This affects the coordinate inverse transformation residual components of the x, y, and z components, so it is necessary to count the bit information required for these three 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 for each prediction mode, it can be ensured that the target prediction mode ultimately selected is the prediction mode that consumes the least bitstream, thereby effectively improving the geometric information encoding efficiency of the point cloud.
[0544] In another specific embodiment, the embodiment of the present application can be further optimized on the L3C2 encoding scheme.
[0545] 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.
[0546] For the above process, the specific algorithm is as follows:
[0547]
[0548]
[0549] 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.
[0550] 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.
[0551] 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 QR of the current node res 、 Analyze and use the following formula to get the geometric information of the current node:
[0552] InvR res =QR res ×dr
[0553] R rec =R pred +InvR res
[0554]
[0555]
[0556]
[0557]
[0558] z rec =R rec *tan(θ(i))-zLaser(i)
[0559] 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:
[0560] Invx res =Qxres *QP
[0561] Invy res =Qy res *QP
[0562] Invz res =Qz res *QP
[0563]
[0564]
[0565]
[0566] This allows the reconstruction of the entire point cloud geometry. Furthermore, the L3C2 coding scheme is further optimized. In addition to introducing a 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], to achieve different degrees of quantization of the x, y, and z components, further improving the coding efficiency of geometric information.
[0567] 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.
[0568] In yet another embodiment of the present application, based on the same inventive concept as the aforementioned embodiment, FIG18 is a schematic diagram illustrating the structure of an encoder provided in an embodiment of the present application. As shown in FIG18 , the encoder 180 may include: a first determining unit 1801, a pre-encoding unit 1802, an encoding unit 1803, a reordering unit 1804, a first quantization unit 1805, and a first inverse quantization unit 1806.
[0569] In a specific embodiment, the first determining unit 1801 is configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0570] The precoding unit 1802 is configured to perform precoding processing on the current node 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, 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;
[0571] The first determining unit 1801 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;
[0572] The encoding unit 1803 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.
[0573] In some embodiments, the first determination unit 1801 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 single chain structure based on the processed point cloud in the first coordinate system.
[0574] In some embodiments, the reordering unit 1804 is configured to perform a reordering process on the initial point cloud before performing coordinate transformation on the points in the initial point cloud.
[0575] In some embodiments, the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to a candidate prediction mode in a prediction list; and use a set of candidate parameters to perform prediction processing on the current node to obtain a prediction value of the current node in the first coordinate system; and determine the prediction residual of the current node in the first coordinate system based on the original value of the current node in the first coordinate system and the prediction value of the current node in the first coordinate system; and determine the reconstructed value of the current node in the first coordinate system based on the prediction residual of the current node in the first coordinate system; and perform coordinate inverse transformation based on the reconstructed value of the current node in the first coordinate system to determine the prediction value of the current node in the second coordinate system; and determine the coordinate transformation residual of the current node in the second coordinate system based on the original value of the current node in the second coordinate system and the prediction value of the current node in the second coordinate system; and determine the precoding information of the candidate prediction mode based on the candidate prediction mode, the 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; wherein the candidate prediction mode is any one of a plurality of prediction modes.
[0576] In some embodiments, the first coordinate system includes at least an azimuth component and a depth component; accordingly, the first determining unit 1801 is further configured to determine an initial prediction residual of the azimuth component of the current node based on an original value of the azimuth component of the current node and a predicted value of the azimuth component of the current node;
[0577] A first quantization unit 1805 is configured to quantize the initial prediction residual of the azimuth component of the current node according to a first quantization factor to determine a quantized prediction residual of the azimuth component of the current node;
[0578] The first determining unit 1801 is further configured to determine an initial prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the predicted value of the depth component of the current node;
[0579] The first quantization unit 1805 is further configured to perform quantization processing on the initial prediction residual of the depth component of the current node according to the second quantization factor to determine the quantized prediction residual of the depth component of the current node.
[0580] In some embodiments, the first dequantization unit 1806 is configured to perform dequantization processing on the quantized prediction residual of the azimuth component of the current node according to the first quantization factor to determine the dequantized prediction residual of the azimuth component of the current node;
[0581] The first determining unit 1801 is further configured to determine a reconstructed value of the azimuth component of the current node 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;
[0582] The first dequantization unit 1806 is further configured to perform dequantization processing on the quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the dequantized prediction residual of the depth component of the current node;
[0583] The first determining unit 1801 is further configured to determine a reconstructed value of the depth component of the current node according to the inverse quantized prediction residual of the depth component of the current node and the predicted value of the depth component of the current node.
[0584] In some embodiments, the first determining unit 1801 is further configured to determine the first quantization factor according to the second quantization factor and the reconstructed value of the depth component of the current node.
[0585] In some embodiments, the first determination unit 1801 is further configured to determine the quantized residual prediction value of the azimuth component of the current node and the prediction value of the depth component of the current node based on a set of candidate parameters; and determine the quantized residual value of the azimuth component of the current node based on the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node; and 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 prediction value of the depth component of the current node; and quantize the prediction residual of the depth component of the current node according to the second quantization factor to determine the quantized prediction residual of the depth component of the current node; and determine the prediction residual of the current node in the first coordinate system based on the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
[0586] In some embodiments, the second coordinate system includes a first axis component, a second axis component, and a third axis component; the precoding unit 1802 is further configured to perform 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 determine a predicted value of the first axis component of the current node, a predicted value of the second axis component of the current node, and a predicted value of the third axis component of the current node;
[0587] Correspondingly, the precoding unit 1802 is also configured to determine the coordinate transformation residual of the first axis component of the current node based on the original value of the first axis component of the current node and the predicted value of the first axis component of the current node; and to determine the coordinate transformation residual of the second axis component of the current node based on the original value of the second axis component of the current node and the predicted value of the second axis component of the current node; and to determine the coordinate transformation residual of the third axis component of the current node based on the original value of the third axis component of the current node and the predicted value of the third axis component of the current node.
[0588] In some embodiments, the precoding unit 1802 is further configured to determine the candidate prediction mode, the quantized residual value of the azimuth component of the current node, the quantized prediction residual of the depth component of the current node, the coordinate 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.
[0589] In some embodiments, the first determination unit 1801 is further configured to determine rate-distortion cost values corresponding to multiple prediction modes based on the respective precoding information of the multiple prediction modes; and determine 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.
[0590] In some embodiments, the encoding unit 1803 is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list; and perform prediction processing on the current node based on a set of target parameters to determine the target prediction value of the current node in the first coordinate system; and determine the target prediction residual of the current node in the first coordinate system 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 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; 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 based on 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.
[0591] In some embodiments, the target prediction residual of the current node in the first coordinate system includes the target quantized residual value of the azimuth component of the current node and the target quantized prediction residual of the depth component of the current node. Accordingly, the first quantization unit 1805 is configured to determine the target quantized residual prediction value of the azimuth component of the current node and the target prediction value of the depth component of the current node based on a set of target parameters; and determine the target prediction residual of the depth component of the current node according to the original value of the depth component of the current node and the target prediction value of the depth component of the current node; and determine the target prediction residual of the depth component of the current node according to the second quantization factor. The prediction residual is quantized to determine the target quantized prediction residual of the depth component of the current node; and the target prediction residual of the azimuth component of the current node is determined based on the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; the target prediction residual of the azimuth component of the current node is quantized according to the first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and the target quantized prediction residual value of the azimuth component of the current node is determined based on the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node;
[0592] The encoding unit 1803 is further configured to encode the target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node, and write the obtained coded bits into the bitstream.
[0593] In some embodiments, the first determination unit 1801 is further configured to determine the initial quantization value of the azimuth component of the current node based on the order of the current node in the single-chain structure; and determine the preset factor of the azimuth component of the current node; and determine the target prediction value of the azimuth component of the current node based on the product of the preset factor and the initial quantization value.
[0594] In some embodiments, the encoding unit 1803 is further configured to encode the sequence of the current node and write the obtained coded bits into the code stream.
[0595] In some embodiments, the first determination unit 1801 is further configured to determine the prediction parameters of the current node based on the target reconstruction value of the depth component of the current node and the target quantized prediction residual of the azimuth component of the current node; and to update the prediction list based on the prediction parameters of the current node to determine the prediction list of the next node of the current node.
[0596] In some embodiments, the first determination unit 1801 is further configured to delete the last group of candidate parameters in the prediction list if the target quantization prediction residual of the azimuth component of the current node is less than a preset threshold, increase the index number of the remaining candidate parameters in the prediction list by one, and update the prediction parameters of the current node to a position in the prediction list with an index number equal to 0; and if the target quantization prediction residual of the azimuth component of the current node is greater than a preset threshold, delete a group of candidate parameters indicated by the target prediction mode, increase the index number located before the candidate prediction mode by one, and update the prediction parameters of the current node to a position in the prediction list with an index number equal to 0.
[0597] In another specific embodiment, the first determining unit 1801 is configured to determine a prediction list of a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0598] The precoding unit 1802 is configured to perform precoding processing on the current node 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;
[0599] The first determining unit 1801 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;
[0600] The encoding unit 1803 is configured to perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine encoding information of the current node, and write the encoding information into the bitstream.
[0601] In some embodiments, the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and perform precoding processing on the current node using the set of candidate parameters to determine a prediction residual of the current node in a preset coordinate system;
[0602] The first quantization unit 1805 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;
[0603] The first determination unit 1801 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.
[0604] In some embodiments, the precoding unit 1802 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; and wherein the preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
[0605] 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 first quantization unit 1805 is also configured to quantize the prediction residual of the current node in the first coordinate system according to the candidate quantization parameter, and determine the quantized prediction residual of the current node in the first coordinate system; and / or, quantize the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantized transformation residual of the current node in the second coordinate system.
[0606] In some embodiments, the precoding unit 1802 is further configured to determine a set of candidate parameters corresponding to the candidate prediction mode in the prediction list; and perform precoding processing on the current node using the set of candidate parameters to determine a prediction residual of the current node in the first coordinate system and a coordinate transformation residual of the current node in the second coordinate system;
[0607] The first quantization unit 1805 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
[0608] The first determining unit 1801 is further configured to determine precoding information of the candidate parameter combination according to the candidate prediction mode, the candidate quantization parameter, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system.
[0609] In some embodiments, the first determining unit 1801 is further configured to determine, based on a set of candidate parameters, a quantized residual prediction value of the azimuth component of the current node and a predicted value of the depth component of the current node; and 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;
[0610] The first quantization unit 1805 is further configured to adjust the second quantization factor according to the candidate quantization parameter, and quantize the prediction residual of the depth component of the current node according to the adjusted second quantization factor to obtain the quantized prediction residual of the depth component of the current node;
[0611] The first determining unit 1801 is further configured to determine a 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;
[0612] The first quantization unit 1805 is further configured to adjust the first quantization factor according to the candidate quantization parameter, and quantize the prediction residual of the azimuth component of the current node according to the adjusted first quantization factor to obtain the quantized prediction residual of the azimuth component of the current node;
[0613] The first determination unit 1801 is also configured to determine the quantized residual value of the azimuth component of the current node based on the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node; and to determine the prediction residual of the current node in the first coordinate system based on the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
[0614] In some embodiments, the first determination unit 1801 is further configured to determine rate-distortion cost values corresponding to multiple parameter combinations based on their respective precoding information; and determine a minimum rate-distortion cost value among the rate-distortion cost values corresponding to the multiple parameter combinations, and determine a target prediction mode and a target quantization parameter based on the parameter combination corresponding to the minimum rate-distortion cost value.
[0615] In some embodiments, the first determination unit 1801 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.
[0616] In some embodiments, the first determining unit 1801 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;
[0617] The first quantization unit 1805 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
[0618] The first dequantization unit 1806 is further configured to perform dequantization processing on the quantization conversion residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the dequantization conversion residual of the current node in the second coordinate system;
[0619] The first determining unit 1801 is further configured to perform an addition operation on the predicted value of the current node in the second coordinate system and the inverse quantization conversion residual to determine the reconstructed value of the current node in the second coordinate system.
[0620] 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 1805 is also configured to use the first candidate quantization parameter to quantize the coordinate transformation residual of the first axis component of the current node to determine the quantized transformation residual of the first axis component of the current node; and use the second candidate quantization parameter to quantize the coordinate transformation residual of the second axis component of the current node to determine the quantized transformation residual of the second axis component of the current node; and use the third candidate quantization parameter to quantize the coordinate transformation residual of the third axis component of the current node to determine the quantized transformation residual of the third axis component of the current node.
[0621] 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 first determination unit 1801 is further configured to determine the 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 the 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 the 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 the mapping relationship between multiple quantization parameters corresponding to the first axis component and multiple quantization parameter index values, the second quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter index values, and the third quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the third axis component and multiple quantization parameter index values.
[0622] In some embodiments, the encoding unit 1803 is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list; and perform prediction processing on the current node based on a set of target parameters to determine the target prediction residual of the current node in the first coordinate system and the target coordinate conversion residual of the current node in the second coordinate system; and use the target quantization parameter to quantize the target coordinate conversion residual of the current node in the second coordinate system to determine the target quantization conversion residual of the current node in the second coordinate system; and determine the encoding information of the current node based on 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.
[0623] In some embodiments, the first determining unit 1801 is further configured to determine a target quantized residual prediction value of the azimuth component of the current node and a target prediction value of the depth component of the current node based on a set of target parameters; and determine a target 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 target prediction value of the depth component of the current node;
[0624] The first quantization unit 1805 is also configured to quantize the target prediction residual value of the depth component of the current node according to the second quantization factor to determine the target quantization prediction residual of the depth component of the current node; and determine the target prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target quantization prediction residual of the azimuth component of the current node; and determine the target quantization residual value of the azimuth component of the current node according to the target quantization prediction residual of the azimuth component of the current node and the target quantization residual prediction value of the azimuth component of the current node; and determine the target quantization prediction residual of the depth component of the current node and the target quantization residual value of the azimuth component of the current node as the target prediction residual of the current node in the first coordinate system.
[0625] In some embodiments, the encoding unit 1803 is further configured to encode the target prediction mode, the target quantization parameter, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
[0626] In some embodiments, the encoding unit 1803 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 target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
[0627] In some embodiments, the encoding unit 1803 is further configured to determine the order of the current node; and encode the order of the current node, and write the obtained encoding bits into the code stream.
[0628] 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.
[0629] 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.
[0630] Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 180. The computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, it implements the method described in any one of the aforementioned embodiments.
[0631] Based on the composition of the above-mentioned encoder 180 and the computer-readable storage medium, refer to Figure 19, which shows a specific hardware structure diagram of the encoder 180 provided in an embodiment of the present application. As shown in Figure 19, the encoder 180 may include: a first communication interface 1901, a first memory 1902 and a first processor 1903; each component is coupled together through a first bus system 1904. It can be understood that the first bus system 1904 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 1904 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the first bus system 1904 in Figure 19. Among them,
[0632] The first communication interface 1901 is used to receive and send signals when sending and receiving information with other external network elements;
[0633] A first memory 1902 is used to store computer programs that can be run on the first processor 1903;
[0634] The first processor 1903 is configured to, when running the computer program, execute:
[0635] Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0636] Performing precoding processing on the current node 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;
[0637] determining a target prediction mode among the multiple prediction modes according to respective precoding information of the multiple prediction modes;
[0638] 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.
[0639] Alternatively, the first processor 1903 is further configured to, when running the computer program, execute:
[0640] Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes;
[0641] Precoding the current node using multiple prediction modes and multiple quantization parameters to 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;
[0642] 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;
[0643] 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.
[0644] It is understood that the first memory 1902 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. 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 1902 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0645] The first processor 1903 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 1903. The above-mentioned first processor 1903 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 1902 , and the first processor 1903 reads the information in the first memory 1902 and completes the steps of the above method in combination with its hardware.
[0646] 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.
[0647] Optionally, as another embodiment, the first processor 1903 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
[0648] 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.
[0649] In another embodiment of the present application, based on the same inventive concept as the above embodiment, refer to FIG20 , which shows a schematic diagram of the structure of a decoder 200 provided by the embodiment of the present application. As shown in FIG20 , the decoder 200 may include: a parsing unit 2001, a second determining unit 2002, and a second inverse quantization unit 2003; wherein,
[0650] A second determining unit 2002 is configured to determine a prediction list of a current node, wherein the prediction list includes multiple candidate parameters;
[0651] The parsing unit 2001 is configured to parse the bitstream and determine the target prediction mode of the current node;
[0652] The second determining unit 2002 is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in the preset coordinate system based on the set of target parameters;
[0653] The parsing unit 2001 is further configured to parse the bitstream to determine a target quantization parameter of a current node and a target quantization prediction residual of the current node in a preset coordinate system;
[0654] The second inverse quantization unit 2003 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;
[0655] The second determination unit 2002 is further configured to determine the target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system; and determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
[0656] In some embodiments, the second determining unit 2002 is further configured to perform prediction processing on the current node according to a set of target parameters to determine a target prediction value of the current node in the first coordinate system;
[0657] The parsing unit 2001 is further configured to parse the bitstream and determine the target prediction residual of the current node at the first coordinate;
[0658] The second determination unit 2002 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.
[0659] In some embodiments, the second determining unit 2002 is further configured to determine a target quantized residual prediction value of an azimuth component of the current node and a target prediction value of a depth component of the current node based on a set of target parameters;
[0660] The parsing unit 2001 is further configured to parse the code stream to determine a target quantized prediction residual of a depth component of a current node and a target quantized residual value of an azimuth component of the current node;
[0661] The second inverse quantization unit 2003 is further configured to perform inverse quantization processing on the target quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the target inverse quantized prediction residual of the depth component of the current node; and determine the target reconstructed value of the depth component of the current node according to the target prediction value of the depth component of the current node and the target inverse quantized prediction residual of the depth component of the current node;
[0662] The second inverse quantization unit 2003 is also configured to determine the target quantization prediction residual of the azimuth component of the current node based on the target quantization residual prediction value and the target quantization residual value of the azimuth component of the current node; and to perform inverse quantization processing on the target quantization prediction residual of the azimuth component of the current node according to the first quantization factor to determine the target inverse quantization prediction residual of the azimuth component of the current node; and to determine the target reconstruction value of the azimuth component of the current node based on the target prediction value of the azimuth component of the current node and the target inverse quantization prediction residual of the azimuth component of the current node.
[0663] In some embodiments, the second determination unit 2002 is further configured to determine the prediction parameters of the current node based on the target reconstruction value of the depth component of the current node and the target quantized prediction residual of the azimuth component of the current node; and to update the prediction list based on the prediction parameters of the current node to determine the prediction list of the next node of the current node.
[0664] In some embodiments, the second determination unit 2002 is further configured to delete the last group of candidate parameters in the prediction list if the target quantization prediction residual of the azimuth component of the current node is less than a preset threshold, increase the index number of the remaining candidate parameters in the prediction list by one, and update the prediction parameters of the current node to a position in the prediction list with an index number equal to 0; and if the target quantization prediction residual of the azimuth component of the current node is greater than a preset threshold, delete a group of candidate parameters indicated by the candidate prediction mode, increase the index number located before the candidate prediction mode by one, and update the prediction parameters of the current node to a position in the prediction list with an index number equal to 0.
[0665] In some embodiments, the parsing unit 2001 is further configured to parse the code stream to determine the order of the current node;
[0666] The second determination unit 2002 is also configured to determine the initial quantization value of the azimuth component of the current node based on the order of the current node; and determine the preset factor of the azimuth component of the current node; and determine the target prediction value of the azimuth component of the current node based on the product of the preset factor and the initial quantization value.
[0667] In some embodiments, the parsing unit 2001 is further configured to parse the bitstream to determine the target quantization parameter index value of the current node;
[0668] The second determining unit 2002 is further configured to determine the target quantization parameter of the current node according to a preset quantization parameter table and the target quantization parameter index value.
[0669] 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 2003 is also configured to dequantize the target quantization prediction residual of the current node in the first coordinate system according to the target quantization parameter, and determine the target dequantization prediction residual of the current node in the first coordinate system; and / or, dequantize the target quantization conversion residual of the current node in the second coordinate system according to the target quantization parameter, and determine the target dequantization conversion residual of the current node in the second coordinate system.
[0670] In some embodiments, the second inverse quantization unit 2003 is further configured to perform inverse quantization processing on the target quantization prediction residual of the depth component of the current node according to the target quantization parameter to obtain the target inverse quantization prediction residual of the depth component of the current node; and perform inverse quantization processing on the target quantization prediction residual of the azimuth component of the current node according to the target quantization parameter to obtain the target inverse quantization prediction residual of the azimuth component of the current node.
[0671] 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 2003 is also configured to use the first quantization parameter to dequantize the target quantization conversion residual of the first axis component of the current node to determine the target dequantization conversion residual of the first axis component of the current node; and use the second quantization parameter to dequantize the target quantization conversion residual of the second axis component of the current node to determine the target dequantization conversion residual of the second axis component of the current node; and use the third quantization parameter to dequantize the target quantization conversion residual of the third axis component of the current node to determine the target dequantization conversion residual of the third axis component of the current node.
[0672] In some embodiments, the parsing unit 2001 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.
[0673] 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 2001 is further configured to parse the bitstream to determine the first quantization parameter index value, the second quantization parameter index value, and the third quantization parameter index value of the current node;
[0674] The second determination unit 2002 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.
[0675] 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.
[0676] 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, which is applied to the decoder 200 and stores a computer program. When the computer program is executed by the second processor, it implements any of the methods in the aforementioned embodiments.
[0677] Based on the composition of the above-mentioned decoder 200 and the computer-readable storage medium, refer to Figure 21, which shows a specific hardware structure diagram of the decoder 200 provided in an embodiment of the present application. As shown in Figure 21, the decoder 200 may include: a second communication interface 2101, a second memory 2102 and a second processor 2103; each component is coupled together through a second bus system 2104. It can be understood that the second bus system 2104 is used to realize the connection and communication between these components. In addition to the data bus, the second bus system 2104 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the second bus system 2104 in Figure 21. Among them,
[0678] The second communication interface 2101 is used to receive and send signals during the process of sending and receiving information between other external network elements;
[0679] The second memory 2102 is used to store computer programs that can be run on the second processor 2103;
[0680] The second processor 2103 is configured to, when running the computer program, execute:
[0681] Determining a prediction list for a current node, wherein the prediction list includes a plurality of candidate parameters;
[0682] Parse the bitstream and determine the target prediction mode of the current node;
[0683] Determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system based on the set of target parameters;
[0684] 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;
[0685] 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;
[0686] 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;
[0687] Determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
[0688] Optionally, as another embodiment, the second processor 2103 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
[0689] It can be understood that the hardware functions of the second memory 2102 are similar to those of the first memory 1902, and the hardware functions of the second processor 2103 are similar to those of the first processor 1903; they will not be described in detail here.
[0690] 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.
[0691] In yet another embodiment of the present application, referring to FIG22 , 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 FIG22 , the coding and decoding system 220 may include an encoder 2201 and a decoder 2202 .
[0692] In the embodiment of the present application, the encoder 2201 may be the encoder described in any one of the aforementioned embodiments, and the decoder 2202 may be the decoder described in any one of the aforementioned embodiments.
[0693] 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.
[0694] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0695] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0696] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0697] 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.
[0698] 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
[0699] In an embodiment of the present application, a prediction list of a current node in a single-chain structure is determined, wherein the prediction list includes multiple groups of candidate parameters, and the index numbers of each of the multiple groups of candidate parameters in the prediction list have a corresponding relationship with multiple prediction modes; pre-coding processing is performed on the current node using multiple prediction modes to determine pre-coding information of each of the multiple prediction modes; wherein the pre-coding information includes at least: a prediction mode, a prediction residual of the current node in a first coordinate system, and a coordinate conversion residual of the current node in a second coordinate system; based on the pre-coding information of each of the multiple prediction modes, a target prediction mode is determined among the multiple prediction modes; encoding processing is performed on the current node according to the target prediction mode to determine encoding information of the current node, and the encoding information is written into a bitstream. In this way, 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 first coordinate system are considered, but also the influence of the coordinate conversion residuals of the first coordinate system on the second coordinate system is considered. This makes it possible to improve the accuracy of the bitstream estimation under each prediction mode when the bitstream is estimated based on the precoding information, thereby making the selected optimal prediction mode more accurate and improving 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 residuals can also be considered. In this way, when the bitstream is estimated based on 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.
Claims
1. A coding method, applied to an encoder, comprising: Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes; Performing precoding processing on the current node using the 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 The method further comprises: 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 single chain 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 performing precoding processing on the current node by using the multiple prediction modes to determine precoding information of each of the multiple prediction modes includes: In the prediction list, determining a set of candidate parameters corresponding to the candidate prediction mode; Performing prediction processing on the current node using the set of candidate parameters 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 a first coordinate system, and a coordinate transformation residual of the current node in a 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 at least an azimuth component and a depth 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 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; and quantizing the initial prediction residual of the azimuth component of the current node according to a first quantization factor to determine a quantized prediction residual of the azimuth component of the current node; Determine the initial 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 quantize the initial prediction residual of the depth component of the current node according to a second quantization factor to determine the quantized prediction residual of the depth component of the current node.
6. The method according to claim 5, 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: performing inverse quantization processing on the quantized prediction residual of the azimuth component of the current node according to the first quantization factor to determine the inverse quantized prediction residual of the azimuth component of the current node; and determining a reconstructed value of the azimuth component of the current node according to the inverse quantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node; The quantized prediction residual of the depth component of the current node is inversely quantized according to the second quantization factor to determine the inversely quantized prediction residual of the depth component of the current node; and the reconstructed value of the depth component of the current node is determined based on the inversely quantized prediction residual of the depth component of the current node and the predicted value of the depth component of the current node.
7. The method according to claim 6, wherein: The method further comprises: The first quantization factor is determined according to the second quantization factor and the reconstructed value of the depth component of the current node.
8. The method according to claim 6, wherein: The method further comprises: Determine, based on the set of candidate parameters, a quantized residual prediction value of the azimuth component of the current node and a prediction value of the depth component of the current node; Determine the quantized residual value of the azimuth component of the current node according to the quantized prediction residual of the azimuth component of the current node and the quantized residual prediction value of the azimuth component of the current node; 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; and quantizing the prediction residual of the depth component of the current node according to a second quantization factor to determine a quantized prediction residual of the depth component of the current node; Determine the prediction residual of the current node in the first coordinate system according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
9. The method according to claim 8, 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 determine a predicted value of the first axis component of the current node, a predicted value of the second axis component of the current node, and 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.
10. The method according to claim 9, 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: The candidate prediction mode, the quantized residual value of the azimuth component of the current node, the quantized prediction residual of the depth component of the current node, the coordinate conversion residual of the first axis component of the current node, the coordinate conversion residual of the second axis component of the current node and the coordinate conversion residual of the third axis component of the current node are determined as the precoding information of the candidate prediction mode.
11. The method according to any one of claims 1 to 10, 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.
12. The method according to claim 11, wherein The performing encoding processing on the current node according to the target prediction mode to determine encoding information of the current node includes: In the prediction list, determining a set of target parameters corresponding to the target prediction mode; Performing prediction processing on the current node according to the set of target parameters to determine a target prediction value of the current node in the 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.
13. The method according to claim 12, wherein: The target prediction residual of the current node in the first coordinate system includes a target quantized residual value of an azimuth component of the current node and a target quantized prediction residual of a depth component of the current node, and the method further includes: Determining a target quantized residual prediction value of an azimuth component of the current node and a target prediction value of a depth component of the current node based on the set of target parameters; Determining a target prediction residual of the depth component of the current node according to an original value of the depth component of the current node and a target prediction value of the depth component of the current node; and quantizing the target prediction residual of the depth component of the current node according to a second quantization factor to determine a target quantized prediction residual of the depth component of the current node; Determine a target 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 target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to a first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and determine a target quantized residual value of the azimuth component of the current node according to the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node; The target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are encoded, and the obtained encoded bits are written into a bitstream.
14. The method according to claim 13, wherein The method further comprises: Determining an initial quantized value of an azimuth component of the current node based on an order of the current node in the single-link structure; Determining a preset factor of the azimuth component of the current node; A target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
15. The method according to claim 14, wherein The method further comprises: The sequence of the current node is encoded, and the obtained encoded bits are written into a bitstream.
16. The method according to claim 13, wherein: The method further comprises: Determining a prediction parameter of the current node according to a target reconstruction value of the depth component of the current node and a target quantized prediction residual of the azimuth component of the current node; The prediction list is updated according to the prediction parameter of the current node to determine a prediction list of a next node of the current node.
17. The method according to claim 16, wherein The updating of the prediction list according to the prediction parameter of the current node includes: If the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, deleting the last set of candidate parameters in the prediction list, increasing the index numbers of the remaining candidate parameters in the prediction list by one, and updating the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0; If the target quantization prediction residual of the azimuth component of the current node is greater than a preset threshold, a set of candidate parameters indicated by the target prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameter of the current node is updated to the position where the index number in the prediction list is equal to 0.
18. A decoding method, applied to a decoder, comprising: determining a prediction list for a current node, wherein the prediction list includes a plurality of candidate parameters; Parsing the bitstream to determine the target prediction mode of the current node; Determining a set of target parameters corresponding to the target prediction mode in the prediction list, and determining a target prediction value of the current node in a preset coordinate system based on the set of target parameters; 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 Determining a target prediction value of the current node in a preset coordinate system according to the set of target parameters includes: Performing prediction processing on the current node according to the set of target parameters to determine a target prediction value of the current node in the first coordinate system; Parsing the bitstream to determine the target prediction residual of the current node at the first coordinate; 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 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: Determining a target quantized residual prediction value of an azimuth component of the current node and a target prediction value of a depth component of the current node based on the set of target parameters; Parsing the bitstream to determine a target quantized prediction residual of a depth component of the current node and a target quantized residual value of an azimuth component of the current node; Dequantizing the target quantized prediction residual of the depth component of the current node according to the second quantization factor to determine the target dequantized prediction residual of the depth component of the current node; and determining the target reconstructed value of the depth component of the current node according to the target predicted value of the depth component of the current node and the target dequantized prediction residual of the depth component of the current node; The target quantized prediction residual of the azimuth component of the current node is determined based on the target quantized residual prediction value and the target quantized residual value of the azimuth component of the current node; and the target quantized prediction residual of the azimuth component of the current node is dequantized according to the first quantization factor to determine the target dequantized prediction residual of the azimuth component of the current node; the target reconstruction value of the azimuth component of the current node is determined based on the target prediction value of the azimuth component of the current node and the target dequantized prediction residual of the azimuth component of the current node.
21. The method according to claim 20, wherein The method further comprises: Determining a prediction parameter of the current node according to a target reconstruction value of the depth component of the current node and a target quantized prediction residual of the azimuth component of the current node; The prediction list is updated according to the prediction parameter of the current node to determine a prediction list of a next node of the current node.
22. The method according to claim 21, wherein The updating of the prediction list according to the prediction parameter of the current node includes: If the target quantized prediction residual of the azimuth component of the current node is less than a preset threshold, deleting the last set of candidate parameters in the prediction list, increasing the index numbers of the remaining candidate parameters in the prediction list by one, and updating the prediction parameters of the current node to a position in the prediction list where the index number is equal to 0; If the target quantized prediction residual of the azimuth component of the current node is greater than a preset threshold, a set of candidate parameters indicated by the candidate prediction mode is deleted, and the index number before the candidate prediction mode is increased by one, and the prediction parameter of the current node is updated to the position where the index number in the prediction list is equal to 0.
23. The method according to claim 20, wherein The method further comprises: Parsing the code stream to determine the order of the current node; Determining an initial quantized value of an azimuth component of the current node based on the order of the current node; Determining a preset factor of the azimuth component of the current node; A target prediction value of the azimuth component of the current node is determined according to the product of the preset factor and the initial quantization value.
24. 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.
25. 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.
26. The method according to claim 25, 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: Performing inverse quantization processing on the target quantized prediction residual of the depth component of the current node according to the target quantization parameter to obtain the target inverse quantized prediction residual of the depth component of the current node; and 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.
27. The method according to claim 25, 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.
28. The method according to claim 27, 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.
29. The method according to claim 27, 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; 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, and 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. The third quantization parameter array is used to indicate a mapping relationship between the multiple quantization parameters corresponding to the third axis component and multiple quantization parameter index values.
30. A coding method, applied to an encoder, comprising: Determining a prediction list for a current node in the single-chain structure, wherein the prediction list includes multiple sets of candidate parameters, and each of the multiple sets of candidate parameters has a corresponding relationship between an index number in the prediction list and multiple prediction modes; performing precoding processing on the current node 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.
31. The method according to claim 30, wherein The precoding process is performed on the current node using multiple prediction modes and multiple quantization parameters to determine precoding information of the multiple parameter combinations, including: Determining a set of candidate parameters corresponding to a candidate prediction mode in the prediction list; and performing precoding processing on the current node using the set of candidate parameters 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.
32. The method according to claim 31, 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.
33. The method according to claim 31, 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.
34. The method according to claim 33, wherein The method further comprises: Determining, in the prediction list, a set of candidate parameters corresponding to the candidate prediction mode; and performing precoding processing on the current node using the set of candidate parameters to determine 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; 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.
35. The method according to claim 34, wherein The method further comprises: Determine, based on the set of candidate parameters, a quantized residual prediction value of the azimuth component of the current node and a prediction value of the depth 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; adjusting a second quantization factor according to the candidate quantization parameter, and quantizing the prediction residual of the depth component of the current node according to the adjusted second quantization factor to obtain a quantized prediction residual of the depth component of the current node; 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; adjusting a first quantization factor according to the candidate quantization parameter, and quantizing the prediction residual of the azimuth component of the current node according to the adjusted first quantization factor to obtain a quantized prediction residual of the azimuth component of the current node; and determining a quantized residual value of the azimuth component of the current node according to the quantized prediction residual of the azimuth component of the current node and a predicted value of the quantized residual of the azimuth component of the current node; Determine the prediction residual of the current node in the first coordinate system according to the quantized residual value of the azimuth component of the current node and the quantized prediction residual of the depth component of the current node.
36. The method of claim 34, 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.
37. The method according to claim 36, 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.
38. The method of claim 37, 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.
39. The method according to claim 38, 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.
40. The method of claim 39, 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.
41. The method of claim 30, 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: In the prediction list, determining a set of target parameters corresponding to the target prediction mode; Performing prediction processing on the current node according to the set of target parameters, determining a target prediction residual of the current node in a first coordinate system and a target coordinate conversion residual of the current node in a 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.
42. The method according to claim 41, wherein The method further comprises: Determining a target quantized residual prediction value of an azimuth component of the current node and a target prediction value of a depth component of the current node based on the set of target parameters; Determining a target prediction residual of the depth component of the current node according to an original value of the depth component of the current node and a target prediction value of the depth component of the current node; quantizing the target prediction residual value of the depth component of the current node according to a second quantization factor to determine the target quantized prediction residual of the depth component of the current node; Determine a target 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 target prediction value of the azimuth component of the current node; quantize the target prediction residual of the azimuth component of the current node according to a first quantization factor to determine the target quantized prediction residual of the azimuth component of the current node; and determine a target quantized residual value of the azimuth component of the current node according to the target quantized prediction residual of the azimuth component of the current node and the target quantized residual prediction value of the azimuth component of the current node; The target quantized prediction residual of the depth component of the current node and the target quantized residual value of the azimuth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.
43. The method according to claim 42, wherein The method further comprises: The target prediction mode, the target quantization parameter, the target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system are encoded, and the obtained encoding bits are written into the bitstream.
44. The method of claim 42, 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 target quantization prediction residual of the depth component of the current node, the target quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system are encoded, and the obtained encoding bits are written into the bitstream.
45. The method of claim 30, wherein The method further comprises: Determining the order of the current node; The sequence of the current node is encoded, and the obtained encoded bits are written into a bitstream.
46. 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: A target prediction mode, a target quantization parameter index value, an order of a current node, a target prediction residual of the current node in a first coordinate system, and a target quantization conversion residual of the current node in a second coordinate system.
47. An encoder, comprising a first determining unit, a pre-encoding unit, and an encoding unit; wherein: The first determining unit is configured to determine a prediction list of a current node in the single-link structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes; The precoding unit is configured to perform precoding processing on the current node using the 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 the first coordinate system, and a 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.
48. An encoder, comprising a first determining unit, a pre-encoding unit, and an encoding unit; wherein: The first determining unit is configured to determine a prediction list of a current node in the single-link structure, wherein the prediction list includes multiple groups of candidate parameters, and each of the multiple groups of candidate parameters has a corresponding relationship between an index number in the prediction list and a plurality of prediction modes; The precoding unit is configured to perform precoding processing on the current node 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; 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.
49. 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 30 to 45, when running the computer program.
50. A decoder comprising a parsing unit, a second determining unit, and a second inverse quantization unit; wherein: The second determining unit is configured to determine a prediction list of the current node, wherein the prediction list includes multiple candidate parameters; The parsing unit is configured to parse the bitstream and determine the target prediction mode of the current node; The second determining unit is further configured to determine a set of target parameters corresponding to the target prediction mode in the prediction list, and determine a target prediction value of the current node in a preset coordinate system based on the set of target parameters; 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.
51. 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 29 when running the computer program.
52. 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 29, or the method according to any one of claims 30 to 45.