WO2024065406A1 - 编解码方法、码流、编码器、解码器以及存储介质 - Google Patents

编解码方法、码流、编码器、解码器以及存储介质 Download PDF

Info

Publication number
WO2024065406A1
WO2024065406A1 PCT/CN2022/122652 CN2022122652W WO2024065406A1 WO 2024065406 A1 WO2024065406 A1 WO 2024065406A1 CN 2022122652 W CN2022122652 W CN 2022122652W WO 2024065406 A1 WO2024065406 A1 WO 2024065406A1
Authority
WO
WIPO (PCT)
Prior art keywords
current node
target
coordinate system
prediction
residual
Prior art date
Application number
PCT/CN2022/122652
Other languages
English (en)
French (fr)
Inventor
孙泽星
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/122652 priority Critical patent/WO2024065406A1/zh
Publication of WO2024065406A1 publication Critical patent/WO2024065406A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiments of the present application relate to the technical field of point cloud data processing, and in particular to a coding and decoding method, a bit stream, an encoder, a decoder, and a storage medium.
  • the geometric information and attribute information of the point cloud are encoded separately.
  • the geometry coding of G-PCC can be divided into octree-based geometry coding and prediction tree-based geometry coding.
  • the input point cloud is first sorted, and a prediction tree is established at the encoding end; then each node in the prediction tree is traversed, and after selecting the corresponding prediction mode, the geometric position information of the node is predicted according to the prediction mode to obtain the prediction residual, and finally the prediction mode and prediction residual of each node are encoded to generate a binary code stream.
  • the best prediction mode is usually selected to improve the geometric encoding efficiency of the point cloud.
  • the current method of deciding the prediction mode is unreasonable, resulting in inaccurate selection of the best prediction mode, which reduces the encoding efficiency of geometric information.
  • the embodiments of the present application provide a coding and decoding method, a bit stream, an encoder, a decoder and a storage medium, which can improve the accuracy of selecting the best prediction mode, thereby improving the coding efficiency of geometric information and improving the coding and decoding performance of point clouds.
  • an embodiment of the present application provides an encoding method, which is applied to an encoder, and the method includes:
  • the 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.
  • an embodiment of the present application provides a decoding method, which is applied to a decoder, and the method includes:
  • the target prediction mode determine the target prediction value of the current node in the preset coordinate system
  • an embodiment of the present application provides an encoding method, which is applied to an encoder, and the method includes:
  • 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.
  • an embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least one of the following:
  • Target prediction mode target quantization parameter index value, number of skip points between the current node and the parent node, target prediction residual of the current node in the first coordinate system, and target quantization conversion residual of the current node in the second coordinate system.
  • an embodiment of the present application provides an encoder, the encoder comprising a first determining unit, a first pre-encoding unit and an encoding unit; wherein,
  • a first determining unit is configured to determine a prediction tree structure corresponding to an initial point cloud
  • a first precoding unit is configured to perform precoding processing on a current node of a prediction tree structure through multiple prediction modes, and determine precoding information of each of the multiple prediction modes; wherein the precoding information at least includes: 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;
  • the first determining unit is further configured to determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes;
  • the encoding unit is configured to perform encoding processing on the current node according to the target prediction mode, determine the encoding information of the current node, and write the encoding information into the bitstream.
  • an embodiment of the present application provides an encoder, the encoder comprising a first determining unit, a first pre-encoding unit and an encoding unit; wherein,
  • a first determining unit is configured to determine a prediction tree structure corresponding to an initial point cloud
  • a first precoding unit is configured to perform precoding processing on a current node of a prediction tree structure through multiple prediction modes and multiple quantization parameters, and determine precoding information of each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information at least includes: the prediction mode, the quantization parameter, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
  • the first determination unit is further configured to determine a target prediction mode and a target quantization parameter in the plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;
  • the encoding unit is configured to perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine the encoding information of the current node, and write the encoding information into the bit stream.
  • an embodiment of the present application provides an encoder, the encoder comprising a first memory and a first processor; wherein,
  • a first memory for storing a computer program that can be run on the first processor
  • the first processor is configured to execute the method according to the first aspect or the third aspect when running a computer program.
  • an embodiment of the present application provides a decoder, the decoder comprising a parsing unit, a second determining unit, and a second dequantization unit; wherein:
  • a parsing unit configured to parse the bitstream and determine a target prediction mode of a current node
  • a second determination unit is configured to determine a target prediction value of a current node in a preset coordinate system according to a target prediction mode
  • the parsing unit is further configured to parse the bitstream to determine a target quantization parameter of a current node and a target quantization prediction residual of the current node in a preset coordinate system;
  • a second dequantization unit is configured to perform dequantization processing on a target quantization prediction residual of the current node in a preset coordinate system according to a target quantization parameter, and determine a target dequantization prediction residual of the current node in the preset coordinate system;
  • the second determination unit is also configured to determine the target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system; and determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
  • an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor; wherein:
  • a second memory for storing a computer program that can be run on a second processor
  • the second processor is used to execute the method described in the second aspect when running the computer program.
  • an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed, it implements the method as described in the first aspect, or the method as described in the second aspect, or the method as described in the third aspect.
  • the embodiment of the present application provides a coding and decoding method, a code stream, an encoder, a decoder and a storage medium.
  • a prediction tree structure corresponding to an initial point cloud is determined; a current node of the prediction tree structure is pre-coded by multiple prediction modes to determine the pre-coding information of each of the multiple prediction modes; wherein the pre-coding information at least includes: a prediction mode, a prediction residual of the current node in a first coordinate system and a coordinate transformation residual of the current node in a second coordinate system; a target prediction mode is determined in the multiple prediction modes according to the pre-coding information of each of the multiple prediction modes; a current node is coded according to the target prediction mode to determine the coding information of the current node, and the coding information is written into the code stream; in this way, after counting the pre-coding information corresponding to each prediction mode, When calculating the code information, not only the prediction mode and the prediction residual of the current node in the first coordinate system are considered, but also
  • the best target quantization parameter and target prediction mode can be selected based on the principle of minimum cost value, which can further improve the coding efficiency of the geometric information, thereby improving the encoding and decoding performance of the point cloud.
  • FIG1A is a schematic diagram of a three-dimensional point cloud image
  • FIG1B is a partially enlarged schematic diagram of a three-dimensional point cloud image
  • FIG2A is a schematic diagram of a point cloud image at different viewing angles
  • FIG2B is a schematic diagram of a data storage format corresponding to FIG2A ;
  • FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding
  • FIG4A is a schematic block diagram of a G-PCC encoder
  • FIG4B is a schematic block diagram of a G-PCC decoder
  • FIG5A is a schematic diagram of an intersection of a seed block
  • FIG5B is a schematic diagram of fitting a triangular face set
  • FIG5C is a schematic diagram of upsampling of a triangular face set
  • FIG6A is a block diagram of an AVS encoder
  • FIG6B is a block diagram of an AVS decoder
  • FIG7 is a schematic diagram showing the relationship between an azimuth component and a depth component
  • FIG8 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application.
  • FIG9 is a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud
  • FIG10 is a schematic diagram of a composition of a prediction tree structure provided in an embodiment of the present application.
  • FIG11 is a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application.
  • FIG12 is a schematic diagram of a flow chart of a decoding method provided in an embodiment of the present application.
  • FIG13A is a schematic block diagram of an encoder for constructing a prediction tree structure provided by an embodiment of the present application.
  • FIG13B is a schematic diagram of a decoder block diagram for reconstructing a prediction tree structure provided by an embodiment of the present application.
  • FIG14 is a schematic diagram of the composition structure of an encoder provided in an embodiment of the present application.
  • FIG15 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application.
  • FIG16 is a schematic diagram of the structure of a decoder provided in an embodiment of the present application.
  • FIG17 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application.
  • FIG. 18 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application.
  • first ⁇ second ⁇ third involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that “first ⁇ second ⁇ third” can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
  • Point Cloud is a three-dimensional representation of the surface of an object.
  • Point cloud (data) on the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
  • a point cloud is a set of discrete points that are irregularly distributed in space and express the spatial structure and surface properties of a three-dimensional object or scene.
  • FIG1A shows a three-dimensional point cloud image
  • FIG1B shows a partial magnified view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.
  • Two-dimensional images have information expressed at each pixel point, and the distribution is regular, so there is no need to record its position information additionally; however, the distribution of points in point clouds in three-dimensional space is random and irregular, so it is necessary to record the position of each point in space in order to fully express a point cloud.
  • each position in the acquisition process has corresponding attribute information, usually RGB color values, and the color value reflects the color of the object; for point clouds, in addition to color information, the attribute information corresponding to each point is also commonly the reflectance value, which reflects the surface material of the object. Therefore, the points in the point cloud can include the position information of the point and the attribute information of the point.
  • the position information of the point can be the three-dimensional coordinate information (x, y, z) of the point.
  • the position information of the point can also be called the geometric information of the point.
  • the attribute information of the point can include color information (three-dimensional color information) and/or reflectance (one-dimensional reflectance information r), etc.
  • the color information can be information on any color space.
  • the color information can be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
  • the color information may be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the reflectivity value of the points.
  • the points in the point cloud may include the three-dimensional coordinate information of the points and the three-dimensional color information of the points.
  • a point cloud obtained by combining the principles of laser measurement and photogrammetry may include the three-dimensional coordinate information of the points, the reflectivity value of the points and the three-dimensional color information of the points.
  • Figure 2A and 2B a point cloud image and its corresponding data storage format are shown.
  • Figure 2A provides six viewing angles of the point cloud image
  • Figure 2B consists of a file header information part and a data part.
  • the header information includes the data format, data representation type, the total number of point cloud points, and the content represented by the point cloud.
  • the point cloud is in the ".ply" format, represented by ASCII code, with a total number of 207242 points, and each point has three-dimensional coordinate information (x, y, z) and three-dimensional color information (r, g, b).
  • Point clouds can be divided into the following categories according to the way they are obtained:
  • Static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
  • Dynamic point cloud The object is moving, but the device that obtains the point cloud is stationary;
  • Dynamic point cloud acquisition The device used to acquire the point cloud is in motion.
  • point clouds can be divided into two categories according to their usage:
  • Category 1 Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.
  • Category 2 Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Point clouds are obtained by directly sampling real objects, and can provide a strong sense of reality while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.
  • Point clouds can be collected mainly through the following methods: computer generation, 3D laser scanning, 3D photogrammetry, etc.
  • Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
  • 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of point clouds per second.
  • the number of points in each point cloud frame is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar).
  • the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but also be inconvenient for transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, the point cloud needs to be compressed.
  • the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by AVS.
  • the G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, which can be based on the point cloud compression test platform (Test Model Compression 13, TMC13), and the V-PCC codec framework can be used to compress the second type of dynamic point cloud, which can be based on the point cloud compression test platform (Test Model Compression 2, TMC2). Therefore, the G-PCC codec framework is also called the point cloud codec TMC13, and the V-PCC codec framework is also called the point cloud codec TMC2.
  • FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding provided by the embodiment of the present application.
  • the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01.
  • the electronic device can be various types of devices with point cloud encoding and decoding functions.
  • the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., which is not limited by the embodiment of the present application.
  • the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.
  • the electronic device in the embodiment of the present application has a point cloud encoding and decoding function, generally including a point cloud encoder (ie, encoder) and a point cloud decoder (ie, decoder).
  • a point cloud encoder ie, encoder
  • a point cloud decoder ie, decoder
  • the point cloud data is first divided into multiple slices by slice division.
  • the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately.
  • FIG4A shows a schematic diagram of the composition framework of a G-PCC encoder.
  • the geometric information is transformed so that all point clouds are contained in a bounding box (Bounding Box), and then quantized.
  • This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same, so whether to remove duplicate points is determined based on parameters.
  • the process of quantization and removal of duplicate points is also called voxelization.
  • the Bounding Box is divided into octrees or a prediction tree is constructed.
  • arithmetic coding is performed on the points in the divided leaf nodes to generate a binary geometric bit stream; or, arithmetic coding is performed on the intersection points (Vertex) generated by the division (surface fitting is performed based on the intersection points) to generate a binary geometric bit stream.
  • color conversion is required first to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the uncoded attribute information corresponds to the reconstructed geometric information. Attribute encoding is mainly performed on color information.
  • FIG4B shows a schematic diagram of the composition framework of a G-PCC decoder.
  • the geometric bit stream and the attribute bit stream in the binary bit stream are first decoded independently.
  • the geometric information of the point cloud is obtained through arithmetic decoding-reconstruction of the octree/reconstruction of the prediction tree-reconstruction of the geometry-coordinate inverse conversion;
  • the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD partitioning/RAHT-color inverse conversion, and the point cloud data to be encoded (i.e., the output point cloud) is restored based on the geometric information and attribute information.
  • the current geometric coding of G-PCC can be divided into octree-based geometric coding (marked by a dotted box) and prediction tree-based geometric coding (marked by a dotted box).
  • the octree-based geometry encoding includes: first, coordinate transformation of the geometric information so that all point clouds are contained in a Bounding Box. Then quantization is performed. This step of quantization mainly plays a role of scaling. Due to the quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined based on parameters. The process of quantization and removal of duplicate points is also called voxelization. Next, the Bounding Box is continuously divided into trees (such as octrees, quadtrees, binary trees, etc.) in the order of breadth-first traversal, and the placeholder code of each node is encoded.
  • trees such as octrees, quadtrees, binary trees, etc.
  • the bounding box of the point cloud is calculated. Assume that dx > dy > dz , the bounding box corresponds to a cuboid.
  • binary tree partitioning will be performed based on the x-axis to obtain two child nodes.
  • quadtree partitioning will be performed based on the x- and y-axes to obtain four child nodes.
  • octree partitioning will be performed until the leaf node obtained by partitioning is a 1 ⁇ 1 ⁇ 1 unit cube.
  • K indicates the maximum number of binary tree/quadtree partitions before octree partitioning
  • M is used to indicate that the minimum block side length corresponding to binary tree/quadtree partitioning is 2M .
  • the reason why parameters K and M meet the above conditions is that in the process of geometric implicit partitioning in G-PCC, the priority of partitioning is binary tree, quadtree and octree.
  • the node block size does not meet the conditions of binary tree/quadtree, the node will be partitioned by octree until the minimum unit of leaf node 1 ⁇ 1 ⁇ 1 is reached.
  • the geometric information coding mode based on octree has an efficient compression rate only for points with correlation in space, while for points in isolated positions in geometric space, the use of direct coding model (DCM) can greatly reduce the complexity.
  • DCM direct coding model
  • the use of DCM is not represented by flag information, but is inferred by the parent node and neighbor information of the current node. There are two ways to determine whether the current node is eligible for DCM encoding:
  • the current node has only one occupied child node, and the parent node of the current node's parent node has only two occupied child nodes, that is, the current node has at most one neighbor node.
  • the parent node of the current node has only one child node, the current node.
  • the six neighbor nodes that share a face with the current node are also empty nodes.
  • the current node does not have the DCM coding qualification, it will be divided into octrees. If it has the DCM coding qualification, the number of points contained in the node will be further determined. When the number of points is less than the threshold (for example, 2), the node will be DCM-encoded, otherwise the octree division will continue.
  • the threshold for example, 2
  • the geometric coordinate (x, y, z) components of the points contained in the current node will be directly encoded independently.
  • the side length of a node is 2d , d bits are required to encode each component of the geometric coordinates of the node, and the bit information is directly written into the bit stream.
  • G-PCC currently introduces a plane coding mode. In the process of geometric division, it will determine whether the child nodes of the current node are in the same plane. If the child nodes of the current node meet the conditions of the same plane, the child nodes of the current node will be represented by the plane.
  • the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained. The number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.
  • geometric information coding based on triangle soup (trisoup)
  • geometric division must also be performed first, but different from geometric information coding based on binary tree/quadtree/octree, this method does not need to divide the point cloud into unit cubes with a side length of 1 ⁇ 1 ⁇ 1 step by step, but stops dividing when the side length of the sub-block is W.
  • the surface and the twelve edges of the block are obtained.
  • the vertex coordinates of each block are encoded in turn to generate a binary code stream.
  • the Predictive geometry coding based on the Predictive tree includes: first, sorting the input point cloud.
  • the currently used sorting methods include disorder, Morton order, azimuth order, and radial distance order.
  • the prediction tree structure is established by using two different methods, including: high-latency slow mode (KD-Tree, KD tree) and low-latency fast mode (using laser radar calibration information).
  • KD-Tree high-latency slow mode
  • KD tree high-latency slow mode
  • KD-Tree high-latency fast mode
  • each point is divided into different lasers (Laser), and the prediction tree structure is established according to different Lasers.
  • each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the geometric prediction residual, and the geometric prediction residual is quantized using the quantization parameter.
  • the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameter are encoded to generate a binary code stream.
  • the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream, and then obtains the geometric position prediction residual information and quantization parameters of each prediction node through parsing, and dequantizes the prediction residual to recover the reconstructed geometric position information of each node, and finally completes the geometric reconstruction of the decoding end.
  • attribute encoding is mainly performed on color information.
  • the color information is converted from the RGB color space to the YUV color space.
  • the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • color information encoding there are two main transformation methods. One is the distance-based lifting transformation that relies on LOD division, and the other is to directly perform RAHT transformation. Both methods will convert 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 referred to as "code stream").
  • Morton codes can be used to search for nearest neighbors.
  • the Morton code corresponding to each point in the point cloud can be obtained from the geometric coordinates of the point.
  • the specific method for calculating the Morton code is described as follows. For each component of the three-dimensional coordinate represented by a d-bit binary number, its three components can be expressed as:
  • the Morton code M is x, y, z starting from the highest bit, and then arranged in sequence from x l ,y l ,z l to the lowest bit.
  • the calculation formula of M is as follows:
  • Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
  • Condition 3 The geometric position is lossless, and the attributes are limitedly lossy
  • Condition 4 The geometric position and attributes are lossless.
  • the general test sequences include Cat1A, Cat1B, Cat3-fused, and Cat3-frame.
  • Cat2-frame point cloud only contains reflectivity attribute information
  • Cat1A and Cat1B point clouds only contain color attribute information
  • Cat3-fused point cloud contains both color and reflectivity attribute information.
  • the bounding box is divided into sub-cubes in sequence, and the non-empty sub-cubes (containing points in the point cloud) are divided again until the leaf node obtained by division is a 1 ⁇ 1 ⁇ 1 unit cube.
  • the number of points contained in the leaf node needs to be encoded, and finally the encoding of the geometric octree is completed to generate a binary code stream.
  • the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained.
  • geometric lossless decoding it is necessary to parse the number of points contained in each leaf node and finally restore the geometrically reconstructed point cloud information.
  • the prediction tree structure is established by using two different methods, including: based on KD-Tree (high-latency slow mode) and using lidar calibration information (low-latency fast mode).
  • lidar calibration information each point can be divided into different Lasers, and the prediction tree structure is established according to different Lasers.
  • each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the geometric prediction residual, and the geometric prediction residual is quantized using the quantization parameter.
  • the prediction residual of the node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.
  • the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream, and then obtains the geometric position prediction residual information and quantization parameters of each prediction node through parsing, and dequantizes the prediction residual to restore the reconstructed geometric position information of each node, and finally completes the geometric reconstruction at the decoding end.
  • Figure 6A shows a schematic diagram of the composition framework of an AVS encoder
  • Figure 6B shows a schematic diagram of the composition framework of an AVS encoder.
  • the geometric information is first transformed into coordinates so that all point clouds are contained in a Bounding Box.
  • the parameter configuration will determine whether to divide the entire point cloud sequence into multiple slices, and each divided slice will be treated as a single independent point cloud for serial processing.
  • the preprocessing process includes quantization and removal of duplicate points. Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined according to the parameters.
  • the Bounding Box is divided (octree/quadtree/binary tree) in the order of breadth-first traversal, and the placeholder code of each node is encoded.
  • the bounding box is divided into sub-cubes in turn, and the non-empty (containing points in the point cloud) sub-cubes are continued to be divided until the leaf node obtained by the division is a 1 ⁇ 1 ⁇ 1 unit cube. Then, the division is stopped when the leaf node is a 1 ⁇ 1 ⁇ 1 unit cube.
  • the number of points contained in the leaf node is encoded, and finally the geometric octree encoding is completed to generate a binary geometric bit stream (i.e., geometric code stream).
  • the decoder obtains the placeholder code of each node by continuous parsing in the order of breadth-first traversal, and divides the nodes in turn until a 1 ⁇ 1 ⁇ 1 unit cube is obtained. The number of points contained in each leaf node is parsed to finally recover the geometric information.
  • attribute encoding is mainly performed on color and reflectivity information.
  • color information encoding it is divided into two modules: attribute prediction and attribute transformation.
  • the attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. There are two reordering methods: Morton reordering and Hilbert reordering.
  • the attribute prediction of the sorted point cloud is performed using a differential method, and finally the prediction residual is quantized and entropy encoded to generate a binary attribute bit stream.
  • the attribute transformation process is as follows: first, wavelet transform is performed on the point cloud attributes and the transform coefficients are quantized; secondly, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transform; then the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and quantize it; finally, the quantized transform coefficients and attribute residual are entropy encoded to generate a binary attribute bit stream (i.e., attribute code stream).
  • the decoding end performs entropy decoding-inverse quantization-attribute prediction compensation/attribute inverse transform-inverse spatial transform on the attribute bit stream, and finally recovers the attribute information.
  • Condition 1 The geometric position is limitedly lossy and the attributes are lossy;
  • Condition 3 The geometric position is lossless, and the attributes are limitedly lossy
  • Condition 4 The geometric position and attributes are lossless.
  • Cat1A and Cat2-frame point clouds only contain reflectance attribute information
  • Cat1B and Cat3 point clouds only contain color attribute information
  • Cat1C point cloud contains both color and reflectance attribute information.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.), and the prediction algorithm is first used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value. Then, the attribute residual is quantized to generate a quantized residual, and finally the quantized residual is encoded;
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the prediction algorithm is first used to obtain the attribute prediction value, and then the decoding is performed to obtain the quantized residual.
  • the quantized residual is then dequantized, and finally the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized residual.
  • Prediction transform branch - resources are limited
  • attribute compression adopts a method based on intra-frame prediction and discrete cosine transform (DCT).
  • DCT discrete cosine transform
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.), and the entire point cloud is first divided into several small groups with a maximum length of Y (such as 2), and then these small groups are combined into several large groups (the number of points in each large group does not exceed X, such as 4096), and then the prediction algorithm is used to obtain the attribute prediction value, and the attribute residual is obtained according to the attribute value and the attribute prediction value.
  • the attribute residual is transformed by DCT in small groups to generate transformation coefficients, and then the transformation coefficients are quantized to generate quantized transformation coefficients, and finally the quantized transformation coefficients are encoded in large groups;
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the entire point cloud is divided into several small groups with a maximum length of Y (such as 2), and then these small groups are combined into several large groups (the number of points in each large group does not exceed X, such as 4096).
  • the quantized transform coefficients are decoded in large groups, and then the prediction algorithm is used to obtain the attribute prediction value.
  • the quantized transform coefficients are dequantized and inversely transformed in small groups.
  • the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
  • Prediction transform branch - resources are not limited. Attribute compression adopts a method based on intra-frame prediction and DCT transform. When encoding the quantized transform coefficients, there is no limit on the maximum number of points X, that is, all coefficients are encoded together.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, the Morton order, the Hilbert order, etc.).
  • the entire point cloud is divided into several small groups with a maximum length of Y (such as 2).
  • the prediction algorithm is used to obtain the attribute prediction value.
  • the attribute residual is obtained according to the attribute value and the attribute prediction value.
  • the attribute residual is subjected to DCT transformation in groups to generate transformation coefficients.
  • the transformation coefficients are then quantized to generate quantized transformation coefficients.
  • the quantized transformation coefficients of the entire point cloud are encoded.
  • the points in the point cloud are processed in a certain order (the original acquisition order of the point cloud, Morton order, Hilbert order, etc.).
  • the entire point cloud is divided into several small groups with a maximum length of Y (such as 2), and the quantized transformation coefficients of the entire point cloud are obtained by decoding.
  • the prediction algorithm is used to obtain the attribute prediction value, and then the quantized transformation coefficients are dequantized and inversely transformed in groups.
  • the attribute reconstruction value is obtained based on the attribute prediction value and the dequantized and inversely transformed coefficients.
  • Multi-layer transformation branch attribute compression adopts a method based on multi-layer wavelet transform.
  • the entire point cloud is subjected to multi-layer wavelet transform to generate transform coefficients, which are then quantized to generate quantized transform coefficients, and finally the quantized transform coefficients of the entire point cloud are encoded;
  • decoding obtains the quantized transform coefficients of the entire point cloud, and then dequantizes and inversely transforms the quantized transform coefficients to obtain attribute reconstruction values.
  • a company has proposed a geometric coding optimization solution based on a prediction tree structure for cat3-frame data.
  • the prediction tree is constructed using the prior information of the rotating lidar and the cylindrical coordinates of the point cloud, so that the point cloud has more accurate predictions in the vertical and horizontal directions.
  • another company has proposed an optimization solution for cat3-frame data based on the geometric coding optimization solution based on the prediction tree.
  • the depth information R of the cylindrical coordinate system can be used to calculate the horizontal azimuth Adaptive quantization can adaptively change the accuracy of the horizontal azimuth angle and further improve the coding efficiency of geometric information.
  • the geometric coding efficiency of the point cloud is improved by selecting a certain prediction mode.
  • the bitstream information i.e., the encoding bit size
  • only the bitstream information corresponding to each prediction mode and the cylindrical coordinate system is counted, and the bitstream information required for the coordinate conversion residual corresponding to each prediction mode is not counted, resulting in inaccurate selection of the best prediction mode, thereby reducing the coding efficiency of the geometric information.
  • the embodiment of the present application provides a coding and decoding method.
  • For multiple prediction modes when counting the pre-coding information corresponding to each prediction mode, not only the prediction residuals of the prediction mode and the current node in the cylindrical coordinate system are considered, but also the influence of the coordinate conversion residuals of the cylindrical coordinate system on the Cartesian coordinate system is considered.
  • the accuracy of the bit stream estimation in each prediction mode can be improved, so that the selected best prediction mode is more accurate, and the coding efficiency of the geometric information can be improved; in addition, the influence of different quantization parameters on the coordinate conversion residuals can also be considered, and the best quantization parameters and the best prediction mode are selected based on the principle of minimum cost value, so as to further improve the coding efficiency of the geometric information, and then improve the coding and decoding performance of the point cloud.
  • FIG8 a schematic diagram of a flow chart of an encoding method provided by an embodiment of the present application is shown. As shown in FIG8 , the method may include:
  • the encoding method of the embodiment of the present application can be applied to an encoder.
  • the encoding method can specifically refer to a prediction tree encoding method, more specifically, a laser radar point cloud encoding method, that is, using the laser radar calibration information, each node is divided into different lasers, and a prediction tree structure is established according to different lasers, but this is not specifically limited here.
  • the initial point cloud here may be a voxelized point cloud.
  • determining the prediction tree structure corresponding to the initial point cloud may include:
  • a prediction tree structure is established based on the processed point cloud in the first coordinate system.
  • the first coordinate system may be a cylindrical coordinate system. Indicates; the second coordinate system can be a Cartesian coordinate system, represented by (x, y, z).
  • Figure 9 shows a schematic diagram of coordinate transformation of a rotating laser radar to obtain a point cloud.
  • the (x, y, z) coordinates of each node can be converted to Indicates.
  • the laser scanner can perform laser scanning at a preset angle, and different ⁇ (j) can be obtained under different values of j.
  • ⁇ (1) can be obtained, and the corresponding scanning angle is -15°; when j is equal to 2, ⁇ (2) can be obtained, and the corresponding scanning angle is -13°; when j is equal to 10, ⁇ (10) can be obtained, and the corresponding scanning angle is +13°; when j is equal to 9, ⁇ (19) can be obtained, and the corresponding scanning angle is +15°.
  • i represents the LaserID corresponding to the point.
  • a typical laser radar system may have 16, 32 or 64 laser scanners (Laser Scanner), 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, and in each loop, the z component of the point is calculated using the R of the point, the prior information and the above formulas (4) to (6), and the deviation between the converted z component and the original z component of the point is calculated, and then the one with the smallest deviation is selected from different LaserIDs as the i of the point. This process processes the non-uniform distribution of the point cloud in the vertical direction in space and regularizes it.
  • the method may further include: before performing coordinate transformation on the points in the initial point cloud, reordering the initial point cloud.
  • the initial point cloud needs to be reordered; then the initial point cloud is converted from the Cartesian coordinate system to the cylindrical coordinate system, and then the initial point cloud in the cylindrical coordinate system is used to establish the prediction tree structure.
  • the reordering method can be disorder, Morton order, azimuth order, radial distance order, etc.
  • the default sorting method is sorting by azimuth.
  • the Cartesian coordinates (x, y, z) of each node can be converted into polar coordinates And according to the azimuth
  • the points are sorted by radius R and tangent tan ⁇ .
  • the initial point cloud is traversed according to the sorted results, and the points in the initial point cloud are converted from Cartesian coordinates (x, y, z) to cylindrical coordinates in sequence. And store it. Then according to the cylindrical coordinates of the points in the initial point cloud
  • the point is used as the root node of all points corresponding to LaserID i; if not, the point is regarded as a child node of the previously processed point with LaserID i, and this process is repeated until all points are traversed. Finally, the root nodes of all LaserIDs are connected to complete the establishment of the prediction tree.
  • Figure 10 shows a schematic diagram of the composition of a prediction tree structure.
  • the prediction tree structure corresponding to these 4 Lasers is shown here.
  • S802 Pre-encode the current node of the prediction tree structure through multiple prediction modes to determine the 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 transformation residual of the current node in the second coordinate system.
  • the multiple prediction modes may include four prediction modes, which may be: a first prediction mode (represented by Mode0), a second prediction mode (represented by Mode1), a third prediction mode (represented by Mode2) and a fourth prediction mode (represented by Mode3).
  • Mode0 means no prediction
  • Mode1 means differential prediction (Delta prediction), i.e. p0
  • Mode2 means linear prediction (Linear prediction), i.e. 2p0-p1
  • Mode3 means parallelogram prediction (Parallelogram prediction), i.e. p0+p1-p2.
  • p0, p1, p2 are the positions of the parent node, grandparent node, and great-grandparent node of the current node respectively.
  • the prediction tree structure can be traversed in depth-first order, and for the current node in the prediction tree structure, a target prediction mode needs to be selected from the multiple prediction modes for prediction.
  • precoding the current node of the prediction tree structure through multiple prediction modes to determine the precoding information of each of the multiple prediction modes may include:
  • Precoding information of the candidate prediction mode is determined according to the candidate prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system.
  • the candidate prediction mode is any one of a plurality of prediction modes.
  • each prediction mode determines the corresponding precoding information according to the above processing procedure.
  • performing prediction processing on the current node using the candidate prediction mode to obtain a prediction value of the current node in the first coordinate system may include:
  • the preset value is used as the prediction value of the current node in the first coordinate system
  • the current node is predicted using the third prediction mode or the fourth prediction mode to determine a prediction value of the current node in the first coordinate system.
  • the corresponding cylindrical coordinate system prediction value is the preset value Among them, R min is the minimum value of the R component obtained after the coordinate transformation of the entire initial point cloud; if the current node has no parent node, then and i prev are both set to 0, otherwise they are the cylindrical coordinate components of the parent node. If the current node is not the root node and the candidate prediction mode selects Mode1, then the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node.
  • the prediction value of the cylindrical coordinate system of the current point can be obtained by making a prediction If the current node is not the root node, and the candidate prediction mode is Mode2 or Mode3, the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinate system of the current point is
  • the first coordinate system may be a cylindrical coordinate system, which includes: azimuth component Depth component (R) and laser identification component (i).
  • R azimuth component Depth component
  • i laser identification component
  • determining the prediction residual of the current node in the first coordinate system according to the original value of the current node in the first coordinate system and the predicted value of the current node in the first coordinate system may include:
  • the prediction residual of the laser identification component of the current node is determined according to the original value of the laser identification component of the current node and the predicted value of the laser identification component of the current node.
  • the prediction residual of the azimuth component of the current node can be expressed as It indicates that the prediction residual of the depth component of the current node can be represented by R res , and the prediction residual of the laser marking component of the current node can be represented by i res .
  • determining the prediction residual of the azimuth component of the current node according to the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node may include:
  • the prediction residual of the azimuth component of the current node is determined according to the initial prediction residual of the azimuth component of the current node, the number of skipped points and the scanning speed.
  • the calculation of is not only related to the scanning speed of the lidar, but also to the number of skipped points between the parent node and the current node.
  • determining the number of skip points between the current node and the parent node according to the initial prediction residual of the azimuth component of the current node and the scanning speed may include:
  • a division operation is performed on the initial prediction residual of the azimuth component of the current node and the scanning speed to obtain a division result; and the division result is rounded to obtain the number of skipped points.
  • n the number of skip points can be represented by n, and the calculation formula of n is as follows:
  • round() represents the rounding function.
  • determining the prediction residual of the azimuth component of the current node according to the initial prediction residual of the azimuth component of the current node, the number of skipped points, and the scanning speed may include:
  • a multiplication operation is performed according to the number of skipped points and the scanning speed to obtain a multiplication result; and an initial prediction residual of the azimuth component of the current node is subtracted from the multiplication result to obtain a prediction residual of the azimuth component of the current node.
  • the prediction residual of the azimuth component of the current node is The calculation formula is as follows:
  • determining the reconstruction value of the current node in the first coordinate system may be further determined.
  • determining the reconstruction value of the current node in the first coordinate system according to the prediction residual of the current node in the first coordinate system may include:
  • the reconstructed value of the laser identification component of the current node is determined according to the prediction residual of the laser identification component of the current node and the predicted value of the laser identification component of the current node.
  • the reconstructed value of the azimuth component of the current node can be used It indicates that the reconstructed value of the depth component of the current node can be represented by R rec , and the reconstructed value of the laser marking component of the current node can be represented by i rec .
  • determining the reconstructed value of the azimuth component of the current node according to the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node may include:
  • a reconstructed value of the azimuth component of the current node is determined according to the inverse quantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node.
  • the azimuth component can be adaptively quantized according to the reconstructed value of the depth component of the current node.
  • the specific quantization formula is as follows:
  • determining the reconstructed value of the azimuth component of the current node according to the inverse quantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node may include:
  • An addition operation is performed according to the inverse quantization prediction residual of the azimuth component of the current node, the prediction value of the azimuth component of the current node and the multiplication result to determine the reconstructed value of the azimuth component of the current node.
  • 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
  • the third axis component may be a z component
  • the first axis component may be a y component
  • the second axis component may be an x component
  • the third axis component may be a z component, and so on, which is not specifically limited here.
  • performing inverse coordinate transformation according to the reconstructed value of the current node in the first coordinate system to determine the predicted value of the current node in the second coordinate system may include:
  • the coordinate inverse transformation is performed according to the reconstructed value of the depth component of the current node and the reconstructed value of the laser marking component of the current node to obtain the predicted value of the third axis component of the current node.
  • i rec is the LaserID corresponding to the point, and the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different. Therefore, the elevation angle corresponding to the i recth Laser is ⁇ (i rec ), and the height in the vertical direction is zLaser(i rec ).
  • determining the coordinate transformation residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the predicted value of the current node in the second coordinate system may include:
  • the coordinate transformation residual of the third axis component of the current node is determined according to the original value of the third axis component of the current node and the predicted value of the third axis component of the current node.
  • the coordinate transformation residual of the first axis component of the current node can be represented by x res
  • the coordinate transformation residual of the second axis component of the current node can be represented by y res
  • the coordinate transformation residual of the third axis component of the current node can be represented by z res .
  • x res may be determined by the difference between the original value and the predicted value of the first axis component of the current node, that is, y res can be determined by the difference between the original value and the predicted value of the second axis component of the current node, that is, z res can be determined by the difference between the original value and the predicted value of the third axis component of the current node, that is,
  • the bitstream required for all the information required to be encoded for each prediction mode can be considered to ensure that the target prediction mode finally selected is the prediction mode that consumes the least bitstream.
  • determining the precoding information of the candidate prediction mode according to the candidate prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system may include:
  • the candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate conversion residual of the first axis component of the current node, the coordinate conversion residual of the second axis component of the current node and the coordinate conversion residual of the third axis component of the current node are determined as the precoding information of the candidate prediction mode.
  • determining the precoding information of the candidate prediction mode according to the candidate prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system may include:
  • the candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate conversion residual of the first axis component of the current node and the coordinate conversion residual of the second axis component of the current node are determined as precoding information of the candidate prediction mode.
  • respective precoding information can be determined in the above manner.
  • the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate conversion residual of the current node in the second coordinate system.
  • S803 Determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes.
  • the distortion value size of each of the multiple prediction modes can be determined.
  • it can be determined according to the cost result of Rate Distortion Optimization (RDO), or according to the cost result of Sum of Absolute Difference (SAD), or even according to the cost result of Sum of Absolute Transformed Difference (SATD), but no limitation is made here.
  • RDO Rate Distortion Optimization
  • SAD Sum of Absolute Difference
  • SATD Sum of Absolute Transformed Difference
  • determining the target prediction mode from the multiple prediction modes according to the precoding information of the multiple prediction modes may include:
  • a minimum rate-distortion cost value is determined among rate-distortion cost values corresponding to a plurality of prediction modes, and the prediction mode corresponding to the minimum rate-distortion cost value is used as a target prediction mode.
  • the rate-distortion cost calculation is performed for the pre-coding information of each of the multiple prediction modes, and the rate-distortion cost value corresponding to each prediction mode can be obtained. Then, the minimum rate-distortion cost value is selected from these rate-distortion cost values, and the prediction mode corresponding to the minimum rate-distortion cost value is determined as the target prediction mode (i.e., the optimal prediction mode), thereby improving the coding efficiency of the point cloud geometric information.
  • S804 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.
  • 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:
  • the encoding information of the current node is determined according to the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system.
  • the method may further include: encoding the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system, and writing the obtained encoding bits into the bitstream.
  • the target reconstruction value of the current node in the first coordinate system can be determined Then, according to the calculation formula of inverse coordinate transformation, Converted to the target prediction value of the current node in the second coordinate system Then, the target coordinate transformation residual (x res , y res , z res ) of the current node in the second coordinate system is calculated.
  • the coding information written into the bitstream may include: target prediction mode, target prediction residual of the current node in the first coordinate system And the target coordinate transformation residual ( xres , yres , zres ) of the current node in the second coordinate system.
  • the embodiment of the present application may not consider i res .
  • the multiple prediction modes may include a first prediction mode (Mode0), a second prediction mode (Mode1), a third prediction mode (Mode2) and a fourth prediction mode (Mode3).
  • the method may further include:
  • determining the target prediction mode to be a second prediction mode If the current node is not a root node and the root node is a parent node of the current node, determining the target prediction mode to be a second prediction mode;
  • the current node is not a root node and the root node is a grandparent node of the current node, determining a target prediction mode from the first prediction mode, the second prediction mode, and the third prediction mode;
  • a target prediction mode is determined from the first prediction mode, the second prediction mode, the third prediction mode and the fourth prediction mode.
  • the target prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted.
  • the corresponding cylindrical coordinate system prediction value is Among them, R min is the minimum value of the R component obtained after the coordinate transformation of the entire initial point cloud; if the current node has no parent node, then and i prev are both set to 0, otherwise they are the cylindrical coordinate components of the parent node.
  • the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node.
  • the prediction value of the cylindrical coordinate system of the current point can be obtained by making a prediction
  • the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinate system of the current point is
  • the best target prediction mode is selected to predict the cylindrical coordinates of the current node.
  • the predicted value of the cylindrical coordinate system of the current point is Then we can get the corresponding prediction residual in the cylindrical coordinate system
  • the method may further include:
  • target prediction mode determine the number of skip points between the current node and the parent node
  • the number of skip points is encoded and the resulting encoded bits are written into the bitstream.
  • the embodiment of the present application also needs to encode the number of skipped points so that the decoding end can obtain the number of skipped points through decoding, thereby accurately restoring the reconstructed value of the azimuth component of the current node.
  • the embodiment of the present application provides a coding method, which can improve the geometric information coding efficiency of the point cloud by selecting the best target prediction mode for the current node by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residual.
  • a coding method which can improve the geometric information coding efficiency of the point cloud by selecting the best target prediction mode for the current node by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residual.
  • FIG11 a schematic diagram of a flow chart of another encoding method provided in an embodiment of the present application is shown. As shown in FIG11, the method includes:
  • S1101 Determine the prediction tree structure corresponding to the initial point cloud.
  • the influence of the quantization parameter (QP) needs to be considered when performing rate-distortion optimization selection for each prediction mode.
  • the initial point cloud here can be a voxelized point cloud.
  • the initial point cloud needs to be reordered first; then the initial point cloud is converted from the Cartesian coordinate system to the cylindrical coordinate system, and then the prediction tree structure is established using the initial point cloud in the cylindrical coordinate system; the process can be referred to the description in the above embodiment, and will not be described in detail here.
  • S1102 Pre-encoding the current node of the prediction tree structure through multiple prediction modes and multiple quantization parameters, and determining the pre-coding information of each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the pre-coding information includes at least: prediction mode, quantization parameter, prediction residual of the current node in the first coordinate system, and coordinate transformation residual of the current node in the second coordinate system.
  • precoding the current node of the prediction tree structure using multiple prediction modes and multiple quantization parameters to determine the precoding information of each of the multiple parameter combinations may include:
  • Precoding information of the candidate parameter combination is determined according to the candidate prediction mode, the candidate quantization parameter and the quantization prediction residual of the current node in a preset coordinate system.
  • the candidate parameter combination is any one of a plurality of parameter combinations, wherein the candidate parameter combination is composed of a candidate prediction mode and a candidate quantization parameter, wherein the candidate prediction mode is any one of a plurality of prediction modes, and the candidate quantization parameter is any one of a plurality of quantization parameters.
  • the preset coordinate system may include at least one of the following: a first coordinate system and a second coordinate system. Accordingly, in some embodiments, quantizing the prediction residual of the current node in the preset coordinate system according to the candidate quantization parameter to determine the quantized prediction residual of the current node in the preset coordinate system may include:
  • the coordinate transformation residual of the current node in the second coordinate system is quantized according to the candidate quantization parameter to determine the quantization transformation residual of the current node in the second coordinate system.
  • the candidate quantization parameter can quantize the prediction residual of the geometric information, which may include quantizing the prediction residual in the first coordinate system and/or the coordinate transformation residual in the second coordinate system.
  • the candidate quantization parameter can be used to quantize the prediction residual in the first coordinate system; and/or, the candidate quantization parameter can also be used to quantize the coordinate transformation residual in the second coordinate system, which is not specifically limited here.
  • the method may further include:
  • the preset quantization parameter table is used to indicate the mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
  • the preset quantization parameter table can be represented by deltaQTable. That is, a preset quantization parameter table deltaQTable can be established in the encoder, assuming that the size of the quantization parameter table is N, that is, the quantization parameter table includes N types of quantization parameters, and N is a positive integer.
  • QP deltaQTable[idx]; wherein idx represents the index number of the quantization parameter in the quantization parameter table.
  • the candidate quantization parameter index value corresponding to the candidate quantization parameter can be determined.
  • the candidate quantization parameter index value can also be used to replace the candidate quantization parameter, thereby saving bit rate.
  • the candidate quantization parameter index value can be used as precoding information for code stream estimation.
  • the method may further include:
  • Precoding information of the candidate parameter combination is determined according to the candidate prediction mode, the candidate quantization parameter, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system.
  • the prediction residual of the current node in the first coordinate system includes
  • the coordinate transformation residual of the current node in the second coordinate system includes (x res , y res , z res ); and after quantization processing of (x res , y res , z res ), the quantization transformation residual of the current node in the second coordinate system includes (Qx res , Qy res , Qz res ).
  • the precoding information of the candidate parameter combination may include: mode, idx, And (Qx res , Qy res , Qz res ).
  • mode represents a candidate prediction mode
  • idx represents a candidate quantization parameter index value.
  • Qx res , Qy res , and Qz res may be obtained by quantizing (x res , y res , z res ) according to the candidate quantization parameter QP. It can be based on right quantized; or modified according to the candidate quantization parameters Thus, according to the candidate quantization parameter QP The quantization process is performed, and no specific limitation is made to this.
  • 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.
  • S1103 Determine a target prediction mode and a target quantization parameter in the plurality of parameter combinations according to the respective precoding information of the plurality of parameter combinations.
  • the distortion value size of each of the multiple parameter combinations can be determined.
  • the distortion value size can be determined according to the cost result of the rate RDO, or according to the cost result of the SAD, or even according to the cost result of the SATD.
  • the target parameter combination i.e., the target prediction mode and the target quantization parameter, is selected from the multiple parameter combinations according to the principle of minimum cost value.
  • determining a target prediction mode and a target quantization parameter in a plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations may include:
  • a minimum rate-distortion cost value is determined among rate-distortion cost values corresponding to a plurality of parameter combinations, and a target prediction mode and a target quantization parameter are determined according to the parameter combination corresponding to the minimum rate-distortion cost value.
  • the rate-distortion cost calculation is performed for the pre-coding information of each of the multiple parameter combinations, and the rate-distortion cost value corresponding to each parameter combination can be obtained. Then, the minimum rate-distortion cost value is selected from these rate-distortion cost values, and the parameter combination corresponding to the minimum rate-distortion cost value is determined as the target parameter combination (i.e., the optimal prediction mode and the optimal quantization parameter), thereby improving the coding efficiency of the point cloud geometric information.
  • the target parameter combination i.e., the optimal prediction mode and the optimal quantization parameter
  • the method further includes:
  • the rate-distortion cost is calculated based on the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination, wherein the candidate parameter combination is any one of the multiple parameter combinations.
  • determining the reconstruction value of the current node in the second coordinate system may include:
  • the predicted value of the current node in the second coordinate system is added to the inverse quantization conversion residual to determine the reconstructed value of the current node in the second coordinate system.
  • the predicted value of the current node in the second coordinate system can be determined. Then, according to the original value (x, y, z) and predicted value of the current node in the second coordinate system By performing a subtraction operation, the quantization transformation residual (x res , y res , z res ) of the current node in the second coordinate system can be determined. Furthermore, the calculation formulas for quantizing and dequantizing (x res , y res , z res ) are as follows:
  • D represents the distortion value corresponding to the candidate parameter combination
  • R represents the estimated bitstream value corresponding to the candidate parameter combination
  • J represents the rate-distortion cost value corresponding to the candidate parameter combination
  • RO_estimate() represents the bitstream estimation function
  • is a quantity related to the candidate quantization parameter QP.
  • the minimum rate-distortion cost value J min may be selected therefrom, and then the target prediction mode bestMode and the target quantization parameter bestQP may be determined.
  • the second coordinate system may include a first axis component, a second axis component and a third axis component.
  • the same candidate quantization parameter may be used for quantization processing, or different candidate quantization parameters may be used for quantization processing.
  • performing quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter to determine the quantization transformation residual of the current node in the second coordinate system may include:
  • the coordinate transformation residual of the third axis component of the current node is quantized using the third candidate quantization parameter to determine the quantized transformation residual of the third axis component of the current node.
  • the first candidate quantization parameter, the second candidate quantization parameter and the third candidate quantization parameter may be the same or different, and this is not specifically limited here.
  • the preset quantization parameter table may include a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array.
  • the first quantization parameter array may be represented as deltaQTable[x], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the first axis component and the multiple quantization parameter index values;
  • the second quantization parameter array may be represented as deltaQTable[y], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the second axis component and the multiple quantization parameter index values;
  • the third quantization parameter array may be represented as deltaQTable[z], which is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the third axis component and the multiple quantization parameter index values.
  • the method may further include:
  • the first candidate quantization parameter index value, the second candidate quantization parameter index value and the third candidate quantization parameter index value are determined as precoding information of the candidate parameter combination.
  • the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby, different degrees of quantization of the three components x, y and z can be completed, further improving the coding efficiency of geometric information.
  • S1104 Perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine encoding information of the current node, and write the encoding information into the bitstream.
  • 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:
  • the encoding information of the current node is determined according to the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
  • the method may also include: encoding the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
  • the method may further include:
  • the quantized residual value of the azimuth component of the current node and the predicted residual value of the depth component of the current node are determined as the target prediction residual of the current node in the first coordinate system.
  • the encoder since the encoder does not perform quantization and dequantization on i, the reconstructed value i rec is the same as the original value i, so the encoder does not need to consider the relevant processing of i.
  • the predicted residual value R res of the depth component of the current node does not need to be quantized; only the predicted residual value of the azimuth component of the current node Quantization processing is required to obtain the quantized residual value of the azimuth component of the current node
  • R res can be compared with As the target prediction residual of the current node in the first coordinate system.
  • the method may further include: encoding the target prediction mode, the target quantization parameter, the prediction residual value of the depth component of the current node, the quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained encoded bits into the bitstream.
  • the method may also include: determining a target quantization parameter index value corresponding to the target quantization parameter based on a preset quantization parameter table and a target quantization parameter; encoding the target prediction mode, the target quantization parameter index value, the prediction residual value of the depth component of the current node, the quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and writing the obtained coded bits into the bitstream.
  • the target quantization parameter can be directly written into the bitstream, or the target quantization parameter index value can be written into the bitstream.
  • the target prediction mode can be directly written into the bitstream, or the index value corresponding to the target prediction mode can be written into the bitstream, which is not specifically limited here.
  • the method may further include:
  • target prediction mode determine the number of skip points between the current node and the parent node
  • the number of skip points is encoded and the resulting encoded bits are written into the bitstream.
  • the embodiment of the present application also needs to encode the number of skipped points so that the decoding end can obtain the number of skipped points through decoding, thereby accurately restoring the reconstructed value of the azimuth component of the current node.
  • the embodiments of the present application further provide a code stream, which is generated by bit encoding according to the information to be encoded; wherein the information to be encoded includes at least one of the following:
  • Target prediction mode target quantization parameter index value, number of skip points between the current node and the parent node, target prediction residual of the current node in the first coordinate system, and target quantization conversion residual of the current node in the second coordinate system.
  • the information to be encoded may also include at least one of the following: a target prediction mode, a target quantization parameter, the number of skip points between the current node and the parent node, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
  • the target prediction residual of the current node in the first coordinate system may include R res and
  • the target quantization transformation residual of the current node in the second coordinate system may include (Qx res , Qy res , Qz res ).
  • An embodiment of the present application provides a coding method, which introduces a quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node, thereby improving the coding efficiency of geometric information; further, the quantization parameter table is updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete different degrees of quantization of x, y and z, and can further improve the coding efficiency of geometric information.
  • FIG12 a schematic flow chart of a decoding method provided by the present application is shown. As shown in FIG12, the method includes:
  • S1201 Parse the bitstream and determine the target prediction mode of the current node.
  • the decoding method of the embodiment of the present application can be applied to a decoder.
  • the decoding method can specifically refer to a prediction tree decoding method, more specifically, a laser radar point cloud decoding method, but it is not limited to the laser radar field.
  • S1202 Determine the target prediction value of the current node in a preset coordinate system according to the target prediction mode.
  • the preset coordinate system may include at least one of the following: a first coordinate system and a second coordinate system.
  • the first coordinate system is a cylindrical coordinate system
  • the second coordinate system is a Cartesian coordinate system.
  • determining the target prediction value of the current node in the preset coordinate system according to the target prediction mode may include:
  • a coordinate inverse transformation is performed according to the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system.
  • parsing the code stream to determine the target prediction residual of the current node in the first coordinate system may include: parsing the code stream to determine the target quantization prediction residual of the azimuth component of the current node, the target prediction residual of the depth component of the current node, and the target prediction residual of the laser marking component of the current node.
  • 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:
  • the target reconstruction value of the laser identification component of the current node is determined according to the target prediction value and the target prediction residual of the laser identification component of the current node.
  • the target quantized prediction residual of the azimuth component of the current node can be obtained through the bit stream
  • the encoder only considers the azimuth component Then the decoder only needs to quantize the azimuth component. Perform dequantization.
  • the target reconstruction value of the azimuth component of the current node It is based on quantization and dequantization and
  • the target reconstruction value R rec of the depth component of the current node is determined based on R res and R pred
  • the target reconstruction value i rec of the laser marking component of the current node is determined based on i res and i pred .
  • the reconstructed value R rec is the same as the original value R
  • the reconstructed value i rec is the same as the original value i.
  • the target prediction value of the azimuth component of the current node and the target inverse quantization prediction residual to determine the target reconstruction value of the azimuth component of the current node may include:
  • An addition operation is performed based on the target inverse quantization prediction residual of the azimuth component of the current node, the target prediction value of the azimuth component of the current node and the target multiplication result to determine the target reconstruction value of the azimuth component of the current node.
  • the calculation not only takes into account the target inverse quantization prediction residual of the azimuth component of the current node and target prediction value
  • the scanning speed of the laser radar also needs to be considered
  • the number of skip points n between the parent node and the current node can be obtained by parsing the code stream.
  • the calculation formula is as follows:
  • the position of the current node in the prediction tree structure can be determined according to the reconstruction value in the cylindrical coordinate system, so that the prediction tree structure can be reconstructed.
  • S1203 Parse the bitstream to determine the target quantization parameter of the current node and the target quantization prediction residual of the current node in a preset coordinate system.
  • parsing the bitstream to determine the target quantization parameter of the current node may include:
  • the target quantization parameter of the current node is determined according to the preset quantization parameter table and the target quantization parameter index value.
  • the target quantization index value can be represented by idx
  • parsing the bitstream to determine the target quantization prediction residual of the current node in a preset coordinate system may include: parsing the bitstream to determine the target quantization prediction residual of the current node in a first coordinate system; and/or parsing the bitstream to determine the target quantization conversion residual of the current node in a second coordinate system.
  • S1204 Dequantize the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter to determine the target dequantization prediction residual of the current node in the preset coordinate system.
  • the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system. Accordingly, in some embodiments, performing inverse quantization processing on the target quantization prediction residual of the current node in the preset coordinate system according to the target quantization parameter to determine the target inverse quantization prediction residual of the current node in the preset coordinate system may include:
  • the target quantization conversion residual of the current node in the second coordinate system is dequantized according to the target quantization parameter to determine the target dequantization conversion residual of the current node in the second coordinate system.
  • performing inverse quantization processing on the target quantization prediction residual of the current node in the first coordinate system according to the target quantization parameter to determine the target inverse quantization prediction residual of the current node in the first coordinate system may include:
  • the target quantized prediction residual of the azimuth component of the current node is dequantized according to the target quantization parameter to obtain the target dequantized prediction residual of the azimuth component of the current node.
  • the dequantization process can be based on The dequantization process is performed, that is, Alternatively, it can also be an inverse quantization process performed according to the target quantization parameter QP, that is,
  • QP may be a quantization factor obtained by looking up a quantization parameter table, and there is no specific limitation on this.
  • the second coordinate system may include a first axis component, a second axis component and a third axis component.
  • the same quantization parameter may be used for quantization processing, or different quantization parameters may be used for quantization processing.
  • performing inverse quantization processing on the target quantization conversion residual of the current node in the second coordinate system according to the target quantization parameter to determine the target inverse quantization conversion residual of the current node in the second coordinate system may include:
  • the target quantization conversion residual of the third axis component of the current node is dequantized using the third quantization parameter to determine the target dequantization conversion residual of the third axis component of the current node.
  • the first quantization parameter, the second quantization parameter and the third quantization parameter may be the same or different, and this is not specifically limited here.
  • parsing the bitstream to determine the target quantization parameter of the current node may include: parsing the bitstream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.
  • parsing the bitstream to determine the target quantization parameter of the current node may include: parsing the bitstream to determine the first quantization parameter index value, the second quantization parameter index value, and the third quantization parameter index value of the current node;
  • a third quantization parameter is determined according to the third quantization parameter array and the third quantization parameter index value.
  • the preset quantization parameter table may include a first quantization parameter array deltaQTable[x], a second quantization parameter array deltaQTable[y], and a third quantization parameter array deltaQTable[z].
  • deltaQTable[x] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the first axis component and multiple quantization parameter index values
  • deltaQTable[y] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter index values
  • deltaQTable[z] is used to indicate the mapping relationship between multiple quantization parameters corresponding to the third axis component and multiple quantization parameter index values.
  • the preset quantization parameter table can be updated to a three-dimensional quantization parameter table, namely deltaQTable[x], deltaQTable[y] and deltaQTable[z]; thereby, different degrees of quantization of the three components x, y and z can be completed, further improving the coding efficiency of geometric information.
  • S1205 Determine a target reconstruction value of the current node in the preset coordinate system according to the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system.
  • S1206 Determine the reconstructed point cloud according to the target reconstruction value of the current node in the preset coordinate system.
  • determining the target reconstruction value of the current node in the preset coordinate system according to the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system may include:
  • a target reconstruction value of the current node in the second coordinate system is determined according to the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system.
  • a target reconstruction value of the current node in the second coordinate system is determined based on the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system, including: adding the target inverse quantization transformation residual and the target prediction value of the current node in the second coordinate system to determine the target reconstruction value of the current node in the second coordinate system.
  • the points in the prediction tree structure are sequentially used as current nodes to determine the target reconstruction values of the points in the prediction tree structure in the second coordinate system; and the reconstructed point cloud corresponding to the prediction tree structure is determined according to the target reconstruction values of the points in the prediction tree structure in the second coordinate system.
  • the reconstructed point cloud is the reconstructed voxelized point cloud.
  • An embodiment of the present application provides a decoding method, which introduces a quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node, thereby improving the encoding efficiency of geometric information; further, the quantization parameter table is updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete 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.
  • FIG. 13A shows a schematic diagram of an encoder block diagram for constructing a prediction tree structure provided in an embodiment of the present application.
  • a reordering process is first performed, and then a coordinate transformation is performed according to the reordered point cloud (i.e., from the Cartesian coordinate system to the cylindrical coordinate system), and then a prediction tree structure is established according to the point cloud in the cylindrical coordinate system.
  • the point cloud is pre-encoded point by point based on the prediction tree structure, and the target prediction mode (optimal prediction mode) of each point in the cylindrical coordinate system is selected using the principle of minimum cost value, and a prediction value is generated using the selected target prediction mode; the cylindrical coordinate system of the current node is predicted based on the prediction value to obtain a prediction residual; and the prediction residual is Quantization and inverse quantization are performed to determine the reconstructed value of the current node in the cylindrical coordinate system.
  • the reconstructed value is subjected to inverse coordinate transformation to obtain the predicted value of the current node in the Cartesian coordinate system. Differential prediction is performed based on the original value and predicted value of the current node in the Cartesian coordinate system to obtain the coordinate transformation residual of the current node in the Cartesian coordinate system, and the coordinate transformation residual is written into the geometric bit stream.
  • the target prediction mode can be determined by parsing the bitstream; a prediction value can be generated according to the target prediction mode; then the reconstruction value of the current node in the cylindrical coordinate system can be determined according to the prediction value and the prediction residual obtained by parsing the bitstream to reconstruct the prediction tree structure; the reconstruction value is subjected to inverse coordinate transformation processing to obtain the prediction value of the current node in the Cartesian coordinate system; then the reconstruction value of the current node in the Cartesian coordinate system can be determined according to the prediction value and the coordinate transformation residual obtained by parsing the bitstream, and a reconstructed point cloud can be obtained through geometric reconstruction.
  • a prediction tree structure is established based on KD-Tree, which is specifically described as follows:
  • the input of the prediction tree structure is constructed: the voxelized point cloud;
  • the output of the prediction tree structure is constructed: the geometric prediction value and prediction residual of the current node, the prediction mode adopted by the current node, the quantization parameter of the current node, the number of repeated points and the number of child nodes.
  • constructing a prediction tree structure can be specifically divided into four steps: reordering, establishing a prediction tree structure, selecting a prediction mode, and generating a prediction value, which are described below.
  • the first step is reordering.
  • the available sorting methods include unordered, Morton order, azimuth order, radial distance order, etc.
  • the default sorting method is sorting by azimuth.
  • the first step is to establish a prediction tree structure.
  • KD-Tree is used to search for the nearest neighbor.
  • KD-Tree is empty, and each node is visited in turn in the selected order, and the K nearest neighbors are found in KD-Tree using the position of the current node, and the nearest neighbors found are predicted as the child nodes of the current node according to certain criteria:
  • the third step is to select the prediction mode.
  • the prediction tree structure is established by traversing in depth-first order. Each node in the prediction tree structure can only be predicted by its ancestors. Based on this, various prediction strategies are possible. Therefore, the relevant technology sets the following four prediction modes:
  • Mode1 Delta prediction (i.e. p0);
  • Mode2 Linear prediction (i.e. 2p0-p1);
  • Mode3 Parallelogram prediction (i.e. p0+p1-p2).
  • p0, p1, and p2 are the positions of the parent node, grandfather node, and great-grandfather node of the current node respectively.
  • the encoding prediction is performed by selecting the best prediction mode for the current node.
  • the fourth step is to generate predicted values.
  • the geometric position of each node in the prediction tree structure is predicted and the corresponding prediction value and prediction residual are generated.
  • the geometric prediction of the point in the related technology includes Cartesian coordinate prediction. The specific process is as follows:
  • the prediction mode selects Mode0, that is, the Cartesian coordinates of the current node are not predicted, and the corresponding Cartesian coordinate prediction value is (0, 0, 0);
  • the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the Cartesian coordinates of the current node are reconstructed through the geometry of its parent node. Make predictions;
  • the Cartesian coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the Cartesian coordinates of the current node is
  • the Cartesian coordinates (x, y, z) of the current node are predicted, and the Cartesian coordinates (x, y, z) of the current node are predicted.
  • each node first needs to encode the number of child nodes of the current node; secondly, encode the prediction mode of the current node and the prediction residual (x res , y res , z res ) corresponding to the current node.
  • G_PCC uses lossless arithmetic coding for (x res , y res , z res ).
  • the input of the reconstructed prediction tree structure is: decoded data (including the prediction mode adopted by the current node, the prediction residual of the current node, the quantization parameter of the current node, the number of repeated points, and the number of child nodes);
  • the output of the reconstructed prediction tree structure is: the reconstructed voxelized point cloud.
  • the reconstruction of the prediction tree structure can be specifically divided into four steps: parsing the prediction mode, generating the prediction value, reconstructing the prediction tree, and reconstructing the geometric point cloud. Each of these steps is described below.
  • the first step is to generate predicted values.
  • the geometric coordinates of the current node are predicted and the corresponding prediction values are generated.
  • the specific process is as follows:
  • the prediction mode selects Mode0, that is, the Cartesian coordinates of the current node are not predicted, and the corresponding Cartesian coordinate prediction value is (0, 0, 0);
  • the current node is not the root node of the prediction tree structure and the prediction mode is Mode1, the Cartesian coordinates of the current node are reconstructed through the geometry of its parent node. Make predictions;
  • the Cartesian coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the Cartesian coordinates of the current node is
  • the second step is to reconstruct the geometric point cloud.
  • Cartesian coordinate residuals (x res , y res , z res ) obtained by decoding and the predicted Cartesian coordinates of the current node are used Calculate the reconstructed Cartesian coordinates (x rec , y rec , z rec ) of the current node.
  • the specific formula is as follows:
  • a prediction tree structure is established based on laser radar calibration information, which is specifically described as follows:
  • the input of the prediction tree structure is constructed: the voxelized point cloud and the prior information of the rotating lidar;
  • the output of the prediction tree structure is constructed: the geometric prediction value and prediction residual of the current node, the prediction mode adopted by the current node, the quantization parameter of the current node, the number of repeated points and the number of child nodes, and the number of skipped points corresponding to each prediction mode.
  • constructing a prediction tree structure can be specifically divided into five steps: reordering, coordinate conversion, establishing a prediction tree, selecting a prediction mode, and generating a prediction value, which are described below.
  • the first step is reordering.
  • the available sorting methods include unordered, Morton order, azimuth order, radial distance order, etc.
  • the default sorting method is sorting by azimuth. To this end, convert the Cartesian coordinates (x, y, z) of each node into polar coordinates And according to the azimuth The points are sorted by radius R and tangent tan ⁇ .
  • the second step is coordinate conversion.
  • i is the LaserID corresponding to the point (a typical laser radar system may have 16, 32 or 64 Laser Scanners, and the prior information of each Laser is different, that is, the elevation angle ⁇ and the height zLaser in the vertical direction are different).
  • i is determined by looping the prior information of different Lasers. In each loop, the z component of the point is calculated using the R of the point, the prior information and the above equations (4) to (6), and the deviation between the converted z component and the original z component of the point is calculated. Then, the point with the smallest deviation is selected from different LaserIDs as the i of the point. This process processes the non-uniform distribution of the point cloud in the vertical direction in space and makes it regular.
  • the third step is to establish the prediction tree structure.
  • the cylindrical coordinates of the point can be determined from the previous step
  • this point is used as the root node of all points corresponding to LaserID i; if not, this point is regarded as a child node of the previously processed point with LaserID i, and this process is repeated until all points are traversed.
  • the root nodes of all LaserIDs are connected to complete the establishment of the prediction tree.
  • Figure 10 illustrates the prediction tree structure corresponding to 4 Lasers.
  • Step 4 Select the prediction mode.
  • the prediction tree structure is established by traversing in depth-first order. Each node in the tree can only be predicted by its ancestors. Based on this, various prediction strategies are possible. Therefore, the relevant technology sets the following four prediction modes:
  • Mode1 Delta prediction (i.e. p0);
  • Mode2 Linear prediction (i.e. 2p0-p1);
  • Mode3 Parallelogram prediction (i.e. p0+p1-p2).
  • p0, p1, and p2 are the positions of the parent node, grandfather node, and great-grandfather node of the current node respectively.
  • the encoding prediction is performed by selecting the best prediction mode for the current node.
  • the fifth step is to generate predicted values.
  • the geometric position of each node in the tree is predicted and the corresponding prediction value and prediction residual are generated.
  • the geometric prediction of the point in the related technology includes cylindrical coordinate prediction and Cartesian coordinate prediction. The specific process is as follows:
  • the prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is Where R min is the minimum value of the R component after the coordinate transformation of the entire point cloud. If the current node has no parent node, then and i prev are set to 0, otherwise it is the cylindrical coordinate component of the parent node.
  • the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates of the point
  • the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node.
  • the prediction value of the cylindrical coordinates of the current node can be obtained by making a prediction
  • the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates.
  • the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinates of the current node is Similarly, the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates
  • the corresponding prediction residual in the cylindrical coordinate system can be obtained.
  • the coordinate transformation residuals (x res , y res , z res ) can be obtained.
  • n indicates the number of points that need to be skipped between the parent node and the current node according to the scanning speed, and this parameter also needs to be written into the bitstream; Indicates the scanning speed of the LiDAR.
  • each node when performing geometric prediction coding for cat3-frame point clouds, each node first needs to encode the number of child nodes of the current node, and then encode the prediction mode of the current node, as well as the corresponding
  • the input of the reconstructed prediction tree structure is: decoded data (including the prediction mode adopted by the current node, the prediction residual of the current node, the quantization parameter of the current node, the number of repeated points, the number of child nodes, and the number of skipped points), and the prior information of the rotating lidar;
  • the output of the reconstructed prediction tree structure is: the reconstructed voxelized point cloud.
  • the reconstruction of the prediction tree structure can be specifically divided into four steps: generating prediction values, reconstructing the prediction tree, inverse transformation of coordinates, and reconstructing the geometric point cloud. Each of these steps is described below.
  • the first step is to generate predicted values
  • the cylindrical coordinates of the current node are predicted and the corresponding prediction values are generated.
  • the specific process is as follows:
  • the prediction mode selects Mode0, that is, the cylindrical coordinates of the current node are not predicted, and the corresponding cylindrical coordinate prediction value is Where R min is the minimum value of the R component after the coordinate transformation of the entire point cloud. If the current node has no parent node, then and i prev are set to 0, otherwise it is the cylindrical coordinate component of the parent node.
  • the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates of the point
  • the cylindrical coordinates of the current node are obtained by multiplying the cylindrical coordinates of its parent node.
  • the prediction value of the cylindrical coordinates of the current node can be obtained by making a prediction
  • the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates.
  • the cylindrical coordinates of the current node are predicted using the corresponding prediction method, and the predicted value of the cylindrical coordinates of the current node is Similarly, the Cartesian coordinate prediction value is obtained by inverse transformation of the reconstructed cylindrical coordinates
  • the corresponding prediction residual in the cylindrical coordinate system can be obtained.
  • Use the original Cartesian coordinates (x, y, z) of the current node and the predicted Cartesian coordinates By performing differential prediction, we can obtain the coordinate transformation residual (x res , y res , z res ).
  • the predicted value of the azimuth of the current node It can be calculated according to the above formula (32). Indicates the predicted azimuth of the current node; n indicates the number of points that need to be skipped between the parent node and the current node according to the scanning speed, and this parameter also needs to be written into the bitstream; Indicates the scanning speed of the LiDAR.
  • the second step is to rebuild the prediction tree structure.
  • the predicted value of the cylindrical coordinates of the current node can be obtained through the previous step Next, use the decoded cylindrical coordinate residuals according to the following formula and the predicted cylindrical coordinates of the current node Calculate the reconstructed cylindrical coordinates of the current node in,
  • the third step is the inverse coordinate transformation.
  • the fourth step is to reconstruct the geometric point cloud.
  • the encoder when encoding geometric information, improves the coding efficiency of the point cloud geometric information by estimating the bits consumed by all the information required to be encoded for each prediction mode. Specifically, when selecting the target prediction mode for each point, the best target prediction mode is selected by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate conversion residuals, which can improve the coding efficiency of the point cloud geometric information.
  • the embodiment of the present application can be further optimized on the prediction tree coding scheme.
  • a pre-quantization parameter table is established in the codec. Assuming that the quantization parameter table is deltaQTable and the size of the quantization table is N, the RDOQ coding technology is introduced in the prediction tree coding, where J min represents the best cost factor finally selected, J min is initialized to INF, bestMode represents the selected target prediction mode, and bestQP represents the selected target quantization parameter.
  • ModeCount represents the total number of prediction modes
  • the prediction mode of the current node is first parsed to obtain the prediction mode of the current node, and then the prediction value R pred and Secondly, the current node's R res , Analyze and use the following formula to get the geometric information of the current node:
  • R rec R pred + R res
  • the quantization parameter of the current node is parsed to obtain the quantization residual value of the current node, and the coordinate transformation residuals Qx res , Qy res and Qz res of the current node are parsed. Finally, the following formula is used to reconstruct the geometric information of the current node in the Cartesian coordinate system:
  • the prediction tree coding scheme is further optimized.
  • the quantization parameter table deltaQTable to adaptively quantize the coordinate transformation residual of each node, the quantization parameter table is further updated to a three-dimensional quantization parameter table deltaQTable[x], deltaQTable[y] and deltaQTable[z], so as to complete the quantization of the x, y and z components to different degrees, further improving the coding efficiency of geometric information.
  • the specific implementation of the aforementioned embodiments is elaborated in detail through the above embodiments, from which it can be seen that according to the technical scheme of the aforementioned embodiments, considering the influence of the prediction residual quantization of the cylindrical coordinate component on the Cartesian coordinate transformation residual, when selecting each prediction Mode at the encoding end, the influence of the coordinate transformation residual component code stream is further considered, so that the final selected prediction mode Mode can be the optimal prediction mode, which can further improve the encoding efficiency of the geometric information.
  • the encoder 140 may include: a first determining unit 1401, a precoding unit 1402, an encoding unit 1403, a reordering unit 1404, a first quantization unit 1405, and a first inverse quantization unit 1406.
  • the first determining unit 1401 is configured to determine a prediction tree structure corresponding to the initial point cloud
  • the precoding unit 1402 is configured to perform precoding processing on the current node of the prediction tree structure through multiple prediction modes, and determine the precoding information of each of the multiple prediction modes; wherein the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
  • the first determining unit 1401 is further configured to determine a target prediction mode among the multiple prediction modes according to the respective precoding information of the multiple prediction modes;
  • the encoding unit 1403 is configured to perform encoding processing on the current node according to the target prediction mode, determine encoding information of the current node, and write the encoding information into the bitstream.
  • the first determination unit 1401 is also configured to obtain an initial point cloud in a second coordinate system; and perform coordinate transformation on points in the initial point cloud to obtain a processed point cloud in a first coordinate system; and establish a prediction tree structure based on the processed point cloud in the first coordinate system.
  • the reordering unit 1404 is further configured to reorder the initial point cloud before performing coordinate transformation on the points in the initial point cloud.
  • the precoding unit 1402 is further configured to perform prediction processing on the current node using the candidate prediction mode to obtain a prediction value of the current node in the first coordinate system; and determine the prediction residual of the current node in the first coordinate system based on the original value of the current node in the first coordinate system and the prediction value of the current node in the first coordinate system; and determine the reconstructed value of the current node in the first coordinate system based on the prediction residual of the current node in the first coordinate system; and perform coordinate inverse transformation based on the reconstructed value of the current node in the first coordinate system to determine the prediction value of the current node in the second coordinate system; and determine the coordinate 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
  • the first coordinate system includes an azimuth component, a depth component and a laser identification component; accordingly, the precoding unit 1402 is further configured to determine the prediction residual of the azimuth component of the current node based on the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and to determine the prediction residual of the depth component of the current node based on the original value of the depth component of the current node and the predicted value of the depth component of the current node; and to determine the prediction residual of the laser identification component of the current node based on the original value of the laser identification component of the current node and the predicted value of the laser identification component of the current node.
  • the precoding unit 1402 is also configured to determine the initial prediction residual of the azimuth component of the current node based on the original value of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and obtain the scanning speed of the laser radar, and determine the number of skip points between the current node and the parent node based on the initial prediction residual of the azimuth component of the current node and the scanning speed; determine the prediction residual of the azimuth component of the current node based on the initial prediction residual of the azimuth component of the current node, the number of skip points and the scanning speed.
  • the precoding unit 1402 is further configured to perform a division operation on the initial prediction residual of the azimuth component of the current node and the scanning speed to obtain a division result; and round the division result to obtain the number of skip points; and perform a multiplication operation on the number of skip points and the scanning speed to obtain a multiplication result; and perform a subtraction operation on the initial prediction residual of the azimuth component of the current node and the multiplication result to obtain the prediction residual of the azimuth component of the current node.
  • the precoding unit 1402 is further configured to determine the reconstructed value of the azimuth component of the current node based on the prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node; and to determine the reconstructed value of the depth component of the current node based on the prediction residual of the depth component of the current node and the predicted value of the depth component of the current node; and to determine the reconstructed value of the laser identification component of the current node based on the prediction residual of the laser identification component of the current node and the predicted value of the laser identification component of the current node.
  • the first quantization unit 1405 is configured to perform quantization processing on the prediction residual of the azimuth component of the current node to obtain the quantized prediction residual of the azimuth component of the current node;
  • a first dequantization unit 1406 is configured to perform dequantization processing on the quantized prediction residual of the azimuth component of the current node to obtain a dequantized prediction residual of the azimuth component of the current node;
  • the first determining unit 1401 is further configured to determine a reconstructed value of the azimuth component of the current node according to the inverse quantized prediction residual of the azimuth component of the current node and the predicted value of the azimuth component of the current node.
  • the precoding unit 1402 is further configured to perform a multiplication operation based on the number of skip points and the scanning speed to obtain a multiplication result; and to perform an addition operation based on the inverse quantization prediction residual of the azimuth component of the current node, the prediction value of the azimuth component of the current node and the multiplication result to determine the reconstructed value of the azimuth component of the current node.
  • the second coordinate system includes a first axis component, a second axis component, and a third axis component; accordingly, the precoding unit 1402 is further configured to perform a coordinate inverse transformation according to the reconstructed value of the azimuth component of the current node and the reconstructed value of the depth component of the current node, to obtain a predicted value of the first axis component of the current node and a predicted value of the second axis component of the current node; and perform a coordinate inverse transformation according to the reconstructed value of the depth component of the current node and the reconstructed value of the laser marking component of the current node, to obtain a predicted value of the third axis component of the current node;
  • the first determination unit 1401 is also configured to determine the coordinate transformation residual of the first axis component of the current node based on the original value of the first axis component of the current node and the predicted value of the first axis component of the current node; and to determine the coordinate transformation residual of the second axis component of the current node based on the original value of the second axis component of the current node and the predicted value of the second axis component of the current node; and to determine the coordinate transformation residual of the third axis component of the current node based on the original value of the third axis component of the current node and the predicted value of the third axis component of the current node.
  • the first determination unit 1401 is further configured to determine the candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate transformation residual of the first axis component of the current node, the coordinate transformation residual of the second axis component of the current node, and the coordinate transformation residual of the third axis component of the current node as precoding information of the candidate prediction mode; or, to determine the candidate prediction mode, the prediction residual of the current node in the first coordinate system, the coordinate transformation residual of the first axis component of the current node, and the coordinate transformation residual of the second axis component of the current node as precoding information of the candidate prediction mode.
  • the first determination unit 1401 is further configured to determine rate-distortion cost values corresponding to multiple prediction modes based on the respective precoding information of the multiple prediction modes; and determine the minimum rate-distortion cost value among the rate-distortion cost values corresponding to the multiple prediction modes, and use the prediction mode corresponding to the minimum rate-distortion cost value as the target prediction mode.
  • the multiple prediction modes include a first prediction mode, a second prediction mode, a third prediction mode and a fourth prediction mode; accordingly, the first determination unit 1401 is also configured to determine that the target prediction mode is the first prediction mode if the current node is a root node; and if the current node is not the root node and the root node is the parent node of the current node, determine the target prediction mode to be the second prediction mode; and if the current node is not the root node and the root node is the grandparent node of the current node, determine the target prediction mode from the first prediction mode, the second prediction mode and the third prediction mode; and if the current node is not the root node and the root node is the great-grandparent node of the current node, determine the target prediction mode from the first prediction mode, the second prediction mode, the third prediction mode and the fourth prediction mode.
  • the encoding unit 1403 is also configured to perform prediction processing on the current node according to the target prediction mode to determine the target prediction value of the current node in the first coordinate system; and determine the target prediction residual of the current node in the first coordinate system according to the original value of the current node in the first coordinate system and the target prediction value of the current node in the first coordinate system; and determine the target reconstruction value of the current node in the first coordinate system according to the target prediction residual of the current node in the first coordinate system; and perform coordinate inverse transformation according to the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system; and determine the target coordinate conversion residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the target prediction value of the current node in the second coordinate system; and determine the encoding information of the current node according to the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of
  • the encoding unit 1403 is further configured to encode the target prediction mode, the target prediction residual of the current node in the first coordinate system, and the target coordinate conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
  • the encoding unit 1403 is further configured to determine the number of skip points between the current node and the parent node in the target prediction mode; and encode the number of skip points and write the obtained encoding bits into the bitstream.
  • the first determining unit 1401 is configured to determine a prediction tree structure corresponding to the initial point cloud
  • the precoding unit 1402 is configured to perform precoding processing on the current node of the prediction tree structure through multiple prediction modes and multiple quantization parameters, and determine the precoding information of each of the multiple parameter combinations; wherein different parameter combinations correspond to different prediction modes and quantization parameters, and the precoding information at least includes: the prediction mode, the quantization parameter, the prediction residual of the current node in the first coordinate system, and the coordinate transformation residual of the current node in the second coordinate system;
  • the first determining unit 1401 is further configured to determine a target prediction mode and a target quantization parameter in a plurality of parameter combinations according to respective precoding information of the plurality of parameter combinations;
  • the encoding unit 1403 is configured to perform encoding processing on the current node according to the target prediction mode and the target quantization parameter, determine the encoding information of the current node, and write the encoding information into the bitstream.
  • the precoding unit 1402 is further configured to perform precoding processing on the current node using the candidate prediction mode to determine the prediction residual of the current node in a preset coordinate system;
  • the first quantization unit 1405 is configured to perform quantization processing on the prediction residual of the current node in the preset coordinate system according to the candidate quantization parameter, and determine the quantized prediction residual of the current node in the preset coordinate system;
  • the first determination unit 1401 is also configured to determine the precoding information of the candidate parameter combination based on the candidate prediction mode, the candidate quantization parameter and the quantization prediction residual of the current node in a preset coordinate system; wherein the candidate parameter combination is composed of a candidate prediction mode and a candidate quantization parameter, and the candidate prediction mode is any one of a plurality of prediction modes, and the candidate quantization parameter is any one of a plurality of quantization parameters.
  • the precoding unit 1402 is further configured to determine a candidate quantization parameter index value corresponding to a candidate quantization parameter based on a preset quantization parameter table and candidate quantization parameters; and determine the candidate quantization parameter index value as precoding information of the candidate parameter combination; wherein the preset quantization parameter table is used to indicate a mapping relationship between multiple quantization parameters and multiple quantization parameter index values.
  • the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; accordingly, the precoding unit 1402 is also configured to quantize the prediction residual of the current node in the first coordinate system according to the candidate quantization parameter, and determine the quantized prediction residual of the current node in the first coordinate system; and/or, quantize the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantized transformation residual of the current node in the second coordinate system.
  • the precoding unit 1402 is further configured to perform precoding processing on the current node using the candidate prediction mode to determine a prediction residual of the current node in the first coordinate system and a coordinate transformation residual of the current node in the second coordinate system;
  • the first quantization unit 1405 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
  • the first determination unit 1401 is further configured to determine precoding information of the candidate parameter combination according to the candidate prediction mode, the candidate quantization parameter, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system.
  • the first determination unit 1401 is further configured to determine rate-distortion cost values corresponding to multiple parameter combinations based on their respective precoding information; and determine a minimum rate-distortion cost value among the rate-distortion cost values corresponding to the multiple parameter combinations, and determine the target prediction mode and the target quantization parameter based on the parameter combination corresponding to the minimum rate-distortion cost value.
  • the first determination unit 1401 is further configured to determine, under the candidate parameter combination, a reconstructed value of the current node in the second coordinate system; and determine a distortion value corresponding to the candidate parameter combination based on the original value of the current node in the second coordinate system and the reconstructed value of the current node in the second coordinate system; and perform bitstream estimation based on the candidate prediction mode, the candidate quantization parameter index value, the prediction residual of the current node in the first coordinate system, and the quantization conversion residual of the current node in the second coordinate system to determine the bitstream estimation value corresponding to the candidate parameter combination; and perform rate-distortion cost calculation based on the distortion value and the bitstream estimation value corresponding to the candidate parameter combination to determine the rate-distortion cost value corresponding to the candidate parameter combination; wherein the candidate parameter combination is any one of a plurality of parameter combinations.
  • the first determining unit 1401 is further configured to determine a reconstructed value of the current node in the first coordinate system according to a prediction residual of the current node in the first coordinate system, and to perform an inverse coordinate transformation according to the reconstructed value of the current node in the first coordinate system to determine a predicted value of the current node in the second coordinate system; and to determine a coordinate transformation residual of the current node in the second coordinate system according to the original value of the current node in the second coordinate system and the predicted value of the current node in the second coordinate system;
  • the first quantization unit 1405 is further configured to perform quantization processing on the coordinate transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the quantization transformation residual of the current node in the second coordinate system;
  • the first dequantization unit 1406 is configured to perform dequantization processing on the quantization transformation residual of the current node in the second coordinate system according to the candidate quantization parameter, and determine the dequantization transformation residual of the current node in the second coordinate system; and perform addition operation on the predicted value of the current node in the second coordinate system and the dequantization transformation residual to determine the reconstructed value of the current node in the second coordinate system.
  • the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the first quantization unit 1405 is also configured to use the first candidate quantization parameter to quantize the coordinate transformation residual of the first axis component of the current node to determine the quantized transformation residual of the first axis component of the current node; and use the second candidate quantization parameter to quantize the coordinate transformation residual of the second axis component of the current node to determine the quantized transformation residual of the second axis component of the current node; and use the third candidate quantization parameter to quantize the coordinate transformation residual of the third axis component of the current node to determine the quantized transformation residual of the third axis component of the current node.
  • the preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array and a third quantization parameter array; accordingly, the precoding unit 1402 is also configured to determine the first candidate quantization parameter index value corresponding to the candidate quantization parameter according to the first quantization parameter array and the first candidate quantization parameter; and determine the second candidate quantization parameter index value corresponding to the candidate quantization parameter according to the second quantization parameter array and the second candidate quantization parameter; and determine the second candidate quantization parameter index value corresponding to the candidate quantization parameter according to the third quantization parameter array and the third candidate quantization parameter; and determine the first candidate quantization parameter index value, the second candidate quantization parameter index value and the third candidate quantization parameter index value as precoding information of the candidate parameter combination; wherein the first quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the first axis component and multiple quantization parameter index values, the second quantization parameter array is used to indicate the mapping relationship between multiple quantization parameters corresponding to the second axis component and multiple quantization parameter;
  • the encoding unit 1403 is also configured to determine, according to a target prediction mode, a target prediction residual of the current node in the first coordinate system and a target coordinate conversion residual of the current node in the second coordinate system; and to quantize the target coordinate conversion residual of the current node in the second coordinate system using a target quantization parameter to determine the target quantization conversion residual of the current node in the second coordinate system; and to determine the encoding information of the current node according to the target prediction mode, the target quantization parameter, the target prediction residual of the current node in the first coordinate system, and the target quantization conversion residual of the current node in the second coordinate system.
  • the encoding unit 1403 is also configured to determine a target prediction value of the azimuth component of the current node and a target prediction value of the depth component of the current node according to a target prediction mode; and determine a prediction residual value of the azimuth component of the current node according to an original value of the azimuth component of the current node and the target prediction value of the azimuth component of the current node; and quantize the prediction residual value of the azimuth component of the current node according to a target quantization parameter to determine the quantized residual value of the azimuth component of the current node; and determine the prediction residual value of the depth component of the current node according to the original value of the depth component of the current node and the target prediction value of the depth component of the current node; and determine the quantized residual value of the azimuth component of the current node and the prediction residual value of the depth component of the current node as the target prediction residual of the current node in the first coordinate system.
  • the encoding unit 1403 is also configured to encode the target prediction mode, the target quantization parameter, the prediction residual value of the depth component of the current node, the quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
  • the encoding unit 1403 is also configured to determine a target quantization parameter index value corresponding to the target quantization parameter based on a preset quantization parameter table and a target quantization parameter; and encode the target prediction mode, the target quantization parameter index value, the prediction residual value of the depth component of the current node, the quantization residual value of the azimuth component of the current node, and the target quantization conversion residual of the current node in the second coordinate system, and write the obtained encoding bits into the bitstream.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular.
  • the components in the present embodiment may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this embodiment is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
  • an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 140.
  • the computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, the method described in any one of the aforementioned embodiments is implemented.
  • the encoder 140 may include: a first communication interface 1501, a first memory 1502 and a first processor 1503; each component is coupled together through a first bus system 1504. It can be understood that the first bus system 1504 is used to achieve connection and communication between these components.
  • the first bus system 1504 also includes a power bus, a control bus and a status signal bus.
  • various buses are labeled as the first bus system 1504 in Figure 15. Among them,
  • the first communication interface 1501 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • a first memory 1502 used to store a computer program that can be run on the first processor 1503;
  • the first processor 1503 is configured to, when running the computer program, execute:
  • the current node is encoded according to the target prediction mode, the encoding information of the current node is determined, and the encoding information is written into the bitstream.
  • the first processor 1503 is further configured to, when running the computer program, execute:
  • the current node is coded according to the target prediction mode and the target quantization parameter, the coding information of the current node is determined, and the coding information is written into the bitstream.
  • the first memory 1502 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
  • the volatile memory can be a random access memory (RAM), which is used as an external cache.
  • RAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate synchronous DRAM
  • ESDRAM enhanced synchronous DRAM
  • SLDRAM synchronous link DRAM
  • DRRAM direct RAM bus RAM
  • the first processor 1503 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the first processor 1503.
  • the above-mentioned first processor 1503 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor can be executed.
  • the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in the first memory 1502, and the first processor 1503 reads the information in the first memory 1502 and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing devices
  • PLD programmable logic devices
  • FPGA field programmable gate array
  • general processors controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application or a combination thereof.
  • the technology described in this application can be implemented by a module (such as a process, function, etc.) that performs the functions described in this application.
  • the software code can be stored in a memory and executed by a processor.
  • the memory can be implemented in a processor or outside a processor.
  • the first processor 1503 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
  • the present embodiment provides an encoder, in which, when selecting the best target prediction mode for the current node, the target prediction mode is selected by counting the prediction residuals of each prediction mode, the cylindrical coordinate system, and the final coordinate transformation residuals, thereby improving the geometric information encoding efficiency of the point cloud; in addition, the influence of different quantization parameters on the coordinate transformation residuals can also be considered, and the optimal quantization parameters and the optimal prediction mode are selected based on the principle of minimum cost value, thereby further improving the encoding efficiency of the geometric information and thereby improving the encoding and decoding performance of the point cloud.
  • FIG16 shows a schematic diagram of the composition structure of a decoder 160 provided in an embodiment of the present application.
  • the decoder 160 may include: a parsing unit 1601, a second determining unit 1602, and a second inverse quantization unit 1603; wherein,
  • the parsing unit 1601 is configured to parse the bitstream and determine a target prediction mode of a current node
  • the second determining unit 1602 is configured to determine a target prediction value of the current node in a preset coordinate system according to the target prediction mode;
  • the parsing unit 1601 is further configured to parse the bitstream to determine a target quantization parameter of a current node and a target quantization prediction residual of the current node in a preset coordinate system;
  • the second dequantization unit 1603 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 1501 is also configured to determine the target reconstruction value of the current node in the preset coordinate system based on the target inverse quantization prediction residual and the target prediction value of the current node in the preset coordinate system; and determine the reconstructed point cloud based on the target reconstruction value of the current node in the preset coordinate system.
  • the second determining unit 1602 is further configured to perform prediction processing on the current node according to the target prediction mode to determine the target prediction value of the current node in the first coordinate system;
  • the parsing unit 1601 is further configured to parse the bitstream to determine the target prediction residual of the current node in the first coordinate system
  • the second determination unit 1602 is further configured to determine the target reconstruction value of the current node in the first coordinate system based on the target prediction value and target prediction residual of the current node in the first coordinate system; and to perform an inverse coordinate transformation based on the target reconstruction value of the current node in the first coordinate system to determine the target prediction value of the current node in the second coordinate system.
  • the parsing unit 1601 is further configured to parse the bitstream to determine a target quantized prediction residual of an azimuth component of the current node, a target prediction residual of a depth component of the current node, and a target prediction residual of a laser marking component of the current node;
  • the second determination unit 1602 is further configured to perform inverse quantization processing on the target quantization prediction residual of the azimuth component of the current node to obtain the target inverse quantization prediction residual of the azimuth component of the current node; and determine the target reconstruction value of the azimuth component of the current node based on the target prediction value and the target inverse quantization prediction residual of the azimuth component of the current node; and determine the target reconstruction value of the depth component of the current node based on the target prediction value and the target prediction residual of the depth component of the current node; and determine the target reconstruction value of the laser identification component of the current node based on the target prediction value and the target prediction residual of the laser identification component of the current node.
  • the parsing unit 1601 is further configured to parse the code stream to determine the number of skip points between the current node and the parent node;
  • the second determination unit 1602 is also configured to obtain the scanning speed of the laser radar, multiply the scanning speed by the number of skipped points to obtain a target multiplication result; and perform an addition operation on the target inverse quantization prediction residual of the azimuth component of the current node, the target prediction value of the azimuth component of the current node, and the target multiplication result to determine the target reconstruction value of the azimuth component of the current node.
  • the parsing unit 1601 is further configured to parse the bitstream to determine the target quantization parameter index value of the current node; and determine the target quantization parameter of the current node according to a preset quantization parameter table and the target quantization parameter index value.
  • the preset coordinate system includes at least one of the following: a first coordinate system and a second coordinate system; accordingly, the second dequantization unit 1603 is also configured to dequantize the target quantization prediction residual of the current node in the first coordinate system according to the target quantization parameter, and determine the target dequantization prediction residual of the current node in the first coordinate system; and/or, dequantize the target quantization conversion residual of the current node in the second coordinate system according to the target quantization parameter, and determine the target dequantization conversion residual of the current node in the second coordinate system.
  • the second dequantization unit 1603 is further configured to perform dequantization 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 dequantization prediction residual of the azimuth component of the current node.
  • the second coordinate system includes a first axis component, a second axis component and a third axis component; accordingly, the second dequantization unit 1603 is also configured to use the first quantization parameter to dequantize the target quantization conversion residual of the first axis component of the current node to determine the target dequantization conversion residual of the first axis component of the current node; and use the second quantization parameter to dequantize the target quantization conversion residual of the second axis component of the current node to determine the target dequantization conversion residual of the second axis component of the current node; and use the third quantization parameter to dequantize the target quantization conversion residual of the third axis component of the current node to determine the target dequantization conversion residual of the third axis component of the current node.
  • the parsing unit 1601 is further configured to parse the bitstream to determine the first quantization parameter, the second quantization parameter, and the third quantization parameter of the current node.
  • the preset quantization parameter table includes a first quantization parameter array, a second quantization parameter array, and a third quantization parameter array; accordingly, the parsing unit 1601 is further configured to parse the bitstream to determine the first quantization parameter index value, the second quantization parameter index value, and the third quantization parameter index value of the current node;
  • the second determination unit 1602 is further configured to determine the first quantization parameter according to the first quantization parameter array and the first quantization parameter index value; and determine the second quantization parameter according to the second quantization parameter array and the second quantization parameter index value; and determine the third quantization parameter according to the third quantization parameter array and the third quantization parameter index value; wherein the first quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the first axis component and the multiple quantization parameter index values, the second quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the second axis component and the multiple quantization parameter index values, and the third quantization parameter array is used to indicate the mapping relationship between the multiple quantization parameters corresponding to the third axis component and the multiple quantization parameter index values.
  • a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course it can also be a module, or it can be non-modular.
  • the components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • this embodiment provides a computer-readable storage medium, which is applied to the decoder 160.
  • the computer-readable storage medium stores a computer program. When the computer program is executed by the second processor, the method described in any one of the above embodiments is implemented.
  • the decoder 160 may include: a second communication interface 1701, a second memory 1702 and a second processor 1703; each component is coupled together through a second bus system 1704. It can be understood that the second bus system 1704 is used to achieve connection and communication between these components.
  • the second bus system 1704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the second bus system 1704 in Figure 17. Among them,
  • the second communication interface 1701 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • the second memory 1702 is used to store a computer program that can be run on the second processor 1703;
  • the second processor 1703 is configured to, when running the computer program, execute:
  • the target prediction mode determine the target prediction value of the current node in the preset coordinate system
  • the second processor 1703 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.
  • This embodiment provides a decoder, in which a quantization parameter table is introduced to adaptively quantize the coordinate transformation residual of each node, thereby improving the encoding efficiency of geometric information; further, the quantization parameter table is updated to a three-dimensional quantization parameter table (a first quantization parameter table, a second quantization parameter table and a third quantization parameter table) to complete different degrees of quantization of x, y and z, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding and decoding performance of point clouds.
  • a quantization parameter table is introduced to adaptively quantize the coordinate transformation residual of each node, thereby improving the encoding efficiency of geometric information
  • the quantization parameter table is updated to a three-dimensional quantization parameter table (a first quantization parameter table, a second quantization parameter table and a third quantization parameter table) to complete different degrees of quantization of x, y and z, and can further improve the encoding and decoding efficiency of geometric information, thereby improving the encoding
  • the coding and decoding system 180 may include an encoder 1801 and a decoder 1802 .
  • the encoder 1801 may be the encoder described in any one of the aforementioned embodiments
  • the decoder 1802 may be the decoder described in any one of the aforementioned embodiments.
  • the prediction tree structure corresponding to the initial point cloud is determined; the current node of the prediction tree structure is predicted by multiple prediction modes.
  • the method comprises the steps of: performing precoding processing to determine the precoding information of each of the multiple prediction modes; wherein the precoding information at least includes: the prediction mode, the prediction residual of the current node in the first coordinate system and the coordinate conversion residual of the current node in the second coordinate system; determining the target prediction mode in the multiple prediction modes according to the precoding information of each of the multiple prediction modes; performing encoding processing on the current node according to the target prediction mode, determining the encoding information of the current node, and writing the encoding information into the bitstream; in this way, when counting the precoding information corresponding to each prediction mode, not only the prediction residual of the prediction mode and the current node in the first coordinate system is considered, but also the influence of the coordinate conversion residual of the first coordinate system on the second coordinate system is considered, so that when the bitstream is estimated according to the precoding information, the accuracy of the bitstream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种编解码方法、码流、编码器、解码器以及存储介质,该方法包括:确定初始点云对应的预测树结构;通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。这样,能够提高最佳预测模式选取的准确度,从而提升几何信息的编码效率,提高点云的编解码性能。

Description

编解码方法、码流、编码器、解码器以及存储介质 技术领域
本申请实施例涉及点云数据处理技术领域,尤其涉及一种编解码方法、码流、编码器、解码器以及存储介质。
背景技术
目前,在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编解码框架中,点云的几何信息和属性信息是分开进行编码的。G-PCC的几何编码可分为基于八叉树的几何编码和基于预测树的几何编码。对于基于预测树的几何编码而言,首先对输入点云进行排序,并在编码端建立预测树;然后遍历预测树中的每个节点,在选取对应的预测模式后,根据该预测模式对节点的几何位置信息进行预测得到预测残差,最终将每个节点的预测模式和预测残差等进行编码,生成二进制码流。
在上述的编码过程中,通常选取最佳预测模式来提升点云的几何编码效率。但是目前决策预测模式的方法不合理,导致最佳预测模式的选取不准确,降低了几何信息的编码效率。
发明内容
本申请实施例提供一种编解码方法、码流、编码器、解码器以及存储介质,能够提高最佳预测模式选取的准确度,从而提升几何信息的编码效率,提高点云的编解码性能。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种编码方法,应用于编码器,该方法包括:
确定初始点云对应的预测树结构;
通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;
根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
第二方面,本申请实施例提供了一种解码方法,应用于解码器,该方法包括:
解析码流,确定当前节点的目标预测模式;
根据目标预测模式,确定当前节点在预设坐标系下的目标预测值;
解析码流,确定当前节点的目标量化参数和当前节点在预设坐标系下的目标量化预测残差;
根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差;
根据当前节点在预设坐标系下的目标反量化预测残差与目标预测值,确定当前节点在预设坐标系下的目标重建值;
根据当前节点在预设坐标系下的目标重建值,确定重建点云。
第三方面,本申请实施例提供了一种编码方法,应用于编码器,该方法包括:
确定初始点云对应的预测树结构;
通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的参数组合对应不同的预测模式和量化参数,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数;
根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
第四方面,本申请实施例提供了一种码流,该码流是根据待编码信息进行比特编码生成的;其中,待编码信息包括下述至少一项:
目标预测模式、目标量化参数索引值、当前节点与父节点之间的跳过点数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差。
第五方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一预编码单元和编码单元;其中,
第一确定单元,配置为确定初始点云对应的预测树结构;
第一预编码单元,配置为通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
第一确定单元,还配置为根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;
编码单元,配置为根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
第六方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一预编码单元和编码单元;其中,
第一确定单元,配置为确定初始点云对应的预测树结构;
第一预编码单元,配置为通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的参数组合对应不同的预测模式和量化参数,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
第一确定单元,还配置为根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数;
编码单元,配置为根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
第七方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行计算机程序时,执行如第一方面或第三方面所述的方法。
第八方面,本申请实施例提供了一种解码器,该解码器包括解析单元、第二确定单元和第二反量化单元;其中,
解析单元,配置为解析码流,确定当前节点的目标预测模式;
第二确定单元,配置为根据目标预测模式,确定当前节点在预设坐标系下的目标预测值;
解析单元,还配置为解析码流,确定当前节点的目标量化参数和当前节点在预设坐标系下的目标量化预测残差;
第二反量化单元,配置为根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差;
第二确定单元,还配置为根据当前节点在预设坐标系下的目标反量化预测残差与目标预测值,确定当前节点在预设坐标系下的目标重建值;以及根据当前节点在预设坐标系下的目标重建值,确定重建点云。
第九方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行计算机程序时,执行如第二方面所述的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如第一方面所述的方法、或者如第二方面所述的方法、或者如第三方面所述的方法。
本申请实施例提供了一种编解码方法、码流、编码器、解码器以及存储介质,在编码端,确定初始点云对应的预测树结构;通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流;这样,在统计每种预测模式对应的预编码信息时,不仅考虑了预测模式和当前节点在第一坐标系下的预测残差,同时还考虑了第一坐标系对于第二坐标系的坐标转换残差的影响,使得根据预编码信息进行码流估计时,能够提高每种预测模式下码流估计的准确度,从而使得所选取的最佳预测模式更准确,可以提升几何信息的编码效率;另外,在统计每种预测模式对应的预编码信息时,还可以考虑不同的量化参数对坐标转换残差的影响,如此,根据预编码信息进行码流估计时,可以基于代价值最小原则来选取最佳的目标量化参数和目标预测模式,能够进一步提升几何信息的编码效率,进而提升点云 的编解码性能。
附图说明
图1A为一种三维点云图像示意图;
图1B为一种三维点云图像的局部放大示意图;
图2A为一种不同观看角度下的点云图像示意图;
图2B为一种图2A对应的数据存储格式示意图;
图3为一种点云编解码的网络架构示意图;
图4A为一种G-PCC编码器的组成框图示意图;
图4B为一种G-PCC解码器的组成框图示意图;
图5A为一种子块的交点示意图;
图5B为一种三角面片集的拟合示意图;
图5C为一种三角面片集的上采样示意图;
图6A为一种AVS编码器的组成框图示意图;
图6B为一种AVS解码器的组成框图示意图;
图7为一种方位角分量与深度分量之间的关系示意图;
图8为本申请实施例提供的一种编码方法的流程示意图;
图9为一种旋转激光雷达获取点云的坐标转换示意图;
图10为本申请实施例提供的一种预测树结构的组成示意图;
图11为本申请实施例提供的另一种编码方法的流程示意图;
图12为本申请实施例提供的一种解码方法的流程示意图;
图13A为本申请实施例提供的一种构建预测树结构的编码器框图示意图;
图13B为本申请实施例提供的一种重构预测树结构的解码器框图示意图;
图14为本申请实施例提供的一种编码器的组成结构示意图;
图15为本申请实施例提供的一种编码器的具体硬件结构示意图;
图16为本申请实施例提供的一种解码器的组成结构示意图;
图17为本申请实施例提供的一种解码器的具体硬件结构示意图;
图18为本申请实施例提供的一种编解码系统的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
点云(Point Cloud)是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集,图1A展示了三维点云图像和图1B展示了三维点云图像的局部放大图,可以看到点云表面是由分布稠密的点所组成的。
二维图像在每一个像素点均有信息表达,分布规则,因此不需要额外记录其位置信息;然而点云中的点在三维空间中的分布具有随机性和不规则性,因此需要记录每一个点在空间中的位置,才能完整地表达一幅点云。与二维图像类似,采集过程中每一个位置均有对应的属性信息,通常为RGB颜色值,颜色值反映物体的色彩;对于点云来说,每一个点所对应的属性信息除了颜色信息以外,还有比较常见的是反射率(reflectance)值,反射率值反映物体的表面材质。因此,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息(x,y,z)。点的位置信息也可称为点 的几何信息。例如,点的属性信息可以包括颜色信息(三维颜色信息)和/或反射率(一维反射率信息r)等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的反射率值。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的三维颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的反射率值和点的三维颜色信息。
如图2A和图2B所示为一幅点云图像及其对应的数据存储格式。其中,图2A提供了点云图像的六个观看角度,图2B由文件头信息部分和数据部分组成,头信息包含了数据格式、数据表示类型、点云总点数、以及点云所表示的内容。例如,点云为“.ply”格式,由ASCII码表示,总点数为207242,每个点具有三维坐标信息(x,y,z)和三维颜色信息(r,g,b)。
点云可以按获取的途径分为:
静态点云:即物体是静止的,获取点云的设备也是静止的;
动态点云:物体是运动的,但获取点云的设备是静止的;
动态获取点云:获取点云的设备是运动的。
例如,按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
点云的采集主要有以下途径:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云;3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;3D摄影测量可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
示例性地,以帧率为30帧每秒(fps)的点云视频为例,每帧点云的点数为70万,每个点具有坐标信息xyz(float)和颜色信息RGB(uchar),则10s点云视频的数据量大约为0.7million×(4Byte×3+1Byte×3)×30fps×10s=3.15GB,其中,1Byte为10bit,而YUV采样格式为4:2:0,帧率为24fps的1280×720二维视频,其10s的数据量约为1280×720×12bit×24fps×10s≈0.33GB,10s的两视角三维视频的数据量约为0.33×2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
也就是说,由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。
目前,可对点云进行压缩的点云编码框架可以是运动图像专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)编解码框架,也可以是AVS提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,其可以是基于点云压缩测试平台(Test Model Compression 13,TMC13),V-PCC编解码框架可用于针对第二类动态点云进行压缩,其可以是基于点云压缩测试平台(Test Model Compression 2,TMC2)。故G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。
本申请实施例提供了一种包含解码方法和编码方法的点云编解码系统的网络架构,图3为本申请实施例提供的一种点云编解码的网络架构示意图。如图3所示,该网络架构包括一个或多个电子设备13至1N和通信网络01,其中,电子设备13至1N可以通过通信网络01进行视频交互。电子设备在实施的过程中可以为各种类型的具有点云编解码功能的设备,例如,所述电子设备可以包括手机、平板电脑、 个人计算机、个人数字助理、导航仪、数字电话、视频电话、电视机、传感设备、服务器等,本申请实施例不作限制。其中,本申请实施例中的解码器或编码器就可以为上述电子设备。
其中,本申请实施例中的电子设备具有点云编解码功能,一般包括点云编码器(即编码器)和点云解码器(即解码器)。
下面以G-PCC编解码框架和AVS编解码框架为例进行相关技术的说明。
可以理解,在点云G-PCC编解码框架中,针对待编码的点云数据,首先通过片(slice)划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。
图4A示出了一种G-PCC编码器的组成框架示意图。如图4A所示,在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个包围盒(Bounding Box)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是再基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对Bounding Box进行八叉树划分或者预测树构建。在该过程中,针对划分的叶子结点中的点进行算术编码,生成二进制的几何比特流;或者,针对划分产生的交点(Vertex)进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流。在属性编码过程中,几何编码完成,对几何信息进行重建后,需要先进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。属性编码主要针对颜色信息进行,在颜色信息编码过程中,主要有两种变换方法,一是依赖于细节层次(Level of Detail,LOD)划分的基于距离的提升变换,二是直接进行区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT),这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化,再对量化系数进行算术编码,可以生成二进制的属性比特流。
图4B示出了一种G-PCC解码器的组成框架示意图。如图4B所示,针对所获取的二进制比特流,首先对二进制比特流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-重构八叉树/重构预测树-重建几何-坐标逆转换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-LOD划分/RAHT-颜色逆转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据(即输出点云)。
需要说明的是,在如图4A或图4B所示,目前G-PCC的几何编解码可以分为基于八叉树的几何编解码(用虚线框标识)和基于预测树的几何编解码(用点划线框标识)。
对于基于八叉树的几何编码(Octree geometry encoding,OctGeomEnc)而言,基于八叉树的几何编码包括:首先对几何信息进行坐标转换,使点云全都包含在一个Bounding Box中。然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接下来,按照广度优先遍历的顺序不断对Bounding Box进行树划分(例如八叉树、四叉树、二叉树等),对每个节点的占位码进行编码。在相关技术中,某公司提出了一种隐式几何的划分方式,首先计算点云的包围盒
Figure PCTCN2022122652-appb-000001
假设d x>d y>d z,该包围盒对应为一个长方体。在几何划分时,首先会基于x轴一直进行二叉树划分,得到两个子节点;直到满足d x=d y>d z条件时,才会基于x和y轴一直进行四叉树划分,得到四个子节点;当最终满足d x=d y=d z条件时,会一直进行八叉树划分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,对叶子结点中的点进行编码,生成二进制码流。在基于二叉树/四叉树/八叉树划分的过程中,引入两个参数:K、M。参数K指示在进行八叉树划分之前二叉树/四叉树划分的最多次数;参数M用来指示在进行二叉树/四叉树划分时对应的最小块边长为2 M。同时K和M必须满足条件:假设d max=max(d x,d y,d z),d min=min(d x,d y,d z),参数K满足:K≥d max-d min;参数M满足:M≥d min。参数K与M之所以满足上述的条件,是因为目前G-PCC在几何隐式划分的过程中,划分方式的优先级为二叉树、四叉树和八叉树,当节点块大小不满足二叉树/四叉树的条件时,才会对节点一直进行八叉树的划分,直到划分到叶子节点最小单位1×1×1。但基于八叉树的几何信息编码模式仅对空间中具有相关性的点有高效的压缩速率,而对于在几何空间中处于孤立位置的点来说,使用直接编码模式(Direct Coding Model,DCM)可以大大降低复杂度。对于八叉树中的所有节点,DCM的使用不是通过标志位信息来表示的,而是通过当前节点父节点和邻居信息来进行推断得到。判断当前节点是否具有DCM编码资格的方式有以下两种:
(1)当前节点仅有一个被占据子节点,同时当前节点父节点的父节点仅有两个被占据子节点,即当前节点最多只有一个邻居节点。
(2)当前节点的父节点仅有当前节点一个占据子节点,同时与当前节点共用一个面的六个邻居节点也都属于空节点。
如果当前节点不具有DCM编码资格将对其进行八叉树划分,若具有DCM编码资格将进一步判断该节点中包含的点数,当点数小于阈值(例如2)时,则对该节点进行DCM编码,否则将继续进行八叉树划分。当应用DCM编码模式时,当前节点中包含点的几何坐标(x,y,z)分量将分别独立地被直接编码。当一个节点的边长为2 d时,对该节点几何坐标的每一个分量进行编码时需要d比特,该比特信息直接被写入码流中。
需要注意的是,在节点划分到叶子节点时,在几何无损编码的情况下,需要对叶子节点中的重复点个数进行编码。最终对所有节点的占位信息进行编码,生成二进制码流。另外G-PCC目前引入了一种平面编码模式,在对几何进行划分的过程中,会判断当前节点的子节点是否处于同一平面,如果当前节点的子节点满足同一平面的条件,会用该平面对当前节点的子节点进行表示。
对于基于八叉树的几何解码而言,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1×1×1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息。
对于基于三角面片集(triangle soup,trisoup)的几何信息编码而言,在基于trisoup的几何信息编码框架中,同样也要先进行几何划分,但区别于基于二叉树/四叉树/八叉树的几何信息编码,该方法不需要将点云逐级划分到边长为1×1×1的单位立方体,而是划分到子块(block)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个交点(vertex)。依次编码每个block的vertex坐标,生成二进制码流。
对于基于trisoup的点云几何信息重建而言,在解码端进行点云几何信息重建时,首先解码vertex坐标用于完成三角面片重建,该过程如图5A、图5B和图5C所示。其中,图5A所示的block中存在3个交点(v1,v2,v3),利用这3个交点按照一定顺序所构成的三角面片集被称为triangle soup,即trisoup,如图5B所示。之后,在该三角面片集上进行采样,将得到的采样点作为该block内的重建点云,如图5C所示。
对于基于预测树的几何编码(Predictive geometry coding,PredGeomTree)而言,基于预测树的几何编码包括:首先对输入点云进行排序,目前采用的排序方法包括无序、莫顿序、方位角序和径向距离序。在编码端通过利用两种不同的方式建立预测树结构,其中包括:高时延慢速模式(KD-Tree,KD树)和低时延快速模式(利用激光雷达标定信息)。在利用激光雷达标定信息时,将每个点划分到不同的激光器(Laser)上,按照不同的Laser建立预测树结构。接下来基于预测树的结构,遍历预测树中的每个节点,通过选取不同的预测模式对节点的几何位置信息进行预测得到几何预测残差,并且利用量化参数对几何预测残差进行量化。最终通过不断迭代,对预测树节点位置信息的预测残差、预测树结构以及量化参数等进行编码,生成二进制码流。
对于基于预测树的几何解码而言,解码端通过不断解析码流,重构预测树结构,其次通过解析得到每个预测节点的几何位置预测残差信息以及量化参数,并且对预测残差进行反量化,恢复得到每个节点的重构几何位置信息,最终完成解码端的几何重构。
在几何编码完成后,需要对几何信息进行重建。目前,属性编码主要针对颜色信息进行。首先,将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一是依赖于LOD划分的基于距离的提升变换,二是直接进行RAHT变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化并编码,生成二进制比特流(可简称为“码流”)。
在利用几何信息来对属性信息进行预测时,可以利用莫顿码进行最近邻居搜索,点云中每点对应的莫顿码可以由该点的几何坐标得到。计算莫顿码的具体方法描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标,其三个分量可以表示为:
Figure PCTCN2022122652-appb-000002
其中,x l,y l,z l∈{0,1}分别是x,y,z的最高位(l=1)到最低位(l=d)对应的二进制数值。莫顿码M是对x,y,z从最高位开始,依次交叉排列x l,y l,z l到最低位,M的计算公式如下所示:
Figure PCTCN2022122652-appb-000003
其中,m l′∈{0,1}分别是M的最高位(l′=1)到最低位(l′=3d)的值。在得到点云中每个点的莫顿码M后,将点云中的点按莫顿码由小到大的顺序进行排列,并将每个点的权重值w设为1。
还可以理解,对于G-PCC编解码框架而言,通用测试条件如下:
(1)测试条件共4种:
条件1:几何位置有限度有损、属性有损;
条件2:几何位置无损、属性有损;
条件3:几何位置无损、属性有限度有损;
条件4:几何位置无损、属性无损。
(2)通用测试序列包括Cat1A,Cat1B,Cat3-fused,Cat3-frame共四类。其中,Cat2-frame点云只包含反射率属性信息,Cat1A、Cat1B点云只包含颜色属性信息,Cat3-fused点云同时包含颜色和反射率属性信息。
(3)技术路线:共2种,以几何压缩所采用的算法进行区分。
技术路线1:八叉树编码分支。
在编码端,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)的子立方体继续进行划分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,在几何无损编码情况下,需要对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制码流。
在解码端,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1×1×1的单位立方体时停止划分,在几何无损解码的情况下,需要解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息。
技术路线2:预测树编码分支。
在编码端通过利用两种不同的方式建立预测树结构,其中包括:基于KD-Tree(高时延慢速模式)和利用激光雷达标定信息(低时延快速模式),对于利用激光雷达标定信息,可以将每个点划分到不同的Laser上,按照不同的Laser建立预测树结构。接下来基于预测树结构,遍历预测树中的每个节点,通过选取不同的预测模式对节点的几何位置信息进行预测得到几何预测残差,并且利用量化参数对几何预测残差进行量化。最终通过不断迭代,对节点位置信息的预测残差、预测树结构以及量化参数等进行编码,生成二进制码流。
在解码端,解码端通过不断解析码流,重构预测树结构,其次通过解析得到每个预测节点的几何位置预测残差信息以及量化参数,并且对预测残差进行反量化,恢复得到每个节点的重构几何位置信息,最终完成解码端的几何重构。
可以理解,在点云AVS编解码框架中,点云的几何信息和每点所对应的属性信息也是分开编码的。其中,图6A示出了一种AVS编码器的组成框架示意图,图6B示出了一种AVS编码器的组成框架示意图。
在AVS编码器的框架中,首先对几何信息进行坐标转换,使点云全都包含在一个Bounding Box中。在预处理过程之前,会根据参数配置来决定是否要将整个点云序列划分成多个slice,对于每个划分的slice将其视为单个独立点云串行处理。预处理过程包含量化和移除重复点。量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点。接下来,按照广度优先遍历的顺序对Bounding Box进行划分(八叉树/四叉树/二叉树),对每个节点的占位码进行编码。在基于八叉树的几何编码中,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)的子立方体继续进行划分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,其次在几何无损编码的情况下,对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制的几何比特流(即几何码流)。在AVS解码器的框架中,基于八叉树的几何解码过程,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1×1×1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何信息。
在几何编码完成后,对几何信息进行重建。目前,属性编码主要针对颜色、反射率信息进行。首先判断是否进行颜色空间的转换,若进行颜色空间转换,则将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中分为两个模块:属性预测与属性变换。属性预测过程如下:首先对点云进行重排序,然后进行差分预测。其中重排序的方法有两种:莫顿重排序和Hilbert重排序。对于cat1A序列与cat2序列,对其进行Hilbert重排序;对于cat1B序列与cat3序列,对其进行莫顿重排序。然后对排序之后的点云使用差分方式进行属性预测,最后对预测残差进行量化并熵编码,生成二进制的属性比特流。属性变换过程如下:首先对点云属性做小波变换,对变换系数做量化;其次通过逆量化、逆小波变换得到属性重建值;然后计算原始属性和属性重建值的差得到属性残差并对其量化;最后将量化后的变换系数和属性残差进行熵编码,生成二进制的属性比特流(即属性码流)。在AVS解码器的框架中,解码端对属性比特流进行熵解码-逆量化-属性预测补偿/属性逆变换-逆空间变换,最终恢复得到属性信息。
还可以理解,对于AVS编解码框架而言,通用测试条件如下:
(1)测试条件共4种:
条件1:几何位置有限度有损、属性有损;
条件2:几何位置无损、属性有损;
条件3:几何位置无损、属性有限度有损;
条件4:几何位置无损、属性无损。
(2)通用测试序列包括Cat1A,Cat1B,Cat1C,Cat2-frame和Cat3共五类,其中Cat1A、Cat2-frame点云只包含反射率属性信息,Cat1B、Cat3点云只包含颜色属性信息,Cat1C点云同时包含颜色和反射率属性信息。
(3)技术路线:共2种,以属性压缩所采用的算法进行区分。
技术路线1:预测分支,属性压缩采用基于帧内预测的方法。
在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先采用预测算法得到属性预测值,根据属性值和属性预测值得到属性残差,然后对属性残差进行量化,生成量化残差,最后对量化残差进行编码;
在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先采用预测算法得到属性预测值,然后解码获取量化残差,再对量化残差进行反量化,最后根据属性预测值和反量化后的残差,获得属性重建值。
技术路线2:预测变换分支—资源受限,属性压缩采用基于帧内预测和离散余弦变换(Discrete Cosine Transform,DCT)的方法,在编码量化后的变换系数时,有最大点数X(如4096)的限制,即最多每X点为一组进行编码。
在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先将整个点云分成长度最大为Y(如2)的若干小组,然后将这若干个小组组合成若干个大组(每个大组中的点数不超过X,如4096),然后采用预测算法得到属性预测值,根据属性值和属性预测值得到属性残差,以小组为单位对属性残差进行DCT变换,生成变换系数,再对变换系数进行量化,生成量化后的变换系数,最后以大组为单位对量化后的变换系数进行编码;
在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先将整个点云分成长度最大为Y(如2)的若干小组,然后将这若干个小组组合成若干个大组(每个大组中的点数不超过X,如4096),以大组为单位解码获取量化后的变换系数,然后采用预测算法得到属性预测值,再以小组为单位对量化后的变换系数进行反量化、反变换,最后根据属性预测值和反量化、反变换后的系数,获得属性重建值。
技术路线3:预测变换分支—资源不受限,属性压缩采用基于帧内预测和DCT变换的方法,在编码量化后的变换系数时,没有最大点数X的限制,即所有系数一起进行编码。
在编码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先将整个点云分成长度最大为Y(如2)的若干小组,然后采用预测算法得到属性预测值,根据属性值和属性预测值得到属性残差,以小组为单位对属性残差进行DCT变换,生成变换系数,再对变换系数进行量化,生成量化后的变换系数,最后对整个点云的量化后的变换系数进行编码;
在解码端,按照一定的顺序(点云原始采集顺序、莫顿顺序、希尔伯特顺序等)处理点云中的点,先将整个点云分成长度最大为Y(如2)的若干小组,解码获取整个点云的量化后的变换系数,然后采用预测算法得到属性预测值,再以小组为单位对量化后的变换系数进行反量化、反变换,最后根据属性预测值和反量化、反变换后的系数,获得属性重建值。
技术路线4:多层变换分支,属性压缩采用基于多层小波变换的方法。
在编码端,对整个点云进行多层小波变换,生成变换系数,然后对变换系数进行量化,生成量化后的变换系数,最后对整个点云的量化后的变换系数进行编码;
在解码端,解码获取整个点云的量化后的变换系数,然后对量化后的变换系数进行反量化、反变换,获得属性重建值。
近年来,基于Angular和Azimuthal编码模式,某公司针对cat3-frame数据提出一种基于预测树结构的几何编码优化方案,利用旋转激光雷达的先验信息和点云的柱面坐标构建预测树,使得点云在垂直方向和水平方向上具有更准确的预测。更甚者,另一公司针对cat3-frame数据在基于预测树的几何编码优化方案基础上提出一种优化方案,其中,对于柱面坐标系
Figure PCTCN2022122652-appb-000004
可以利用柱面坐标系的深度信息R来对水平方位角
Figure PCTCN2022122652-appb-000005
进行自适应量化,可以自适应的改变水平方位角的精度,进一步提升几何信息的编码效率。
如图7所示,随着深度信息R的增大,对于水平方位角
Figure PCTCN2022122652-appb-000006
相同的量化
Figure PCTCN2022122652-appb-000007
会对
Figure PCTCN2022122652-appb-000008
产生不同的误差。基于此,这里提出了利用深度信息R来对水平方位角进行自适应量化,具体的量化公式如下:
Figure PCTCN2022122652-appb-000009
其中,若
Figure PCTCN2022122652-appb-000010
固定为0.79,则
Figure PCTCN2022122652-appb-000011
为8,即右移3比特(bit);r 2Drec表示深度信息的重建值, N表示固定的精度。
利用上述式(3)计算得到的
Figure PCTCN2022122652-appb-000012
来对预测残差
Figure PCTCN2022122652-appb-000013
进行量化,假设量化后的
Figure PCTCN2022122652-appb-000014
记为
Figure PCTCN2022122652-appb-000015
Figure PCTCN2022122652-appb-000016
并且对
Figure PCTCN2022122652-appb-000017
进行反量化得到
Figure PCTCN2022122652-appb-000018
Figure PCTCN2022122652-appb-000019
最后利用反量化之后得到的
Figure PCTCN2022122652-appb-000020
来对水平方位角
Figure PCTCN2022122652-appb-000021
进行重建,即可得到重建值
Figure PCTCN2022122652-appb-000022
在这里,round()表示取整函数。另外,图7中的“Q”表示量化处理,“IQ”表示反量化处理。
根据上面的量化过程,对于不同的预测模式,可以得到不同的预测残差
Figure PCTCN2022122652-appb-000023
经过量化重建之后会得到不同的
Figure PCTCN2022122652-appb-000024
最后由柱面坐标系向笛卡尔坐标系进行坐标逆转换时,会得到不同的坐标转换残差(x res,y res,z res)。
也就是说,在对激光雷达点云利用预测树结构编码时,通过选取一定的预测模式来提升点云的几何编码效率。但是目前在编码端估计每种预测模式对应的码流信息(即编码比特大小)时,仅仅统计了每种预测模式以及柱面坐标系对应的码流信息,并没有统计每种预测模式对应的坐标转换残差所需要消耗的码流信息,导致最佳预测模式的选取不准确,因此会降低几何信息的编码效率。
本申请实施例提供了一种编解码方法,针对多种预测模式,在统计每种预测模式对应的预编码信息时,不仅考虑了预测模式和当前节点在柱面坐标系下的预测残差,同时还考虑了柱面坐标系对于笛卡尔坐标系的坐标转换残差的影响,使得根据预编码信息进行码流估计时,能够提高每种预测模式下码流估计的准确度,从而使得所选取的最佳预测模式更准确,能够提升几何信息的编码效率;另外,还可以考虑不同的量化参数对坐标转换残差的影响,基于代价值最小原则来选取最佳量化参数和最佳预测模式,进一步提升几何信息的编码效率,进而提升点云的编解码性能。
下面将结合附图对本申请各实施例进行详细说明。
在本申请的一实施例中,参见图8,其示出了本申请实施例提供的一种编码方法的流程示意图。如图8所示,该方法可以包括:
S801:确定初始点云对应的预测树结构。
需要说明的是,本申请实施例的编码方法可以应用于编码器。另外,该编码方法具体可以是指一种预测树编码方法,更具体地,是一种激光雷达点云编码方法,即利用激光雷达标定信息,将每个节点划分到不同的Laser上,按照不同的Laser建立预测树结构,但是这里并不作具体限定。
还需要说明的是,在本申请实施例中,这里的初始点云可以为体素化后的点云。在一些实施例中,确定初始点云对应的预测树结构,可以包括:
获取在第二坐标系下的初始点云;
对初始点云中的点进行坐标转换,得到在第一坐标系下的处理后点云;
根据第一坐标系下的处理后点云,建立预测树结构。
在本申请实施例中,第一坐标系可以为柱面坐标系,用
Figure PCTCN2022122652-appb-000025
表示;第二坐标系可以为笛卡尔坐标系,用(x,y,z)表示。
在本申请实施例中,对于笛卡尔坐标系下的初始点云,需要进行坐标转换,然后按照柱面坐标系进行存储。其中,坐标转换的计算公式如下:
Figure PCTCN2022122652-appb-000026
Figure PCTCN2022122652-appb-000027
i=arg min j=1,…,N{z+zLaser(j)-R×tan(θ(j))}      (6)
图9示出了一种旋转激光雷达获取点云的坐标转换示意图。其中,在笛卡尔坐标系下,对于每一个节点的(x,y,z)坐标,均可以转换为用
Figure PCTCN2022122652-appb-000028
表示。另外,激光扫描器(Laser Scanner)可以按照预设角度进行激光扫描,在j的不同取值下,可以得到不同的θ(j)。例如,在j等于1时,这时候可以得到θ(1),对应的扫描角度为-15°;在j等于2时,这时候可以得到θ(2),对应的扫描角度为-13°;在j等于10时,这时候可以得到θ(10),对应的扫描角度为+13°;在j等于9时,这时候可以得到θ(19),对应的扫描角度为+15°。
还需要说明的是,在本申请实施例中,i表示点对应的LaserID,一个典型的激光雷达系统可能有16、32或64个激光扫描器(Laser Scanner),每个Laser的先验信息不同即仰角θ和在垂直方向上的高度zLaser不同。i的确定是通过循环不同Laser的先验信息,在每次循环中利用点的R、先验信息和上述式(4)~式(6)来计算点的z分量,并计算该转换而来的z分量与点的原始z分量之间的偏差,进而从不同LaserID中选择出偏差最小的作为该点的i,此过程对点云在空间中垂直方向的非均匀分布进行了处理,使其规则化。
在一些实施例中,该方法还可以包括:在对初始点云中的点进行坐标转换之前,对初始点云进行重排序处理。
需要说明的是,在本申请实施例中,在构建预测树结构之前,需要先对初始点云进行重排序处理; 然后将初始点云由笛卡尔坐标系转换为柱面坐标系,再利用柱面坐标系下的初始点云来建立预测树结构。
还需要说明的是,在本申请实施例中,重排序方法可以是无序、莫顿序、方位角序和径向距离序等等。在一种具体的实施例中,默认的排序方法是按照方位角排序。在这里,可以将每个节点的笛卡尔坐标(x,y,z)转化为极坐标
Figure PCTCN2022122652-appb-000029
并依次根据方位角
Figure PCTCN2022122652-appb-000030
半径R和仰角正切值tanθ对各点进行排序。
这样,根据排序后的结果遍历初始点云,并将初始点云中的点依次由笛卡尔坐标(x,y,z)转换为柱面坐标
Figure PCTCN2022122652-appb-000031
并进行存储。然后根据初始点云中的点的柱面坐标
Figure PCTCN2022122652-appb-000032
接下来在建立预测树结构时,如果第一次出现一个LaserID为i的点,则将该点作为LaserID为i对应的所有点的根节点;如果没有,则将该点视为之前处理过的LaserID为i的点的子节点,重复此过程,直到遍历完所有点。最后,连接所有LaserID的根节点即可完成预测树的建立。图10示出了一种预测树结构的组成示意图。如图10所示,在初始点云中,用横线填充的节点表示LaserID=0(即Laser index0)时对应的所有点,用竖线填充的节点表示LaserID=1(即Laser index1)时对应的所有点,用斜线填充的节点表示LaserID=2(即Laser index2)时对应的所有点,用网格填充的节点表示LaserID=3(即Laser index3)时对应的所有点。针对4个Laser(i=0,1,2,3),这里示出了对应于这4个Laser的预测树结构。
S802:通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差。
需要说明的是,在本申请实施例中,多种预测模式可以包括四种预测模式,具体可以为:第一预测模式(用Mode0表示)、第二预测模式(用Mode1表示)、第三预测模式(用Mode2表示)和第四预测模式(用Mode3表示)。其中,Mode0表示无预测,Mode1表示差分预测(Delta prediction),即p0;Mode2表示线性预测(Linear prediction),即2p0-p1;Mode3表示平行四边形预测(Parallelogram prediction),即p0+p1-p2。其中,p0、p1、p2分别为当前节点的父节点、祖父节点、曾祖父节点的位置。
还需要说明的是,在本申请实施例中,可以按照深度优先顺序遍历该预测树结构,针对预测树结构中的当前节点,需要从这多种预测模式中选取目标预测模式进行预测。
在目标预测模式的选取过程中,首先需要确定每一种预测模式的预编码信息。因此,在一些实施例中,通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息,可以包括:
利用候选预测模式对当前节点进行预测处理,得到当前节点在第一坐标系下的预测值;
根据当前节点在第一坐标系下的原始值与当前节点在第一坐标系下的预测值,确定当前节点在第一坐标系下的预测残差;
根据当前节点在第一坐标系下的预测残差,确定当前节点在第一坐标系下的重建值;
根据当前节点在第一坐标系下的重建值进行坐标逆转换,确定当前节点在第二坐标系下的预测值;
根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的预测值,确定当前节点在第二坐标系下的坐标转换残差;
根据候选预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差,确定候选预测模式的预编码信息。
在本申请实施例中,候选预测模式为多种预测模式中的任意一种。换句话说,针对这多种预测模式,每一种预测模式均是按照上述处理过程来确定各自对应的预编码信息。
在一些实施例中,利用候选预测模式对当前节点进行预测处理,得到当前节点在第一坐标系下的预测值,可以包括:
若当前节点为根节点且候选预测模式为第一预测模式,则将预设值作为当前节点在第一坐标系下的预测值;
若当前节点不是根节点且候选预测模式为第二预测模式,则通过父节点在第一坐标系下的预测值对当前节点进行预测,确定当前节点在第一坐标系下的预测值;
若当前节点不是根节点且候选预测模式为第三预测模式或第四预测模式,则通过第三预测模式或第四预测模式对当前节点进行预测,确定当前节点在第一坐标系下的预测值。
需要说明的是,在本申请实施例中,如果当前节点为预测树结构的根节点,且候选预测模式选择Mode0,即当前节点的柱面坐标无预测,这时候对应的柱面坐标系的预测值为预设值
Figure PCTCN2022122652-appb-000033
其中,R min为整个初始点云进行坐标转换之后得到的R分量的最小值;如果当前节点没有父节点,那么
Figure PCTCN2022122652-appb-000034
和i prev均置为0,否则为父节点的柱面坐标分量。如果当前节点不是根节点,且候选预测模式选择Mode1时,那么当前节点的柱面坐标通过其父节点的柱面坐标
Figure PCTCN2022122652-appb-000035
进行预测可得当前点柱面坐标系的预测值
Figure PCTCN2022122652-appb-000036
如果当前节 点不是根节点,且候选预测模式选择Mode2或Mode3时,那么当前节点的柱面坐标通过对应的预测方式进行预测,可得当前点柱面坐标系的预测值为
Figure PCTCN2022122652-appb-000037
还需要说明的是,在本申请实施例中,第一坐标系可以为柱面坐标系,其包括有:方位角分量
Figure PCTCN2022122652-appb-000038
深度分量(R)和激光标识分量(i)。这样,在利用候选预测模式对当前节点进行预测处理之后,可以得到当前节点在柱面坐标系
Figure PCTCN2022122652-appb-000039
下的预测值,具体可以包括:当前节点在方位角分量的预测值(用
Figure PCTCN2022122652-appb-000040
表示)、当前节点在深度分量的预测值(用R pred表示)、当前节点在激光标识分量的预测值(用i pred表示)。
在一些实施例中,根据当前节点在第一坐标系下的原始值与当前节点在第一坐标系下的预测值,确定当前节点在第一坐标系下的预测残差,可以包括:
根据当前节点的方位角分量的原始值与当前节点的方位角分量的预测值,确定当前节点的方位角分量的预测残差;
根据当前节点的深度分量的原始值与当前节点的深度分量的预测值,确定当前节点的深度分量的预测残差;
根据当前节点的激光标识分量的原始值与当前节点的激光标识分量的预测值,确定当前节点的激光标识分量的预测残差。
需要说明的是,在本申请实施例中,当前节点的方位角分量的预测残差可以用
Figure PCTCN2022122652-appb-000041
表示,当前节点的深度分量的预测残差可以用R res表示,当前节点的激光标识分量的预测残差可以用i res表示。
在一种可能的实现方式中,
Figure PCTCN2022122652-appb-000042
可以是由当前节点的方位角分量的原始值与预测值的差值确定,即
Figure PCTCN2022122652-appb-000043
R res可以是由当前节点的深度分量的原始值与预测值的差值确定,即R res=R-R pred;i res可以是由当前节点的激光标识分量的原始值与预测值的差值确定,即i res=i-i pred
在另一种可能的实现方式中,对于
Figure PCTCN2022122652-appb-000044
而言,根据当前节点的方位角分量的原始值与当前节点的方位角分量的预测值,确定当前节点的方位角分量的预测残差,可以包括:
根据当前节点的方位角分量的原始值与当前节点的方位角分量的预测值,确定当前节点的方位角分量的初始预测残差;
获取激光雷达的扫描速度,根据当前节点的方位角分量的初始预测残差和扫描速度,确定当前节点与父节点之间的跳过点数;
根据当前节点的方位角分量的初始预测残差、跳过点数和扫描速度,确定当前节点的方位角分量的预测残差。
需要说明的是,在本申请实施例中,
Figure PCTCN2022122652-appb-000045
的计算不仅与激光雷达的扫描速度有关,而且还与父节点与当前节点之间的跳过点数有关。
在一种具体的实施例中,根据当前节点的方位角分量的初始预测残差和扫描速度,确定当前节点与父节点之间的跳过点数,可以包括:
根据当前节点的方位角分量的初始预测残差与扫描速度进行除法运算,得到除法结果;以及对除法结果进行取整处理,得到跳过点数。
在这里,跳过点数可以用n表示,n的计算公式如下:
Figure PCTCN2022122652-appb-000046
其中,round()表示取整函数,
Figure PCTCN2022122652-appb-000047
表示当前节点的方位角分量的初始预测残差,
Figure PCTCN2022122652-appb-000048
Figure PCTCN2022122652-appb-000049
表示激光雷达的扫描速度。
在一种具体的实施例中,根据当前节点的方位角分量的初始预测残差、跳过点数和扫描速度,确定当前节点的方位角分量的预测残差,可以包括:
根据跳过点数与扫描速度进行乘法运算,得到乘法结果;以及对当前节点的方位角分量的初始预测残差与乘法结果进行减法运算,得到当前节点的方位角分量的预测残差。
在这里,当前节点的方位角分量的预测残差
Figure PCTCN2022122652-appb-000050
的计算公式如下:
Figure PCTCN2022122652-appb-000051
还需要说明的是,在本申请实施例中,在确定出
Figure PCTCN2022122652-appb-000052
R res和i res之后,可以进一步确定当前节点在第一坐标系下的重建值。在一些实施例中,根据当前节点在第一坐标系下的预测残差,确定当前节点在第一坐标系下的重建值,可以包括:
根据当前节点的方位角分量的预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值;
根据当前节点的深度分量的预测残差和当前节点的深度分量的预测值,确定当前节点的深度分量的重建值;
根据当前节点的激光标识分量的预测残差和当前节点的激光标识分量的预测值,确定当前节点的激光标识分量的重建值。
需要说明的是,在本申请实施例中,当前节点的方位角分量的重建值可以用
Figure PCTCN2022122652-appb-000053
表示,当前节点的深度分量的重建值可以用R rec表示,当前节点的激光标识分量的重建值可以用i rec表示。
在一种可能的实现方式中,
Figure PCTCN2022122652-appb-000054
可以是由当前节点的方位角分量的预测残差与预测值之和确定,即
Figure PCTCN2022122652-appb-000055
R rec可以是由当前节点的深度分量的预测残差与预测值之和确定,即R rec=R res+R pred;i rec可以是由当前节点的激光标识分量的预测残差与预测值之和确定,即i rec=i res+i pred
在另一种可能的实现方式中,对于
Figure PCTCN2022122652-appb-000056
而言,根据当前节点的方位角分量的预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值,可以包括:
对当前节点的方位角分量的预测残差进行量化处理,得到当前节点的方位角分量的量化预测残差;
对当前节点的方位角分量的量化预测残差进行反量化处理,得到当前节点的方位角分量的反量化预测残差;
根据当前节点的方位角分量的反量化预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值。
还需要说明的是,在本申请实施例中,
Figure PCTCN2022122652-appb-000057
还需要进行量化与反量化处理,具体的计算公式如下:
Figure PCTCN2022122652-appb-000058
Figure PCTCN2022122652-appb-000059
其中,
Figure PCTCN2022122652-appb-000060
表示预设量化值,
Figure PCTCN2022122652-appb-000061
表示当前节点的方位角分量的量化预测残差,
Figure PCTCN2022122652-appb-000062
表对
Figure PCTCN2022122652-appb-000063
进行量化与反量化处理示当前节点的方位角分量的反量化预测残差。
在一些实施例中,对于
Figure PCTCN2022122652-appb-000064
而言,可以根据当前节点的深度分量的重建值来对方位角分量进行自适应量化,具体的量化公式如下:
Figure PCTCN2022122652-appb-000065
其中,若
Figure PCTCN2022122652-appb-000066
固定为0.79,则
Figure PCTCN2022122652-appb-000067
为8,即右移3比特(bit);R rec表示当前节点的深度分量的重建值,N表示固定的精度。
在一种具体的实施例中,根据当前节点的方位角分量的反量化预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值,可以包括:
根据跳过点数与扫描速度进行乘法运算,得到乘法结果;
根据当前节点的方位角分量的反量化预测残差、当前节点的方位角分量的预测值和乘法结果进行加法运算,确定当前节点的方位角分量的重建值。
也就是说,在对
Figure PCTCN2022122652-appb-000068
进行量化与反量化处理之后,才能够计算出当前节点的方位角分量的重建值。具体的计算公式如下:
Figure PCTCN2022122652-appb-000069
需要注意的是,在预测树结构中,这里仅对
Figure PCTCN2022122652-appb-000070
进行量化与反量化处理,使得重建值
Figure PCTCN2022122652-appb-000071
与原始值
Figure PCTCN2022122652-appb-000072
存在不同;但是对于R与i来说,由于编码端并没有进行量化与反量化处理,故重建值R rec与原始值R相同,重建值i rec与原始值i相同。
在本申请实施例中,第二坐标系可以为笛卡尔坐标系,其包括有:第一轴分量、第二轴分量和第三轴分量。其中,第一轴分量可以为x分量,第二轴分量可以为y分量,第三轴分量可以为z分量;或者,第一轴分量可以为y分量,第二轴分量可以为x分量,第三轴分量可以为z分量等等,这里对此并不作具体限定。
在一些实施例中,根据当前节点在第一坐标系下的重建值进行坐标逆转换,确定当前节点在第二坐标系下的预测值,可以包括:
根据当前节点的方位角分量的重建值和当前节点的深度分量的重建值进行坐标逆转换,得到当前节点的第一轴分量的预测值和当前节点的第二轴分量的预测值;
根据当前节点的深度分量的重建值和当前节点的激光标识分量的重建值进行坐标逆转换,得到当前节点的第三轴分量的预测值。
需要说明的是,在本申请实施例中,根据上述得到的
Figure PCTCN2022122652-appb-000073
R rec和i rec,可以通过坐标逆转换为笛卡尔坐标系下的
Figure PCTCN2022122652-appb-000074
坐标逆转换的计算公式如下:
Figure PCTCN2022122652-appb-000075
Figure PCTCN2022122652-appb-000076
Figure PCTCN2022122652-appb-000077
其中,i rec为点对应的LaserID,每个Laser的先验信息不同即仰角θ和在垂直方向上的高度zLaser不同,因此第i rec个Laser对应的仰角为θ(i rec),在垂直方向上的高度为zLaser(i rec)。
相应地,在一些实施例中,根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的预测值,确定当前节点在第二坐标系下的坐标转换残差,可以包括:
根据当前节点的第一轴分量的原始值与当前节点的第一轴分量的预测值,确定当前节点的第一轴分量的坐标转换残差;
根据当前节点的第二轴分量的原始值与当前节点的第二轴分量的预测值,确定当前节点的第二轴分量的坐标转换残差;
根据当前节点的第三轴分量的原始值与当前节点的第三轴分量的预测值,确定当前节点的第三轴分量的坐标转换残差。
需要说明的是,在本申请实施例中,当前节点的第一轴分量的坐标转换残差可以用x res表示,当前节点的第二轴分量的坐标转换残差可以用y res表示,当前节点的第三轴分量的坐标转换残差可以用z res表示。
在一种可能的实现方式中,x res可以是由当前节点的第一轴分量的原始值与预测值的差值确定,即
Figure PCTCN2022122652-appb-000078
y res可以是由当前节点的第二轴分量的原始值与预测值的差值确定,即
Figure PCTCN2022122652-appb-000079
z res可以是由当前节点的第三轴分量的原始值与预测值的差值确定,即
Figure PCTCN2022122652-appb-000080
这样,为了提高目标预测模式的选取准确度,针对每一种预测模式,在统计预编码信息时,可以考虑每种预测模式所需编码的所有信息需要的码流,以便保证最终选取的目标预测模式为消耗码流最小的预测模式。
以候选预测模式为例,在一些实施例中,根据候选预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差,确定候选预测模式的预编码信息,可以包括:
将候选预测模式、当前节点在第一坐标系下的预测残差、当前节点的第一轴分量的坐标转换残差、当前节点的第二轴分量的坐标转换残差和当前节点的第三轴分量的坐标转换残差确定为候选预测模式的预编码信息。
在另一些实施例中,根据候选预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差,确定候选预测模式的预编码信息,可以包括:
将候选预测模式、当前节点在第一坐标系下的预测残差、当前节点的第一轴分量的坐标转换残差和当前节点的第二轴分量的坐标转换残差确定为候选预测模式的预编码信息。
也就是说,在预编码信息的统计中,除了考虑到候选预测模式以及当前节点在柱面坐标系下的预测残差
Figure PCTCN2022122652-appb-000081
之外,还可以将(x res、y res、z res)全部统计进去;或者,考虑到本申请实施例仅仅针对
Figure PCTCN2022122652-appb-000082
进行自适应量化,又可以通过柱面坐标与笛卡尔坐标之间的关系得到:
Figure PCTCN2022122652-appb-000083
的不同只会影响到x与y分量的坐标预测值
Figure PCTCN2022122652-appb-000084
Figure PCTCN2022122652-appb-000085
故也可以仅统计x与y分量的转换残差x res和y res
如此,针对多种预测模式,均可以按照上述方式确定出各自的预编码信息。其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差。
S803:根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式。
在本申请实施例中,在得到多种预测模式各自的预编码信息之后,可以确定这多种预测模式各自的失真值大小。在一种具体的实施例中,可以根据率失真优化(Rate Distortion Optimization,RDO)的代价结果进行确定,也可以根据绝对误差和(Sum of Absolute Difference,SAD)的代价结果进行确定,甚至也可以根据绝对变换差和(Sum of Absolute Transformed Difference,SATD)的代价结果进行确定,但是这里并不作任何限定。
在一些实施例中,以率失真代价值为例,根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式,可以包括:
根据多种预测模式各自的预编码信息,确定多种预测模式对应的率失真代价值;
在多种预测模式对应的率失真代价值中确定最小率失真代价值,并将最小率失真代价值对应的预测模式作为目标预测模式。
需要说明的是,在本申请实施例中,对于多种预测模式各自的预编码信息进行率失真代价计算,可以得到每一种预测模式对应的率失真代价值。然后从这些率失真代价值中选取最小率失真代价值,并且将最小率失真代价值对应的预测模式确定为目标预测模式(即最佳预测模式),从而能够提升点云几何信息的编码效率。
S804:根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
需要说明的是,在本申请实施例中,根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,可以包括:
根据目标预测模式对当前节点进行预测处理,确定当前节点在第一坐标系下的目标预测值;
根据当前节点在第一坐标系下的原始值与当前节点在第一坐标系下的目标预测值,确定当前节点在第一坐标系下的目标预测残差;
根据当前节点在第一坐标系下的目标预测残差,确定当前节点在第一坐标系下的目标重建值;
根据当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定当前节点在第二坐标系下的目标预测值;
根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的目标预测值,确定当前节点在第二坐标系下的目标坐标转换残差;
根据目标预测模式、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差,确定当前节点的编码信息。
在一种具体的实施例中,该方法还可以包括:对目标预测模式、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差进行编码,将所得到的编码比特写入码流。
需要说明的是,在本申请实施例中,根据当前节点在第一坐标系下的目标预测残差
Figure PCTCN2022122652-appb-000086
可以确定出当前节点在第一坐标系下的目标重建值
Figure PCTCN2022122652-appb-000087
然后按照坐标逆转换的计算公式,将
Figure PCTCN2022122652-appb-000088
转换为当前节点在第二坐标系下的目标预测值
Figure PCTCN2022122652-appb-000089
Figure PCTCN2022122652-appb-000090
进而计算出当前节点在第二坐标系下的目标坐标转换残差(x res、y res、z res)。这时候,对于写入码流中的编码信息可以包括:目标预测模式、当前节点在第一坐标系下的目标预测残差
Figure PCTCN2022122652-appb-000091
以及当前节点在第二坐标系下的目标坐标转换残差(x res、y res、z res)。其中,由于编码端并没有对i进行量化与反量化处理,故重建值i rec与原始值i相同,因此在利用编码信息计算率失真代价值时,本申请实施例也可以不考虑i res
还需要说明的是,在本申请实施例中,多种预测模式可以包括第一预测模式(Mode0)、第二预测模式(Mode1)、第三预测模式(Mode2)和第四预测模式(Mode3)。在一些实施例中,该方法还可以包括:
若当前节点为根节点,则确定目标预测模式为第一预测模式;
若当前节点不是根节点且根节点为当前节点的父节点,则确定目标预测模式为第二预测模式;
若当前节点不是根节点且根节点为当前节点的祖父节点,则从第一预测模式、第二预测模式和第三预测模式中确定目标预测模式;
若当前节点不是根节点且根节点为当前节点的曾祖父节点,则从第一预测模式、第二预测模式、第三预测模式和第四预测模式中确定目标预测模式。
也就是说,如果当前节点为预测树结构的根节点,那么目标预测模式选择Mode0,即当前节点的柱面坐标无预测,这时候对应的柱面坐标系的预测值为
Figure PCTCN2022122652-appb-000092
其中,R min为整个初始点云进行坐标转换之后得到的R分量的最小值;如果当前节点没有父节点,那么
Figure PCTCN2022122652-appb-000093
和i prev均置为0,否则为父节点的柱面坐标分量。
如果当前节点不是根节点,且目标预测模式选择Mode1时,那么当前节点的柱面坐标通过其父节点的柱面坐标
Figure PCTCN2022122652-appb-000094
进行预测可得当前点柱面坐标系的预测值
Figure PCTCN2022122652-appb-000095
如果当前节点不是根节点,且目标预测模式选择Mode2或Mode3时,那么当前节点的柱面坐标通过对应的预测方式进行预测,可得当前点柱面坐标系的预测值为
Figure PCTCN2022122652-appb-000096
如果当前节点不是根节点,那么利用当前节点选取最佳的目标预测模式对当前节点的柱面坐标进行预测,可得当前点柱面坐标系的预测值为
Figure PCTCN2022122652-appb-000097
进而可以得到柱面坐标系下的对应的预测残差
Figure PCTCN2022122652-appb-000098
除此之外,在一些实施例中,该方法还可以包括:
在目标预测模式下,确定当前节点与父节点之间的跳过点数;
对跳过点数进行编码,将所得到的编码比特写入码流。
需要说明的是,由于
Figure PCTCN2022122652-appb-000099
的计算不仅与激光雷达的扫描速度有关,而且还与父节点与当前节点之间的跳过点数有关。因此,在确定出当前节点与父节点之间按照扫描速度需要跳过的点数之后,本申请实施例还需要对跳过点数进行编码,以便解码端通过解码得到跳过点数,从而能够准确恢复出当前节点的方位角分量的重建值。
本申请实施例提供了一种编码方法,在对当前节点选取最佳的目标预测模式时,通过统计每种预测模式、柱面坐标系的预测残差以及最终的坐标转换残差来选取目标预测模式,能够提升点云的几何信息编码效率。简单来说,在对几何信息进行编码时,通过考虑每种预测模式所需编码的所有信息需要的码流,可以保证最终所选取的目标预测模式为消耗码流最小的预测模式,从而可以有效提升点云的几何信息编码效率,进而提升编码性能。
在本申请的另一实施例中,参见图11,其示出了本申请实施例提供的另一种编码方法的流程示意图。如图11所示,该方法包括:
S1101:确定初始点云对应的预测树结构。
需要说明的是,在本申请实施例中,为了进一步提升几何信息编码效率,在每种预测模式进行率失真优化选择时,还需要考虑量化参数(Quantization Parameter,QP)的影响。
还需要说明的是,在本申请实施例中,这里的初始点云可以为体素化后的点云。对于预测树结构而言,需要先对初始点云进行重排序处理;然后将初始点云由笛卡尔坐标系转换为柱面坐标系,再利用柱面坐标系下的初始点云来建立预测树结构;其过程可以参见前述实施例中的描述,这里不再详述。
S1102:通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的参数组合对应不同的预测模式和量化参数,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差。
在一些实施例中,通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息,可以包括:
利用候选预测模式对当前节点进行预编码处理,确定当前节点在预设坐标系下的预测残差;
根据候选量化参数对当前节点在预设坐标系下的预测残差进行量化处理,确定当前节点在预设坐标系下的量化预测残差;
根据候选预测模式、候选量化参数和当前节点在预设坐标系下的量化预测残差,确定候选参数组合的预编码信息。
在本申请实施例中,候选参数组合是多种参数组合中的任意一种。其中,候选参数组合是由候选预测模式和候选量化参数组成,且候选预测模式为多种预测模式中的任意一种,候选量化参数为多种量化参数中的任意一种。
在本申请实施例中,预设坐标系可以包括下述至少之一:第一坐标系和第二坐标系。相应地,在一些实施例中,根据候选量化参数对当前节点在预设坐标系下的预测残差进行量化处理,确定当前节点在预设坐标系下的量化预测残差,可以包括:
根据候选量化参数对当前节点在第一坐标系下的预测残差进行量化处理,确定当前节点在第一坐标系下的量化预测残差;和/或,
根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差。
也就是说,在本申请实施例中,以某种参数组合(例如,候选预测模式和候选量化参数)为例,候选量化参数可以对几何信息的预测残差进行量化,其中可以包括第一坐标系下的预测残差和/或第二坐标系下的坐标转换残差进行量化。具体地,对于几何信息的预测残差,可以是利用候选量化参数对第一坐标系下的预测残差进行量化处理;和/或,也可以是利用候选量化参数对第二坐标系下的坐标转换残差进行量化处理,这里并不作具体限定。
在一些实施例中,该方法还可以包括:
根据预设的量化参数表和候选量化参数,确定候选量化参数对应的候选量化参数索引值;
将候选量化参数索引值确定为候选参数组合的预编码信息;
其中,预设的量化参数表用于指示多种量化参数与多个量化参数索引值之间的映射关系。
需要说明的是,在本申请实施例中,预设的量化参数表可以用deltaQTable表示。也就是说,在编码器中可以建立一个预设的量化参数表deltaQTable,假定该量化参数表的大小为N,即该量化参数表中包括有N种量化参数,N为正整数。
还需要说明的是,在本申请实施例中,对于某一个量化参数,QP=deltaQTable[idx];其中,idx表示该量化参数在量化参数表中的索引序号。这样,根据预设的量化参数表,可以确定出候选量化参数对应的候选量化参数索引值。在待编码的码流信息中,还可以使用候选量化参数索引值来替代候选量化参数,从而能够节省码率。换句话说,在后续的码流估计中,可以使用候选量化参数索引值作为预编码信息进行码流估计。
可以理解地,在本申请实施例中,假定候选量化参数是对第二坐标系下的坐标转换残差进行量化处理,那么在一些实施例中,该方法还可以包括:
利用候选预测模式对当前节点进行预编码处理,确定当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差;
根据候选预测模式、候选量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的量化转换残差,确定候选参数组合的预编码信息。
在本申请实施例中,当前节点在第一坐标系下的预测残差包括
Figure PCTCN2022122652-appb-000100
当前节点在第二坐标系下的坐标转换残差包括(x res,y res,z res);而(x res,y res,z res)经过量化处理后,当前节点在第二坐标系下的量化转换残差包括(Qx res,Qy res,Qz res)。这样,候选参数组合的预编码信息可以包括:mode、idx、
Figure PCTCN2022122652-appb-000101
以及(Qx res,Qy res,Qz res)。其中,mode表示候选预测模式,idx表示候选量化参数索引值。
需要注意的是,对于Qx res、Qy res、Qz res,其可以是根据候选量化参数QP对(x res,y res,z res)进行量化处理得到的。另外,对于
Figure PCTCN2022122652-appb-000102
其可以是根据
Figure PCTCN2022122652-appb-000103
Figure PCTCN2022122652-appb-000104
进行量化处理得到的;或者也可以是根据候选量化参数来修改
Figure PCTCN2022122652-appb-000105
从而根据候选量化参数QP对
Figure PCTCN2022122652-appb-000106
进行量化处理得到的,对此并不作具体限定。
如此,针对多种参数组合,均可以按照上述方式确定出各自的预编码信息。其中,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差。
S1103:根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数。
在本申请实施例中,在得到多种参数组合各自的预编码信息之后,可以确定这多种参数组合各自的失真值大小。示例性地,对于失真值大小,可以根据率RDO的代价结果进行确定,也可以根据SAD的代价结果进行确定,甚至也可以根据SATD的代价结果进行确定。然后根据代价值最小原则从这多种参数组合中选取目标参数组合,即目标预测模式和目标量化参数。
在一些实施例中,根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数,可以包括:
根据多种参数组合各自的预编码信息,确定多种参数组合对应的率失真代价值;
在多种参数组合对应的率失真代价值中确定最小率失真代价值,并根据最小率失真代价值对应的参数组合确定目标预测模式和目标量化参数。
需要说明的是,在本申请实施例中,对于多种参数组合各自的预编码信息进行率失真代价计算,可以得到每一种参数组合对应的率失真代价值。然后从这些率失真代价值中选取最小率失真代价值,并且将最小率失真代价值对应的参数组合确定为目标参数组合(即最佳预测模式和最佳量化参数),从而能够提升点云几何信息的编码效率。
还可以理解地,对于率失真代价值的计算,以候选参数组合为例,在一些实施例中,该方法还包括:
在候选参数组合下,确定当前节点在第二坐标系下的重建值;
根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的重建值,确定候选参数组合对应的失真值;
根据候选预测模式、候选量化参数索引值、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的量化转换残差进行码流估计,确定候选参数组合对应的码流估计值;
根据候选参数组合对应的失真值和码流估计值进行率失真代价计算,确定候选参数组合对应的率失真代价值。其中,候选参数组合为多种参数组合中的任意一种。
在一种具体的实施例中,在候选参数组合下,确定当前节点在第二坐标系下的重建值,可以包括:
根据当前节点在第一坐标系下的预测残差,确定当前节点在第一坐标系下的重建值,并根据当前节点在第一坐标系下的重建值进行坐标逆转换,确定当前节点在第二坐标系下的预测值;
根据当前节点在第二坐标系下的原始值和当前节点在第二坐标系下的预测值,确定当前节点在第二坐标系下的坐标转换残差;
根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差;
根据候选量化参数对当前节点在第二坐标系下的量化转换残差进行反量化处理,确定当前节点在第二坐标系下的反量化转换残差;
根据当前节点在第二坐标系下的预测值与反量化转换残差进行加法运算,确定当前节点在第二坐标系下的重建值。
需要说明的是,在本申请实施例中,在确定出当前节点在第一坐标系下的重建值
Figure PCTCN2022122652-appb-000107
之后,通过对
Figure PCTCN2022122652-appb-000108
进行坐标逆转换,可以确定出当前节点在第二坐标系下的预测值
Figure PCTCN2022122652-appb-000109
Figure PCTCN2022122652-appb-000110
然后根据当前节点在第二坐标系下的原始值(x,y,z)和预测值
Figure PCTCN2022122652-appb-000111
进行减法运算,可以确定出当前节点在第二坐标系下的量化转换残差(x res、y res、z res)。进一步地,对(x res、y res、 z res)进行量化与反量化的计算公式如下:
Qx res=round(x res/QP                                   (16)
Qy res=round(y res/QP                        (17)
Qz res=round(z res/QP                        (18)
Invx res=Qx res*QP                           (19)
Invy res=Qy res*QP                           (20)
Invz res=Qz res*QP                           (21)
进一步地,对于当前节点在第二坐标系下的重建值(x rec、y rec、z rec)的确定,具体计算公式如下:
Figure PCTCN2022122652-appb-000112
Figure PCTCN2022122652-appb-000113
Figure PCTCN2022122652-appb-000114
进一步地,对于候选参数组合的率失真代价值,具体计算公式如下:
D=|x-x rec|+|y-y rec|+|z-z rec|                        (25)
Figure PCTCN2022122652-appb-000115
J=D+λ*R                                        (27)
其中,D表示候选参数组合对应的失真值,R表示候选参数组合对应的码流估计值,J表示候选参数组合对应的率失真代价值;RO_estimate()表示码流估计函数;λ是与候选量化参数QP有关的量,本申请实施例可以选取
Figure PCTCN2022122652-appb-000116
在得到多种参数组合对应的率失真代价值J之后,可以从中选取最小率失真代价值J min,然后确定出目标预测模式bestMode和目标量化参数bestQP。
还可以理解地,在本申请实施例中,第二坐标系可以包括第一轴分量、第二轴分量和第三轴分量。对于这三个轴分量,可以使用相同的候选量化参数进行量化处理,也可以使用不同的候选量化参数进行量化处理。
在一些实施例中,根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差,可以包括:
利用第一候选量化参数对当前节点的第一轴分量的坐标转换残差进行量化处理,确定当前节点的第一轴分量的量化转换残差;
利用第二候选量化参数对当前节点的第二轴分量的坐标转换残差进行量化处理,确定当前节点的第二轴分量的量化转换残差;
利用第三候选量化参数对当前节点的第三轴分量的坐标转换残差进行量化处理,确定当前节点的第三轴分量的量化转换残差。
需要说明的是,在本申请实施例中,第一候选量化参数、第二候选量化参数和第三候选量化参数可以相同,也可以不同,这里对此不具体限定。
还需要说明的是,在本申请实施例中,预设的量化参数表可以包括第一量化参数数组、第二量化参数数组和第三量化参数数组。其中,第一量化参数数组可以表示为deltaQTable[x],用于指示第一轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系;第二量化参数数组可以表示为deltaQTable[y],用于指示第二轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系;第三量化参数数组可以表示为deltaQTable[z],用于指示第三轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系。
相应地,在一些实施例中,该方法还可以包括:
根据第一量化参数数组和第一候选量化参数,确定候选量化参数对应的第一候选量化参数索引值;
根据第二量化参数数组和第二候选量化参数,确定候选量化参数对应的第二候选量化参数索引值;
根据第三量化参数数组和第三候选量化参数,确定候选量化参数对应的第二候选量化参数索引值;
将第一候选量化参数索引值、第二候选量化参数索引值和第三候选量化参数索引值确定为候选参数组合的预编码信息。
也就是说,对于预设的量化参数表,可以更新为一个三维的量化参数表,即deltaQTable[x]、deltaQTable[y]和deltaQTable[z];从而能够完成对x、y和z三个分量不同程度的量化,进一步提升几何信息的编码效率。
S1104:根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
需要说明的是,在本申请实施例中,根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,可以包括:
根据目标预测模式,确定当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差;
利用目标量化参数对当前节点在第二坐标系下的目标坐标转换残差进行量化处理,确定当前节点在第二坐标系下的目标量化转换残差;
根据目标预测模式、目标量化参数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差,确定当前节点的编码信息。
需要说明的是,该方法还可以包括:对目标预测模式、目标量化参数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
还需要说明的是,对于当前节点在第一坐标系下的目标预测残差而言,在一些实施例中,该方法还可以包括:
根据目标预测模式,确定当前节点的方位角分量的目标预测值和当前节点的深度分量的目标预测值;
根据当前节点的方位角分量的原始值与当前节点的方位角分量的目标预测值,确定当前节点的方位角分量的预测残差值;以及根据目标量化参数对当前节点的方位角分量的预测残差值进行量化处理,确定当前节点的方位角分量的量化残差值;
根据当前节点的深度分量的原始值与当前节点的深度分量的目标预测值,确定当前节点的深度分量的预测残差值;
将当前节点的方位角分量的量化残差值和当前节点的深度分量的预测残差值确定为当前节点在第一坐标系下的目标预测残差。
在本申请实施例中,由于编码端并没有对i进行量化与反量化处理,故重建值i rec与原始值i相同,因此在编码端可以不考虑i的相关处理。这时候,对于深度分量R而言,当前节点的深度分量的预测残差值R res也无需进行量化处理;只有当前节点的方位角分量的预测残差值
Figure PCTCN2022122652-appb-000117
需要进行量化处理,以得到当前节点的方位角分量的量化残差值
Figure PCTCN2022122652-appb-000118
此时可以将R res
Figure PCTCN2022122652-appb-000119
作为当前节点在第一坐标系下的目标预测残差。
在一些实施例中,该方法还可以包括:对目标预测模式、目标量化参数、当前节点的深度分量的预测残差值、当前节点的方位角分量的量化残差值和当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
在另一些实施例中,该方法还可以包括:根据预设的量化参数表和目标量化参数,确定目标量化参数对应的目标量化参数索引值;对目标预测模式、目标量化参数索引值、当前节点的深度分量的预测残差值、当前节点的方位角分量的量化残差值和当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
也就是说,在码流中,对于目标量化参数而言,可以是将目标量化参数直接写入码流,也可以是将目标量化参数索引值写入码流。另外,对于目标预测模式而言,也可以是将目标预测模式直接写入码流,也可以是将目标预测模式对应的索引值写入码流,这里对此也不作具体限定。
除此之外,在一些实施例中,该方法还可以包括:
在目标预测模式下,确定当前节点与父节点之间的跳过点数;
对跳过点数进行编码,将所得到的编码比特写入码流。
需要说明的是,由于
Figure PCTCN2022122652-appb-000120
的计算不仅与激光雷达的扫描速度有关,而且还与父节点与当前节点之间的跳过点数有关。因此,在确定出当前节点与父节点之间按照扫描速度需要跳过的点数之后,本申请实施例还需要对跳过点数进行编码,以便解码端通过解码得到跳过点数,从而能够准确恢复出当前节点的方位角分量的重建值。
在一些实施例中,本申请实施例还提供了一种码流,该码流是根据待编码信息进行比特编码生成的;其中,待编码信息包括下述至少一项:
目标预测模式、目标量化参数索引值、当前节点与父节点之间的跳过点数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差。
需要说明的是,在本申请实施例中,待编码信息还可以包括下述至少一项:目标预测模式、目标量化参数、当前节点与父节点之间的跳过点数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差。
还需要说明的是,在本申请实施例中,当前节点在第一坐标系下的目标预测残差可以包括R res
Figure PCTCN2022122652-appb-000121
当前节点在第二坐标系下的目标量化转换残差可以包括(Qx res、Qy res、Qz res)。这样,通过对待编码信息进行编码,将所得到的编码比特写入码流,以便由编码端传输到解码端,使得在解码端通过解析码流即可得到这些信息,从而能够进行几何点云的重建。
本申请实施例提供了一种编码方法,通过引入量化参数表deltaQTable来对每个节点的坐标转换残 差进行自适应量化,从而能够提升几何信息的编码效率;进一步地,将该量化参数表更新为一个三维的量化参数表deltaQTable[x]、deltaQTable[y]和deltaQTable[z],以便完成对x、y和z不同程度的量化,还能够进一步提升几何信息的编码效率。
在本申请实施例的又一实施例中,参见图12,其示出了本申请实施例提供的一种解码方法的流程示意图。如图12所示,该方法包括:
S1201:解析码流,确定当前节点的目标预测模式。
需要说明的是,本申请实施例的解码方法可以应用于解码器。另外,该解码方法具体可以是指一种预测树解码方法,更具体地,是一种激光雷达点云解码方法,但是这里也并不局限于激光雷达领域。
S1202:根据目标预测模式,确定当前节点在预设坐标系下的目标预测值。
需要说明的是,在本申请实施例中,预设坐标系可以包括下述至少之一:第一坐标系和第二坐标系。示例性地,第一坐标系为柱面坐标系,第二坐标系为笛卡尔坐标系。
假定预设坐标系为第二坐标系,对于当前节点在第二坐标系下的目标预测值,那么可以是先确定第一坐标系下的重建值,然后由第一坐标系下的重建值进行坐标逆转换得到的。在一些实施例中,根据目标预测模式,确定当前节点在预设坐标系下的目标预测值,可以包括:
根据目标预测模式对当前节点进行预测处理,确定当前节点在第一坐标系下的目标预测值;
解析码流,确定当前节点在第一坐标系下的目标预测残差;
根据当前节点在第一坐标系下的目标预测值和目标预测残差,确定当前节点在第一坐标系下的目标重建值;
根据当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定当前节点在第二坐标系下的目标预测值。
在本申请实施例中,解析码流,确定当前节点在第一坐标系下的目标预测残差,可以包括:解析码流,确定当前节点的方位角分量的目标量化预测残差、当前节点的深度分量的目标预测残差和当前节点的激光标识分量的目标预测残差。
相应地,在一种具体的实施例中,根据当前节点在第一坐标系下的目标预测值和目标预测残差,确定当前节点在第一坐标系下的目标重建值,可以包括:
对当前节点的方位角分量的目标量化预测残差进行反量化处理,得到当前节点的方位角分量的目标反量化预测残差;
根据当前节点的方位角分量的目标预测值和目标反量化预测残差,确定当前节点的方位角分量的目标重建值;
根据当前节点的深度分量的目标预测值和目标预测残差,确定当前节点的深度分量的目标重建值;
根据当前节点的激光标识分量的目标预测值和目标预测残差,确定当前节点的激光标识分量的目标重建值。
需要说明的是,在本申请实施例中,通过码流可以获得当前节点的方位角分量的目标量化预测残差
Figure PCTCN2022122652-appb-000122
当前节点的深度分量的目标预测残差R res和当前节点的激光标识分量的目标预测残差i res。在这里,编码端仅对方位角分量
Figure PCTCN2022122652-appb-000123
进行量化处理。那么解码端也就仅需要对方位角分量
Figure PCTCN2022122652-appb-000124
进行反量化处理。
也就是说,当前节点的方位角分量的目标重建值
Figure PCTCN2022122652-appb-000125
是根据量化与反量化后的
Figure PCTCN2022122652-appb-000126
Figure PCTCN2022122652-appb-000127
确定的;而当前节点的深度分量的目标重建值R rec是根据R res与R pred确定的,当前节点的激光标识分量的目标重建值i rec是根据i res与i pred确定的。对于R与i来说,由于并没有进行量化与反量化处理,故重建值R rec与原始值R相同,重建值i rec与原始值i相同。
在一些实施例中,对于
Figure PCTCN2022122652-appb-000128
的计算,根据当前节点的方位角分量的目标预测值和目标反量化预测残差,确定当前节点的方位角分量的目标重建值,可以包括:
解析码流,确定当前节点与父节点之间的跳过点数;
获取激光雷达的扫描速度,根据跳过点数与扫描速度进行乘法运算,得到目标乘法结果;
根据当前节点的方位角分量的目标反量化预测残差、当前节点的方位角分量的目标预测值和目标乘法结果进行加法运算,确定当前节点的方位角分量的目标重建值。
需要说明的是,对于
Figure PCTCN2022122652-appb-000129
的计算,不仅考虑到当前节点的方位角分量的目标反量化预测残差
Figure PCTCN2022122652-appb-000130
和目标预测值
Figure PCTCN2022122652-appb-000131
还需要考虑到激光雷达的扫描速度
Figure PCTCN2022122652-appb-000132
和父节点与当前节点之间的跳过点数n。其中,父节点与当前节点之间的跳过点数n是可以通过解析码流获得的。在这里,
Figure PCTCN2022122652-appb-000133
的计算公式如下:
Figure PCTCN2022122652-appb-000134
R rec=R res+R pred            (29)
i rec=i res+i pred            (30)
这样,在确定出当前节点在柱面坐标系下的重建值之后,就可以根据该柱面坐标系下的重建值确定当前节点在预测树结构中的位置,从而能够重建出预测树结构。
S1203:解析码流,确定当前节点的目标量化参数和当前节点在预设坐标系下的目标量化预测残差。
需要说明的是,码流中可以直接写入目标量化参数,或者也可以写入目标量化参数索引值,然后结合预设的量化参数表来确定出目标量化参数。在一些实施例中,解析码流,确定当前节点的目标量化参数,可以包括:
解析码流,确定当前节点的目标量化参数索引值;
根据预设的量化参数表和目标量化参数索引值,确定当前节点的目标量化参数。
还需要说明的是,在本申请实施例中,目标量化索引值可以用idx表示,预设的量化参数表可以用deltaQTable表示。也就是说,在解码器中也可以建立一个预设的量化参数表deltaQTable,假定该量化参数表的大小为N,即该量化参数表中包括有N种量化参数,N为正整数;那么目标量化参数QP=deltaQTable[idx]。
还需要说明的是,在本申请实施例中,解析码流,确定当前节点在预设坐标系下的目标量化预测残差,可以包括:解析码流,确定当前节点在第一坐标系下的目标量化预测残差;和/或,解析码流,确定当前节点在第二坐标系下的目标量化转换残差。
也就是说,通过解析码流,可以得到当前节点在柱面坐标系下的
Figure PCTCN2022122652-appb-000135
也可以得到当前节点在笛卡尔坐标系下的(Qx res、Qy res、Qz res)。
S1204:根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差。
在本申请实施例中,预设坐标系包括下述至少之一:第一坐标系和第二坐标系。相应地,在一些实施例中,根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差,可以包括:
根据目标量化参数对当前节点在第一坐标系下的目标量化预测残差进行反量化处理,确定当前节点在第一坐标系下的目标反量化预测残差;和/或,
根据目标量化参数对当前节点在第二坐标系下的目标量化转换残差进行反量化处理,确定当前节点在第二坐标系下的目标反量化转换残差。
在一种具体的实施例中,对于第一坐标系而言,根据目标量化参数对当前节点在第一坐标系下的目标量化预测残差进行反量化处理,确定当前节点在第一坐标系下的目标反量化预测残差,可以包括:
根据目标量化参数对当前节点的方位角分量的目标量化预测残差进行反量化处理,得到当前节点的方位角分量的目标反量化预测残差。
也就是说,在本申请实施例中,对于
Figure PCTCN2022122652-appb-000136
的反量化处理,可以是根据
Figure PCTCN2022122652-appb-000137
进行的反量化处理,即
Figure PCTCN2022122652-appb-000138
或者,也可以是根据目标量化参数QP进行的反量化处理,即
Figure PCTCN2022122652-appb-000139
在这里,QP可以是通过量化参数表进行查表得到的量化因子,对此并不作具体限定。
还可以理解地,在本申请实施例中,第二坐标系可以包括第一轴分量、第二轴分量和第三轴分量。对于这三个轴分量,可以使用相同的量化参数进行量化处理,也可以使用不同的量化参数进行量化处理。
在一些实施例中,根据目标量化参数对当前节点在第二坐标系下的目标量化转换残差进行反量化处理,确定当前节点在第二坐标系下的目标反量化转换残差,可以包括:
利用第一量化参数对当前节点的第一轴分量的目标量化转换残差进行反量化处理,确定当前节点的第一轴分量的目标反量化转换残差;
利用第二量化参数对当前节点的第二轴分量的目标量化转换残差进行反量化处理,确定当前节点的第二轴分量的目标反量化转换残差;
利用第三量化参数对当前节点的第三轴分量的目标量化转换残差进行反量化处理,确定当前节点的第三轴分量的目标反量化转换残差。
需要说明的是,在本申请实施例中,第一量化参数、第二量化参数和第三量化参数可以相同,也可以不同,这里对此不具体限定。
在一种具体的实施例中,这三个量化参数可以是通过解析码流直接获得的。因此,在一些实施例中,解析码流,确定当前节点的目标量化参数,可以包括:解析码流,确定当前节点的第一量化参数、第二量化参数和第三量化参数。
在一种具体的实施例中,这三个量化参数可以是先通过解析码流获得量化参数索引值,然后通过查找预设的量化参数表确定的。因此,在一些实施例中,解析码流,确定当前节点的目标量化参数,可以包括:解析码流,确定当前节点的第一量化参数索引值、第二量化参数索引值和第三量化参数索引值;
根据第一量化参数数组和第一量化参数索引值,确定第一量化参数;
根据第二量化参数数组和第二量化参数索引值,确定第二量化参数;
根据第三量化参数数组和第三量化参数索引值,确定第三量化参数。
在本申请实施例中,预设的量化参数表可以包括第一量化参数数组deltaQTable[x]、第二量化参数数组deltaQTable[y]和第三量化参数数组deltaQTable[z]。其中,deltaQTable[x]用于指示第一轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,deltaQTable[y]用于指示第二轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,deltaQTable[z]用于指示第三轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系。
也就是说,对于预设的量化参数表,可以更新为一个三维的量化参数表,即deltaQTable[x]、deltaQTable[y]和deltaQTable[z];从而能够完成对x、y和z三个分量不同程度的量化,进一步提升几何信息的编码效率。
S1205:根据当前节点在预设坐标系下的目标反量化预测残差与目标预测值,确定当前节点在预设坐标系下的目标重建值。
S1206:根据当前节点在预设坐标系下的目标重建值,确定重建点云。
需要说明的是,在本申请实施例中,根据当前节点在预设坐标系下的目标反量化预测残差与目标预测值,确定当前节点在预设坐标系下的目标重建值,可以包括:
确定当前节点在第二坐标系下的目标反量化转换残差与当前节点在第二坐标系下的目标预测值;
根据当前节点在第二坐标系下的目标反量化转换残差与目标预测值,确定当前节点在第二坐标系下的目标重建值。
在一种具体的实施例中,根据当前节点在第二坐标系下的目标反量化转换残差与目标预测值,确定当前节点在第二坐标系下的目标重建值,包括:对当前节点在第二坐标系下的目标反量化转换残差与目标预测值进行加法运算,确定当前节点在第二坐标系下的目标重建值。
还需要说明的是,在本申请实施例中,将预测树结构中的点依次作为当前节点,确定预测树结构中的点在第二坐标系下的目标重建值;根据预测树结构中的点在第二坐标系下的目标重建值,确定预测树结构对应的重建点云。在这里,重建点云即为重建的体素化后的点云。
本申请实施例提供了一种解码方法,通过引入量化参数表deltaQTable来对每个节点的坐标转换残差进行自适应量化,从而能够提升几何信息的编码效率;进一步地,将该量化参数表更新为一个三维的量化参数表deltaQTable[x]、deltaQTable[y]和deltaQTable[z],以便完成对x、y和z不同程度的量化,还能够进一步提升几何信息的编解码效率,进而提升点云的编解码性能。
在本申请的再一种实施例中,参见图13A,其示出了本申请实施例提供的一种构建预测树结构的编码器框图示意图。如图13A所示,对于体素化后的初始点云,首先进行重排序处理,然后根据重排序后的点云进行坐标转换(即从笛卡尔坐标系转换到柱面坐标系),再根据柱面坐标系下的点云来建立预测树结构。在预测树结构建立完成后,会基于预测树结构对点云逐点进行预编码处理,利用代价值最小原则选取每个点在柱面坐标系下的目标预测模式(最佳预测模式),并利用所选取的目标预测模式生成预测值;根据该预测值来对当前节点的柱面坐标系进行预测得到预测残差;并对预测残差中的
Figure PCTCN2022122652-appb-000140
进行量化与反量化处理,确定当前节点在柱面坐标系下的重建值,对该重建值进行坐标逆转换处理,可以得到当前节点在笛卡尔坐标系下的预测值;根据当前节点在笛卡尔坐标系下的原始值与预测值进行差分预测处理,得到当前节点在笛卡尔坐标系下的坐标转换残差,并将坐标转换残差写入几何比特流。
参见图13B,其示出了本申请实施例提供的一种重构预测树结构的解码器框图示意图。如图13B所示,对于几何比特流,通过解析码流可以确定目标预测模式;根据目标预测模式可以生成预测值;然后根据预测值与解析码流获得的预测残差可以确定当前节点在柱面坐标系下的重建值,以重建预测树结构;对该重建值进行坐标逆转换处理,可以得到当前节点在笛卡尔坐标系下的预测值;再根据预测值与解析码流获得的坐标转换残差可以确定当前节点在笛卡尔坐标系下的重建值,通过几何重构可以得到重建点云。
在一种具体的实施例中,基于KD-Tree建立预测树结构,具体描述如下:
在编码端,构建预测树结构的输入:体素化后的点云;构建预测树结构的输出:当前节点的几何预测值及预测残差、当前节点采用的预测模式、当前节点的量化参数、重复点数和子节点数。
如图13A所示,构建预测树结构具体可分为四步:重排序、建立预测树结构、选择预测模式、生成预测值。下面对其分别进行描述。
第一步,重排序。
对体素化后的点云进行重排序以构建更高效的预测树结构,可用的排序方法有无序、莫顿序、方位角序和径向距离序等等。目前,默认的排序方法是按方位角排序。
第一步,建立预测树结构。
在整个过程中,利用KD-Tree来进行最近邻查找。在开始时,KD-Tree是空的,按照选定的顺序进行依次访问每个节点,并且利用当前节点的位置在KD-Tree中查找K个最近邻,并且按照一定的准则将查找到的最近邻作为当前节点的子节点进行预测:
·当前节点的几何预测残差大小;
·当前节点的子节点数目;
·每种预测模式所选取的频率。
然后,会基于当前节点创建新的预测模式,并且将每种预测模式对应的位置添加到KD-Tree中。不断重复这个过程,直至遍历完所有节点,建立整个预测树结构。
第三步,选择预测模式。
以深度优先顺序遍历建立的预测树结构,预测树结构中的每个节点只能由其祖先来预测。基于此,各种预测策略都是有可能的。因此相关技术设置了以下四种预测模式:
Mode0:无预测;
Mode1:Delta预测(即p0);
Mode2:Linear预测(即2p0-p1);
Mode3:Parallelogram预测(即p0+p1-p2)。
其中,p0、p1、p2分别为当前节点的父节点、祖父节点、曾祖父节点的位置。通过对当前节点选取最佳的预测模式进行编码预测。
第四步,生成预测值。
根据所选择的预测模式对预测树结构中每个节点的几何位置进行预测并生成对应的预测值和预测残差,相关技术中点的几何预测包括笛卡尔坐标预测,具体过程如下:
若当前节点为预测树结构的根节点,则预测模式选择Mode0,即当前节点的笛卡尔坐标无预测,对应笛卡尔坐标的预测值为(0,0,0);
若当前节点不是预测树结构的根节点,且预测模式选择Mode1,则当前节点的笛卡尔坐标通过其父节点的几何重建坐标
Figure PCTCN2022122652-appb-000141
进行预测;
若当前节点不是预测树结构的根节点,且预测模式选择Mode2或Mode3,则当前节点的笛卡尔坐标通过对应的预测方式进行预测,可得当前节点笛卡尔坐标的预测值为
Figure PCTCN2022122652-appb-000142
利用当前节点最佳的预测模式,对当前节点的笛卡尔坐标(x,y,z)进行预测,利用当前节点的笛卡尔坐标(x,y,z)的笛卡尔坐标
Figure PCTCN2022122652-appb-000143
进行差分预测,得到笛卡尔坐标系下的预测残差(x res、y res、z res)。
因此,
Figure PCTCN2022122652-appb-000144
即为当前节点的几何预测值,(x res、y res、z res)即为当前节点的几何预测残差。在基于KD-Tree结构进行几何预测编码时,每个节点首先需要对当前节点的子节点数目进行编码;其次编码当前节点的预测模式,以及当前节点对应的(x res、y res、z res)预测残差。目前G_PCC针对(x res、y res、z res)采用的是无损的算术编码。
在解码端,重构预测树结构的输入:解码后数据(包括当前节点采用的预测模式、当前节点的预测残差、当前节点的量化参数、重复点数、子节点数);重构预测树结构的输出:重建的体素化后点云。
如图13B所示,重构预测树结构具体可分为四步:解析预测模式、生成预测值、重建预测树、重建几何点云。下面对其分别进行描述。
第一步,生成预测值。
根据解码得到的当前节点采用的预测模式及其祖先的重建几何坐标对当前节点的几何坐标进行预测并生成对应的预测值,具体过程如下:
若当前节点为预测树结构的根节点,则预测模式选择Mode0,即当前节点的笛卡尔坐标无预测,对应笛卡尔坐标的预测值为(0,0,0);
若当前节点不是预测树结构的根节点,且预测模式选择Mode1,则当前节点的笛卡尔坐标通过其父节点的几何重建坐标
Figure PCTCN2022122652-appb-000145
进行预测;
若当前节点不是预测树结构的根节点,且预测模式选择Mode2或Mode3,则当前节点的笛卡尔坐标通过对应的预测方式进行预测,可得当前节点笛卡尔坐标的预测值为
Figure PCTCN2022122652-appb-000146
第二步,重建几何点云。
按照以下公式利用解码得到的笛卡尔坐标残差(x res、y res、z res)和当前节点的预测笛卡尔坐标
Figure PCTCN2022122652-appb-000147
Figure PCTCN2022122652-appb-000148
计算当前节点的重建笛卡尔坐标(x rec、y rec、z rec),具体公式如下:
Figure PCTCN2022122652-appb-000149
最终,即可得到重建的体素化后点云。
在另一种具体的实施例中,基于激光雷达标定信息建立预测树结构,具体描述如下:
在编码端,构建预测树结构的输入:体素化后的点云、旋转激光雷达的先验信息;构建预测树结构的输出:当前节点的几何预测值及预测残差、当前节点采用的预测模式、当前节点的量化参数、重复点数和子节点数以及每种预测模式所对应的跳过点数。
如图13A所示,构建预测树结构具体可分为五步:重排序、坐标转换、建立预测树、选择预测模式、生成预测值。下面对其分别进行描述。
第一步,重排序。
对体素化后的点云进行重排序以构建更高效的预测树结构,可用的排序方法有无序、莫顿序、方位角序和径向距离序等等。目前,默认的排序方法是按方位角排序。为此,将每个节点的笛卡尔坐标(x,y,z)转化为极坐标
Figure PCTCN2022122652-appb-000150
并依次根据方位角
Figure PCTCN2022122652-appb-000151
半径R和仰角正切值tanθ对各点进行排序。
第二步,坐标转换。
根据排序后的结果遍历点云,将各点由笛卡尔坐标(x,y,z)按照以下公式转换为柱面坐标
Figure PCTCN2022122652-appb-000152
并进行存储,具体如图9所示。
其中,i即点对应的LaserID(一个典型的激光雷达系统可能有16、32或64个Laser Scanner,每个Laser的先验信息不同即仰角θ和在垂直方向上的高度zLaser不同),i的确定是通过循环不同Laser的先验信息,在每次循环中利用点的R、先验信息和上述式(4)~式(6)计算点的z分量,并计算该转换而来的z分量与点的原始z分量之间的偏差,进而从不同LaserID中选择出偏差最小的作为该点的i,此过程对点云在空间中垂直方向的非均匀分布进行了处理,使其规则化。
第三步,建立预测树结构。
由上一步可确定点的柱面坐标
Figure PCTCN2022122652-appb-000153
接下来在建立预测树结构时,如果第一次出现一个LaserID为i的点,则将该点作为LaserID为i对应的所有点的根节点;如果没有,则将该点视为之前处理过的LaserID为i的点的子节点,重复此过程,直到遍历完所有点。最后,连接所有LaserID的根节点即可完成预测树的建立。图10说明了对应于4个Laser的预测树结构。
第四步,选择预测模式。
以深度优先顺序遍历建立的预测树结构,树中的每个节点只能由其祖先来预测。基于此,各种预测策略都是有可能的。因此相关技术设置了以下四种预测模式:
Mode0:无预测;
Mode1:Delta预测(即p0);
Mode2:Linear预测(即2p0-p1);
Mode3:Parallelogram预测(即p0+p1-p2)。
其中,p0、p1、p2分别为当前节点的父节点、祖父节点、曾祖父节点的位置。通过对当前节点选取最佳的预测模式进行编码预测。
第五步,生成预测值。
根据所选择的预测模式对树中每个节点的几何位置进行预测并生成对应的预测值和预测残差,相关技术中点的几何预测包括柱面坐标预测和笛卡尔坐标预测,具体过程如下:
若当前节点为预测树结构的根节点,则预测模式选择Mode0,即当前节点的柱面坐标无预测,对应的柱面坐标预测值为
Figure PCTCN2022122652-appb-000154
其中R min为整个点云进行坐标转换之后得到的R分量最小值,如果当前节点没有父节点,那么
Figure PCTCN2022122652-appb-000155
和i prev置为0,否则为父节点的柱面坐标分量。笛卡尔坐标预测值为点的重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000156
若当前节点不是预测树结构的根节点,且预测模式选择Mode1,则当前节点的柱面坐标通过其父节点的柱面坐标
Figure PCTCN2022122652-appb-000157
进行预测可得当前节点柱面坐标预测值
Figure PCTCN2022122652-appb-000158
笛卡尔坐标预测值为重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000159
若当前节点不是预测树结构的根节点,且预测模式选择Mode2或Mode3,则当前节点的柱面坐标通过对应的预测方式进行预测,可得当前节点柱面坐标的预测值为
Figure PCTCN2022122652-appb-000160
同样,笛卡尔坐标预测值为重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000161
利用当前节点最佳的预测模式对当前节点的柱面坐标进行预测以及残差计算,可以得到柱面坐标系下的对应的预测残差
Figure PCTCN2022122652-appb-000162
对当前节点的笛卡尔坐标进行预测以及坐标转换残差计算,可以得到坐标转换残差(x res、y res、z res)。
需要注意的是,当前节点的方位角分量的预测值
Figure PCTCN2022122652-appb-000163
可以按照下述公式进行计算:
Figure PCTCN2022122652-appb-000164
其中,
Figure PCTCN2022122652-appb-000165
表示当前节点的预测方位角;n表示父节点与当前节点之间按照扫描速度需要跳过的点数,该参数也需要写入码流中;
Figure PCTCN2022122652-appb-000166
表示激光雷达的扫描速度。
因此,
Figure PCTCN2022122652-appb-000167
Figure PCTCN2022122652-appb-000168
为当前节点的几何预测值,
Figure PCTCN2022122652-appb-000169
和(x res、y res、z res)即为当前节点的几何预测残差。这时候,在针对cat3-frame类点云进行几何预测编码时,每个节点首先需要对当前节点的子节点数目进行编码,其次编码当前节点的预测模式,以及当前节点分别对应的
Figure PCTCN2022122652-appb-000170
和(x res、y res、z res)预测残差。目前G_PCC针对
Figure PCTCN2022122652-appb-000171
可以采用的是无损编码,并且会对每个节点在
Figure PCTCN2022122652-appb-000172
分量对应跳过的点数n进行编码。除此之外,对于分量(x res、y res、z res)在几何有损时进行量化,并且对经过量化之后的预测残差进行算术编码。
在解码端,重构预测树结构的输入:解码后数据(包括当前节点采用的预测模式、当前节点的预测残差、当前节点的量化参数、重复点数、子节点数以及跳过点数)、旋转激光雷达的先验信息;重构预测树结构的输出:重建的体素化后点云。
如图13B所示,重构预测树结构具体可分为四步:生成预测值、重建预测树、坐标逆转换、重建几何点云。下面对其分别进行描述。
第一步,生成预测值
根据解码得到的当前节点采用的预测模式及其祖先的重建柱面坐标对当前节点的柱面坐标进行预测并生成对应的预测值,具体过程如下:
若当前节点为预测树结构的根节点,则预测模式选择Mode0,即当前节点的柱面坐标无预测,对应的柱面坐标预测值为
Figure PCTCN2022122652-appb-000173
其中R min为整个点云进行坐标转换之后得到的R分量最小值,如果当前节点没有父节点,那么
Figure PCTCN2022122652-appb-000174
和i prev置为0,否则为父节点的柱面坐标分量。笛卡尔坐标预测值为点的重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000175
若当前节点不是预测树结构的根节点,且预测模式选择Mode1,则当前节点的柱面坐标通过其父节点的柱面坐标
Figure PCTCN2022122652-appb-000176
进行预测可得当前节点柱面坐标预测值
Figure PCTCN2022122652-appb-000177
笛卡尔坐标预测值为重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000178
若当前节点不是预测树结构的根节点,且预测模式选择Mode2或Mode3,则当前节点的柱面坐标通过对应的预测方式进行预测,可得当前节点柱面坐标的预测值为
Figure PCTCN2022122652-appb-000179
同样,笛卡尔坐标预测值为重建柱面坐标逆转换得到的
Figure PCTCN2022122652-appb-000180
利用当前节点最佳的预测模式对当前节点的柱面坐标进行预测以及残差计算,可以得到柱面坐标系下的对应的预测残差
Figure PCTCN2022122652-appb-000181
利用当前节点的原始笛卡尔坐标(x,y,z)与预测笛卡尔坐标
Figure PCTCN2022122652-appb-000182
进行差分预测,可以得到坐标转换残差(x res、y res、z res)。
需要注意的是,当前节点的方位角的预测值
Figure PCTCN2022122652-appb-000183
可以按照上述式(32)进行计算。其中,
Figure PCTCN2022122652-appb-000184
表示当前节点的预测方位角;n表示父节点与当前节点之间按照扫描速度需要跳过的点数,该参数也需要写入码流中;
Figure PCTCN2022122652-appb-000185
表示激光雷达的扫描速度。
第二步,重建预测树结构。
通过上一步可得当前节点的柱面坐标预测值
Figure PCTCN2022122652-appb-000186
接下来按照以下公式利用解码得到的柱面坐标残差
Figure PCTCN2022122652-appb-000187
和当前节点的预测柱面坐标
Figure PCTCN2022122652-appb-000188
计算当前节点的重建柱面坐标
Figure PCTCN2022122652-appb-000189
其中,
Figure PCTCN2022122652-appb-000190
Figure PCTCN2022122652-appb-000191
这样,在得到当前节点的重建柱面坐标后,就可以进一步根据该重建柱面坐标
Figure PCTCN2022122652-appb-000192
确定当前节点在预测树结构中的位置,从而重建出预测树结构。
第三步,坐标逆转换。
将当前节点的重建柱面坐标
Figure PCTCN2022122652-appb-000193
按照以下公式转换为笛卡尔坐标
Figure PCTCN2022122652-appb-000194
Figure PCTCN2022122652-appb-000195
即为当前节点的预测笛卡尔坐标。其中,坐标逆转换公式如前述式(13)~式(15)。
第四步,重建几何点云。
利用解码得到的笛卡尔坐标残差(x res、y res、z res)和当前节点的预测笛卡尔坐标
Figure PCTCN2022122652-appb-000196
可以计算当前节点的重建笛卡尔坐标(x,y,z),具体公式如前述式(31)。
最终,即可得到重建的体素化后点云。
简单来说,本申请实施例中,编码端在对几何信息编码时,通过估计每种预测模式对应所需要编码的所有信息消耗的Bits来提升点云几何信息的编码效率,具体为:在对每个点选取目标预测模式时,通过统计每种预测模式Mode、柱面坐标系的预测残差以及最终的坐标转换残差来选取最佳的目标预测模式,可以提升点云的几何信息编码效率。在G‐PCC的预测树编码中,由于目前仅仅针对方位角分量
Figure PCTCN2022122652-appb-000197
进行自适应量化,又可以通过柱面坐标系与笛卡尔坐标系之间的关系得到:
Figure PCTCN2022122652-appb-000198
的不同,仅仅影响了x与y分量的坐标转换残差,因此在这里可以仅仅统计x与y分量的码流。这样,在编码端选取目标预测 模式时,通过考虑每种预测模式所需编码的所有信息需要的码流,可以保证最终所选取的目标预测模式为消耗码流最小的预测模式,从而可以有效提升点云的几何信息编码效率。
在又一种具体的实施例中,本申请实施例还可以在预测树编码方案上进一步优化。
在编码端,通过在对每种预测模式进行率失真优化选择时,通过评估每种预测模式所需要编码的码流大小,选择一个最佳的预测模式来对当前节点的几何信息进行预测编码。基于此,在编解码器中建立一个预先的量化参数表,假定该量化参数表为deltaQTable,该量化表的大小为N,则在预测树编码中引入RDOQ的编码技术,其中,J min代表最终选取的最佳代价因子,J min初始化为INF,bestMode代表选取的目标预测模式,bestQP代表选取的目标量化参数。
针对上述过程,具体算法如下:
Figure PCTCN2022122652-appb-000199
其中,ModeCount代表预测模式的总数;根据不同的预测模式可以得到不同的预测值R pred
Figure PCTCN2022122652-appb-000200
在利用柱面坐标系与笛卡尔坐标系之间的关系得到当前点笛卡尔坐标系下的逆转换坐标,从而得到坐标转换残差。
在本申请实施例中,通过引入一个量化参数表deltaQTable,选取不同的量化参数来对坐标转换残差进行量化,可以得到不用的Qx res、Qy res和Qz res。在编码端,通过计算每个不同的量化参数得到不同的重建失真值D,并且利用RO_estimate()来对所需要编码的信息进行码流预估,最终得到一个综合代价因子。通过在编码端选取一个最佳的代价因子(包括目标预测模式和目标量化参数),来完成对当前节点的几何预测编码。
在解码端,解析当前节点的几何信息时,首先对当前节点的预测模式进行解析得到当前节点的预测模式,然后可以得到当前节点的预测值R pred
Figure PCTCN2022122652-appb-000201
其次,再对当前节点的R res
Figure PCTCN2022122652-appb-000202
进行解析,从而利用如下公式来得到当前节点的几何信息:
R rec=R pred+R res
Figure PCTCN2022122652-appb-000203
Figure PCTCN2022122652-appb-000204
Figure PCTCN2022122652-appb-000205
Figure PCTCN2022122652-appb-000206
z rec=R rec*tan(θ(i))-zLaser(i)
再次,来对当前节点的量化参数进行解析,得到当前节点的量化残差值,并且解析得到当前节点的坐标转换残差Qx res、Qy res和Qz res.,最终利用如下公式来对当前节点在笛卡尔坐标系下的几何信息进行重建:
Invx res=Qx res*QP
Invy res=Qy res*QP
Invz res=Qz res*QP
Figure PCTCN2022122652-appb-000207
Figure PCTCN2022122652-appb-000208
Figure PCTCN2022122652-appb-000209
从而能够完成整个点云几何信息的重建。此外,在预测树编码方案上进一步进行优化,除了通过引入量化参数表deltaQTable来对每个节点的坐标转换残差进行自适应量化之外,进一步地,将该量化参数表更新为一个三维的量化参数表deltaQTable[x]、deltaQTable[y]和deltaQTable[z],从而来完成对x、y和z分量不同程度的量化,进一步提升几何信息的编码效率。
在本申请实施例中,通过上述实施例对前述实施例的具体实现进行详细阐述,从中可以看出,根据前述实施例的技术方案,考虑到柱面坐标分量的预测残差量化对于笛卡尔坐标转换残差的影响,在编码端选取每种预测Mode时,进一步的考虑到坐标转换残差分量码流的影响,从而可以使得最终所选取的预测模式Mode为最佳的预测模式,可以进一步提升几何信息的编码效率。
在本申请的再一实施例中,基于前述实施例相同的发明构思,参见图14,其示出了本申请实施例提供的一种编码器的组成结构示意图。如图14所示,该编码器140可以包括:第一确定单元1401、预编码单元1402、编码单元1403、重排序单元1404、第一量化单元1405和第一反量化单元1406。
在一种具体的实施例中,所述第一确定单元1401,配置为确定初始点云对应的预测树结构;
预编码单元1402,配置为通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
第一确定单元1401,还配置为根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;
编码单元1403,配置为根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
在一些实施例中,第一确定单元1401,还配置为获取在第二坐标系下的初始点云;以及对初始点云中的点进行坐标转换,得到在第一坐标系下的处理后点云;以及根据第一坐标系下的处理后点云,建立预测树结构。
在一些实施例中,重排序单元1404,还配置为在对初始点云中的点进行坐标转换之前,对初始点云进行重排序处理。
在一些实施例中,预编码单元1402,还配置为利用候选预测模式对当前节点进行预测处理,得到当前节点在第一坐标系下的预测值;以及根据当前节点在第一坐标系下的原始值与当前节点在第一坐标系下的预测值,确定当前节点在第一坐标系下的预测残差;以及根据当前节点在第一坐标系下的预测残差,确定当前节点在第一坐标系下的重建值;以及根据当前节点在第一坐标系下的重建值进行坐标逆转换,确定当前节点在第二坐标系下的预测值;以及根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的预测值,确定当前节点在第二坐标系下的坐标转换残差;以及根据候选预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差,确定候选预测模式的预编码信息;其中,候选预测模式为多种预测模式中的任意一种。
在一些实施例中,所述第一坐标系包括方位角分量、深度分量和激光标识分量;相应地,预编码单元1402,还配置为根据当前节点的方位角分量的原始值与当前节点的方位角分量的预测值,确定当前节点的方位角分量的预测残差;以及根据当前节点的深度分量的原始值与当前节点的深度分量的预测值,确定当前节点的深度分量的预测残差;以及根据当前节点的激光标识分量的原始值与当前节点的激光标识分量的预测值,确定当前节点的激光标识分量的预测残差。
在一些实施例中,预编码单元1402,还配置为根据当前节点的方位角分量的原始值与当前节点的 方位角分量的预测值,确定当前节点的方位角分量的初始预测残差;以及获取激光雷达的扫描速度,根据当前节点的方位角分量的初始预测残差和扫描速度,确定当前节点与父节点之间的跳过点数;根据当前节点的方位角分量的初始预测残差、跳过点数和扫描速度,确定当前节点的方位角分量的预测残差。
在一些实施例中,预编码单元1402,还配置为根据当前节点的方位角分量的初始预测残差与扫描速度进行除法运算,得到除法结果;以及对除法结果进行取整处理,得到跳过点数;以及根据跳过点数与扫描速度进行乘法运算,得到乘法结果;以及对当前节点的方位角分量的初始预测残差与乘法结果进行减法运算,得到当前节点的方位角分量的预测残差。
在一些实施例中,预编码单元1402,还配置为根据当前节点的方位角分量的预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值;以及根据当前节点的深度分量的预测残差和当前节点的深度分量的预测值,确定当前节点的深度分量的重建值;以及根据当前节点的激光标识分量的预测残差和当前节点的激光标识分量的预测值,确定当前节点的激光标识分量的重建值。
在一些实施例中,第一量化单元1405,配置为对当前节点的方位角分量的预测残差进行量化处理,得到当前节点的方位角分量的量化预测残差;
第一反量化单元1406,配置为对当前节点的方位角分量的量化预测残差进行反量化处理,得到当前节点的方位角分量的反量化预测残差;
第一确定单元1401,还配置为根据当前节点的方位角分量的反量化预测残差和当前节点的方位角分量的预测值,确定当前节点的方位角分量的重建值。
在一些实施例中,预编码单元1402,还配置为根据跳过点数与扫描速度进行乘法运算,得到乘法结果;以及根据当前节点的方位角分量的反量化预测残差、当前节点的方位角分量的预测值和乘法结果进行加法运算,确定当前节点的方位角分量的重建值。
在一些实施例中,第二坐标系包括第一轴分量、第二轴分量和第三轴分量;相应地,预编码单元1402,还配置为根据当前节点的方位角分量的重建值和当前节点的深度分量的重建值进行坐标逆转换,得到当前节点的第一轴分量的预测值和当前节点的第二轴分量的预测值;以及根据当前节点的深度分量的重建值和当前节点的激光标识分量的重建值进行坐标逆转换,得到当前节点的第三轴分量的预测值;
第一确定单元1401,还配置为根据当前节点的第一轴分量的原始值与当前节点的第一轴分量的预测值,确定当前节点的第一轴分量的坐标转换残差;以及根据当前节点的第二轴分量的原始值与当前节点的第二轴分量的预测值,确定当前节点的第二轴分量的坐标转换残差;以及根据当前节点的第三轴分量的原始值与当前节点的第三轴分量的预测值,确定当前节点的第三轴分量的坐标转换残差。
在一些实施例中,第一确定单元1401,还配置为将候选预测模式、当前节点在第一坐标系下的预测残差、当前节点的第一轴分量的坐标转换残差、当前节点的第二轴分量的坐标转换残差和当前节点的第三轴分量的坐标转换残差确定为候选预测模式的预编码信息;或者,将候选预测模式、当前节点在第一坐标系下的预测残差、当前节点的第一轴分量的坐标转换残差和当前节点的第二轴分量的坐标转换残差确定为候选预测模式的预编码信息。
在一些实施例中,第一确定单元1401,还配置为根据多种预测模式各自的预编码信息,确定多种预测模式对应的率失真代价值;以及在多种预测模式对应的率失真代价值中确定最小率失真代价值,并将最小率失真代价值对应的预测模式作为目标预测模式。
在一些实施例中,多种预测模式包括第一预测模式、第二预测模式、第三预测模式和第四预测模式;相应地,第一确定单元1401,还配置为若当前节点为根节点,则确定目标预测模式为第一预测模式;以及若当前节点不是根节点且根节点为当前节点的父节点,则确定目标预测模式为第二预测模式;以及若当前节点不是根节点且根节点为当前节点的祖父节点,则从第一预测模式、第二预测模式和第三预测模式中确定目标预测模式;以及若当前节点不是根节点且根节点为当前节点的曾祖父节点,则从第一预测模式、第二预测模式、第三预测模式和第四预测模式中确定目标预测模式。
在一些实施例中,编码单元1403,还配置为根据目标预测模式对当前节点进行预测处理,确定当前节点在第一坐标系下的目标预测值;以及根据当前节点在第一坐标系下的原始值与当前节点在第一坐标系下的目标预测值,确定当前节点在第一坐标系下的目标预测残差;以及根据当前节点在第一坐标系下的目标预测残差,确定当前节点在第一坐标系下的目标重建值;以及根据当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定当前节点在第二坐标系下的目标预测值;以及根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的目标预测值,确定当前节点在第二坐标系下的目标坐标转换残差;以及根据目标预测模式、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差,确定当前节点的编码信息。
在一些实施例中,编码单元1403,还配置为对目标预测模式、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差进行编码,将所得到的编码比特写入码流。
在一些实施例中,编码单元1403,还配置为在目标预测模式下,确定当前节点与父节点之间的跳过点数;以及对跳过点数进行编码,将所得到的编码比特写入码流。
在另一种具体的实施例中,第一确定单元1401,配置为确定初始点云对应的预测树结构;
预编码单元1402,配置为通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的参数组合对应不同的预测模式和量化参数,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
第一确定单元1401,还配置为根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数;
编码单元1403,配置为根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
在一些实施例中,预编码单元1402,还配置为利用候选预测模式对当前节点进行预编码处理,确定当前节点在预设坐标系下的预测残差;
第一量化单元1405,配置为根据候选量化参数对当前节点在预设坐标系下的预测残差进行量化处理,确定当前节点在预设坐标系下的量化预测残差;
第一确定单元1401,还配置为根据候选预测模式、候选量化参数和当前节点在预设坐标系下的量化预测残差,确定候选参数组合的预编码信息;其中,候选参数组合是由候选预测模式和候选量化参数组成,且候选预测模式为多种预测模式中的任意一种,候选量化参数为多种量化参数中的任意一种。
在一些实施例中,预编码单元1402,还配置为根据预设的量化参数表和候选量化参数,确定候选量化参数对应的候选量化参数索引值;以及将候选量化参数索引值确定为候选参数组合的预编码信息;其中,预设的量化参数表用于指示多种量化参数与多个量化参数索引值之间的映射关系。
在一些实施例中,预设坐标系包括下述至少之一:第一坐标系和第二坐标系;相应地,预编码单元1402,还配置为根据候选量化参数对当前节点在第一坐标系下的预测残差进行量化处理,确定当前节点在第一坐标系下的量化预测残差;和/或,根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差。
在一些实施例中,预编码单元1402,还配置为利用候选预测模式对当前节点进行预编码处理,确定当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
第一量化单元1405,还配置为根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差;
第一确定单元1401,还配置为根据候选预测模式、候选量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的量化转换残差,确定候选参数组合的预编码信息。
在一些实施例中,第一确定单元1401,还配置为根据多种参数组合各自的预编码信息,确定多种参数组合对应的率失真代价值;以及在多种参数组合对应的率失真代价值中确定最小率失真代价值,并根据最小率失真代价值对应的参数组合确定目标预测模式和所述目标量化参数。
在一些实施例中,第一确定单元1401,还配置为在候选参数组合下,确定当前节点在第二坐标系下的重建值;以及根据当前节点在第二坐标系下的原始值与当前节点在第二坐标系下的重建值,确定候选参数组合对应的失真值;以及根据候选预测模式、候选量化参数索引值、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的量化转换残差进行码流估计,确定候选参数组合对应的码流估计值;以及根据候选参数组合对应的失真值和码流估计值进行率失真代价计算,确定候选参数组合对应的率失真代价值;其中,候选参数组合为多种参数组合中的任意一种。
在一些实施例中,第一确定单元1401,还配置为根据当前节点在第一坐标系下的预测残差,确定当前节点在第一坐标系下的重建值,并根据当前节点在第一坐标系下的重建值进行坐标逆转换,确定当前节点在第二坐标系下的预测值;以及根据当前节点在第二坐标系下的原始值和当前节点在第二坐标系下的预测值,确定当前节点在第二坐标系下的坐标转换残差;
第一量化单元1405,还配置为根据候选量化参数对当前节点在第二坐标系下的坐标转换残差进行量化处理,确定当前节点在第二坐标系下的量化转换残差;
第一反量化单元1406,配置为根据候选量化参数对当前节点在第二坐标系下的量化转换残差进行反量化处理,确定当前节点在第二坐标系下的反量化转换残差;以及根据当前节点在第二坐标系下的预测值与反量化转换残差进行加法运算,确定当前节点在第二坐标系下的重建值。
在一些实施例中,第二坐标系包括第一轴分量、第二轴分量和第三轴分量;相应地,第一量化单元1405,还配置为利用第一候选量化参数对当前节点的第一轴分量的坐标转换残差进行量化处理,确定当前节点的第一轴分量的量化转换残差;以及利用第二候选量化参数对当前节点的第二轴分量的坐标转换 残差进行量化处理,确定当前节点的第二轴分量的量化转换残差;以及利用第三候选量化参数对当前节点的第三轴分量的坐标转换残差进行量化处理,确定当前节点的第三轴分量的量化转换残差。
在一些实施例中,预设的量化参数表包括第一量化参数数组、第二量化参数数组和第三量化参数数组;相应地,预编码单元1402,还配置为根据第一量化参数数组和第一候选量化参数,确定候选量化参数对应的第一候选量化参数索引值;以及根据第二量化参数数组和第二候选量化参数,确定候选量化参数对应的第二候选量化参数索引值;以及根据第三量化参数数组和第三候选量化参数,确定候选量化参数对应的第二候选量化参数索引值;以及将第一候选量化参数索引值、第二候选量化参数索引值和第三候选量化参数索引值确定为候选参数组合的预编码信息;其中,第一量化参数数组用于指示第一轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,第二量化参数数组用于指示第二轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,第三量化参数数组用于指示第三轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系。
在一些实施例中,编码单元1403,还配置为根据目标预测模式,确定当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标坐标转换残差;以及利用目标量化参数对当前节点在第二坐标系下的目标坐标转换残差进行量化处理,确定当前节点在第二坐标系下的目标量化转换残差;以及根据目标预测模式、目标量化参数、当前节点在第一坐标系下的目标预测残差和当前节点在第二坐标系下的目标量化转换残差,确定当前节点的编码信息。
在一些实施例中,编码单元1403,还配置为根据目标预测模式,确定当前节点的方位角分量的目标预测值和当前节点的深度分量的目标预测值;以及根据当前节点的方位角分量的原始值与当前节点的方位角分量的目标预测值,确定当前节点的方位角分量的预测残差值;以及根据目标量化参数对当前节点的方位角分量的预测残差值进行量化处理,确定当前节点的方位角分量的量化残差值;以及根据当前节点的深度分量的原始值与当前节点的深度分量的目标预测值,确定当前节点的深度分量的预测残差值;以及将当前节点的方位角分量的量化残差值和当前节点的深度分量的预测残差值确定为当前节点在第一坐标系下的目标预测残差。
在一些实施例中,编码单元1403,还配置为对目标预测模式、目标量化参数、当前节点的深度分量的预测残差值、当前节点的方位角分量的量化残差值和当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
在一些实施例中,编码单元1403,还配置为根据预设的量化参数表和目标量化参数,确定目标量化参数对应的目标量化参数索引值;以及对目标预测模式、目标量化参数索引值、当前节点的深度分量的预测残差值、当前节点的方位角分量的量化残差值和当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机可读存储介质,应用于编码器140,该计算机可读存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于编码器140的组成以及计算机可读存储介质,参见图15,其示出了本申请实施例提供的编码器140的具体硬件结构示意图。如图15所示,编码器140可以包括:第一通信接口1501、第一存储器1502和第一处理器1503;各个组件通过第一总线系统1504耦合在一起。可理解,第一总线系统1504用于实现这些组件之间的连接通信。第一总线系统1504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图15中将各种总线都标为第一总线系统1504。其中,
第一通信接口1501,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器1502,用于存储能够在第一处理器1503上运行的计算机程序;
第一处理器1503,用于在运行所述计算机程序时,执行:
确定初始点云对应的预测树结构;
通过多种预测模式对预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;
根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
或者,第一处理器1503,还用于在运行所述计算机程序时,执行:
确定初始点云对应的预测树结构;
通过多种预测模式和多种量化参数对预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的参数组合对应不同的预测模式和量化参数,预编码信息至少包括:预测模式、量化参数、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;
根据多种参数组合各自的预编码信息,在多种参数组合中确定目标预测模式和目标量化参数;
根据目标预测模式和目标量化参数对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流。
可以理解,本申请实施例中的第一存储器1502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器1502旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器1503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器1503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器1503可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器1502,第一处理器1503读取第一存储器1502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器1503还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,在该编码器中,在对当前节点选取最佳的目标预测模式时,通过统计每种预测模式、柱面坐标系的预测残差以及最终的坐标转换残差来选取目标预测模式,能够提升点云的几何信息编码效率;另外,还可以考虑不同的量化参数对坐标转换残差的影响,基于代价值最小原则来选取最佳量化参数和最佳预测模式,进一步提升几何信息的编码效率,进而提升点云的编解码性能。
在本申请的再一实施例中,基于前述实施例相同的发明构思,参见图16,其示出了本申请实施例提供的一种解码器160的组成结构示意图。如图16所示,该解码器160可以包括:解析单元1601、第二确定单元1602和第二反量化单元1603;其中,
解析单元1601,配置为解析码流,确定当前节点的目标预测模式;
第二确定单元1602,配置为根据目标预测模式,确定当前节点在预设坐标系下的目标预测值;
解析单元1601,还配置为解析码流,确定当前节点的目标量化参数和当前节点在预设坐标系下的目标量化预测残差;
第二反量化单元1603,配置为根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差;
第二确定单元1501,还配置为根据当前节点在预设坐标系下的目标反量化预测残差与目标预测值,确定当前节点在预设坐标系下的目标重建值;以及根据当前节点在预设坐标系下的目标重建值,确定重建点云。
在一些实施例中,第二确定单元1602,还配置为根据目标预测模式对当前节点进行预测处理,确定当前节点在第一坐标系下的目标预测值;
解析单元1601,还配置为解析码流,确定当前节点在第一坐标系下的目标预测残差;
第二确定单元1602,还配置为根据当前节点在第一坐标系下的目标预测值和目标预测残差,确定当前节点在第一坐标系下的目标重建值;以及根据当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定当前节点在第二坐标系下的目标预测值。
在一些实施例中,解析单元1601,还配置为解析码流,确定当前节点的方位角分量的目标量化预测残差、当前节点的深度分量的目标预测残差和当前节点的激光标识分量的目标预测残差;
第二确定单元1602,还配置为对当前节点的方位角分量的目标量化预测残差进行反量化处理,得到当前节点的方位角分量的目标反量化预测残差;以及根据当前节点的方位角分量的目标预测值和目标反量化预测残差,确定当前节点的方位角分量的目标重建值;以及根据当前节点的深度分量的目标预测值和目标预测残差,确定当前节点的深度分量的目标重建值;以及根据当前节点的激光标识分量的目标预测值和目标预测残差,确定当前节点的激光标识分量的目标重建值。
在一些实施例中,解析单元1601,还配置为解析码流,确定当前节点与父节点之间的跳过点数;
第二确定单元1602,还配置为获取激光雷达的扫描速度,根据跳过点数与扫描速度进行乘法运算,得到目标乘法结果;以及根据当前节点的方位角分量的目标反量化预测残差、当前节点的方位角分量的目标预测值和目标乘法结果进行加法运算,确定当前节点的方位角分量的目标重建值。
在一些实施例中,解析单元1601,还配置为解析码流,确定当前节点的目标量化参数索引值;以及根据预设的量化参数表和目标量化参数索引值,确定当前节点的目标量化参数。
在一些实施例中,预设坐标系包括下述至少之一:第一坐标系和第二坐标系;相应地,第二反量化单元1603,还配置为根据目标量化参数对当前节点在第一坐标系下的目标量化预测残差进行反量化处理,确定当前节点在第一坐标系下的目标反量化预测残差;和/或,根据目标量化参数对当前节点在第二坐标系下的目标量化转换残差进行反量化处理,确定当前节点在第二坐标系下的目标反量化转换残差。
在一些实施例中,第二反量化单元1603,还配置为根据目标量化参数对当前节点的方位角分量的目标量化预测残差进行反量化处理,得到当前节点的方位角分量的目标反量化预测残差。
在一些实施例中,第二坐标系包括第一轴分量、第二轴分量和第三轴分量;相应地,第二反量化单元1603,还配置为利用第一量化参数对当前节点的第一轴分量的目标量化转换残差进行反量化处理,确定当前节点的第一轴分量的目标反量化转换残差;以及利用第二量化参数对当前节点的第二轴分量的目标量化转换残差进行反量化处理,确定当前节点的第二轴分量的目标反量化转换残差;以及利用第三量化参数对当前节点的第三轴分量的目标量化转换残差进行反量化处理,确定当前节点的第三轴分量的目标反量化转换残差。
在一些实施例中,解析单元1601,还配置为解析码流,确定当前节点的第一量化参数、第二量化参数和第三量化参数。
在一些实施例中,预设的量化参数表包括第一量化参数数组、第二量化参数数组和第三量化参数数组;相应地,解析单元1601,还配置为解析码流,确定当前节点的第一量化参数索引值、第二量化参数索引值和第三量化参数索引值;
第二确定单元1602,还配置为根据第一量化参数数组和第一量化参数索引值,确定第一量化参数;以及根据第二量化参数数组和第二量化参数索引值,确定第二量化参数;以及根据第三量化参数数组和第三量化参数索引值,确定第三量化参数;其中,第一量化参数数组用于指示第一轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,第二量化参数数组用于指示第二轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系,第三量化参数数组用于指示第三轴分量对应的多种量化参数与多个量化参数索引值之间的映射关系。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以 采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机可读存储介质,应用于解码器160,该计算机可读存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于解码器160的组成以及计算机可读存储介质,参见图17,其示出了本申请实施例提供的解码器160的具体硬件结构示意图。如图17所示,该解码器160可以包括:第二通信接口1701、第二存储器1702和第二处理器1703;各个组件通过第二总线系统1704耦合在一起。可理解,第二总线系统1704用于实现这些组件之间的连接通信。第二总线系统1704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图17中将各种总线都标为第二总线系统1704。其中,
第二通信接口1701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1702,用于存储能够在第二处理器1703上运行的计算机程序;
第二处理器1703,用于在运行所述计算机程序时,执行:
解析码流,确定当前节点的目标预测模式;
根据目标预测模式,确定当前节点在预设坐标系下的目标预测值;
解析码流,确定当前节点的目标量化参数和当前节点在预设坐标系下的目标量化预测残差;
根据目标量化参数对当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定当前节点在预设坐标系下的目标反量化预测残差;
根据当前节点在预设坐标系下的目标反量化预测残差与所述目标预测值,确定当前节点在预设坐标系下的目标重建值;
根据当前节点在预设坐标系下的目标重建值,确定重建点云。
可选地,作为另一个实施例,第二处理器1703还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1702与第一存储器1502的硬件功能类似,第二处理器1703与第一处理器1503的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,在该解码器中,通过引入量化参数表来对每个节点的坐标转换残差进行自适应量化,从而能够提升几何信息的编码效率;进一步地,将该量化参数表更新为一个三维的量化参数表(第一量化参数表、第二量化参数表和第三量化参数表),以便完成对x、y和z不同程度的量化,还能够进一步提升几何信息的编解码效率,进而提升点云的编解码性能。
在本申请的再一实施例中,参见图18,其示出了本申请实施例提供的一种编解码系统的组成结构示意图。如图18所示,编解码系统180可以包括编码器1801和解码器1802。
在本申请实施例中,编码器1801可以为前述实施例中任一项所述的编码器,解码器1802可以为前述实施例中任一项所述的解码器。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,确定初始点云对应的预测树结构;通过多种预测模式对预测树结构的当前节点进 行预编码处理,确定多种预测模式各自的预编码信息;其中,预编码信息至少包括:预测模式、当前节点在第一坐标系下的预测残差和当前节点在第二坐标系下的坐标转换残差;根据多种预测模式各自的预编码信息,在多种预测模式中确定目标预测模式;根据目标预测模式对当前节点进行编码处理,确定当前节点的编码信息,并将编码信息写入码流;这样,在统计每种预测模式对应的预编码信息时,不仅考虑了预测模式和当前节点在第一坐标系下的预测残差,同时还考虑了第一坐标系对于第二坐标系的坐标转换残差的影响,使得根据预编码信息进行码流估计时,能够提高每种预测模式下码流估计的准确度,从而使得所选取的最佳预测模式更准确,可以提升几何信息的编码效率;另外,在统计每种预测模式对应的预编码信息时,还可以考虑不同的量化参数对坐标转换残差的影响,如此,根据预编码信息进行码流估计时,可以基于代价值最小原则来选取最佳的目标量化参数和目标预测模式,能够进一步提升几何信息的编码效率,进而提升点云的编解码性能。

Claims (49)

  1. 一种编码方法,应用于编码器,所述方法包括:
    确定初始点云对应的预测树结构;
    通过多种预测模式对所述预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,所述预编码信息至少包括:所述预测模式、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差;
    根据所述多种预测模式各自的预编码信息,在所述多种预测模式中确定目标预测模式;
    根据所述目标预测模式对所述当前节点进行编码处理,确定所述当前节点的编码信息,并将所述编码信息写入码流。
  2. 根据权利要求1所述的方法,其中,所述确定初始点云对应的预测树结构,包括:
    获取在所述第二坐标系下的初始点云;
    对所述初始点云中的点进行坐标转换,得到在所述第一坐标系下的处理后点云;
    根据所述第一坐标系下的处理后点云,建立所述预测树结构。
  3. 根据权利要求2所述的方法,其中,所述方法还包括:
    在对所述初始点云中的点进行坐标转换之前,对所述初始点云进行重排序处理。
  4. 根据权利要求1所述的方法,其中,所述通过多种预测模式对所述预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息,包括:
    利用候选预测模式对所述当前节点进行预测处理,得到所述当前节点在第一坐标系下的预测值;
    根据所述当前节点在第一坐标系下的原始值与所述当前节点在第一坐标系下的预测值,确定所述当前节点在第一坐标系下的预测残差;
    根据所述当前节点在第一坐标系下的预测残差,确定所述当前节点在第一坐标系下的重建值;
    根据所述当前节点在第一坐标系下的重建值进行坐标逆转换,确定所述当前节点在第二坐标系下的预测值;
    根据所述当前节点在第二坐标系下的原始值与所述当前节点在第二坐标系下的预测值,确定所述当前节点在第二坐标系下的坐标转换残差;
    根据所述候选预测模式、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差,确定所述候选预测模式的预编码信息;
    其中,所述候选预测模式为所述多种预测模式中的任意一种。
  5. 根据权利要求4所述的方法,其中,所述第一坐标系包括方位角分量、深度分量和激光标识分量;
    所述根据所述当前节点在第一坐标系下的原始值与所述当前节点在第一坐标系下的预测值,确定所述当前节点在第一坐标系下的预测残差,包括:
    根据所述当前节点的方位角分量的原始值与所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的预测残差;
    根据所述当前节点的深度分量的原始值与所述当前节点的深度分量的预测值,确定所述当前节点的深度分量的预测残差;
    根据所述当前节点的激光标识分量的原始值与所述当前节点的激光标识分量的预测值,确定所述当前节点的激光标识分量的预测残差。
  6. 根据权利要求5所述的方法,其中,所述根据所述当前节点的方位角分量的原始值与所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的预测残差,包括:
    根据所述当前节点的方位角分量的原始值与所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的初始预测残差;
    获取激光雷达的扫描速度,根据所述当前节点的方位角分量的初始预测残差和所述扫描速度,确定所述当前节点与父节点之间的跳过点数;
    根据所述当前节点的方位角分量的初始预测残差、所述跳过点数和所述扫描速度,确定所述当前节点的方位角分量的预测残差。
  7. 根据权利要求6所述的方法,其中,所述根据所述当前节点的方位角分量的初始预测残差和所述扫描速度,确定所述当前节点与父节点之间的跳过点数,包括:
    根据所述当前节点的方位角分量的初始预测残差与所述扫描速度进行除法运算,得到除法结果;
    对所述除法结果进行取整处理,得到所述跳过点数;
    所述根据所述当前节点的方位角分量的初始预测残差、所述跳过点数和所述扫描速度,确定所述当前节点的方位角分量的预测残差,包括:
    根据所述跳过点数与所述扫描速度进行乘法运算,得到乘法结果;
    对所述当前节点的方位角分量的初始预测残差与所述乘法结果进行减法运算,得到所述当前节点的方位角分量的预测残差。
  8. 根据权利要求6所述的方法,其中,所述根据所述当前节点在第一坐标系下的预测残差,确定所述当前节点在第一坐标系下的重建值,包括:
    根据所述当前节点的方位角分量的预测残差和所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的重建值;
    根据所述当前节点的深度分量的预测残差和所述当前节点的深度分量的预测值,确定所述当前节点的深度分量的重建值;
    根据所述当前节点的激光标识分量的预测残差和所述当前节点的激光标识分量的预测值,确定所述当前节点的激光标识分量的重建值。
  9. 根据权利要求8所述的方法,其中,所述根据所述当前节点的方位角分量的预测残差和所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的重建值,包括:
    对所述当前节点的方位角分量的预测残差进行量化处理,得到所述当前节点的方位角分量的量化预测残差;
    对所述当前节点的方位角分量的量化预测残差进行反量化处理,得到所述当前节点的方位角分量的反量化预测残差;
    根据所述当前节点的方位角分量的反量化预测残差和所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的重建值。
  10. 根据权利要求9所述的方法,其中,所述根据所述当前节点的方位角分量的反量化预测残差和所述当前节点的方位角分量的预测值,确定所述当前节点的方位角分量的重建值,包括:
    根据所述跳过点数与所述扫描速度进行乘法运算,得到乘法结果;
    根据所述当前节点的方位角分量的反量化预测残差、所述当前节点的方位角分量的预测值和所述乘法结果进行加法运算,确定所述当前节点的方位角分量的重建值。
  11. 根据权利要求5所述的方法,其中,所述第二坐标系包括第一轴分量、第二轴分量和第三轴分量;
    所述根据所述当前节点在第一坐标系下的重建值进行坐标逆转换,确定所述当前节点在第二坐标系下的预测值,包括:
    根据所述当前节点的方位角分量的重建值和所述当前节点的深度分量的重建值进行坐标逆转换,得到所述当前节点的第一轴分量的预测值和所述当前节点的第二轴分量的预测值;
    根据所述当前节点的深度分量的重建值和所述当前节点的激光标识分量的重建值进行坐标逆转换,得到所述当前节点的第三轴分量的预测值;
    所述根据所述当前节点在所述第二坐标系下的原始值与所述当前节点在所述第二坐标系下的预测值,确定所述当前节点在所述第二坐标系下的坐标转换残差,包括:
    根据所述当前节点的第一轴分量的原始值与所述当前节点的第一轴分量的预测值,确定所述当前节点的第一轴分量的坐标转换残差;
    根据所述当前节点的第二轴分量的原始值与所述当前节点的第二轴分量的预测值,确定所述当前节点的第二轴分量的坐标转换残差;
    根据所述当前节点的第三轴分量的原始值与所述当前节点的第三轴分量的预测值,确定所述当前节点的第三轴分量的坐标转换残差。
  12. 根据权利要求11所述的方法,其中,所述根据所述候选预测模式、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差,确定所述候选预测模式的预编码信息,包括:
    将所述候选预测模式、所述当前节点在第一坐标系下的预测残差、所述当前节点的第一轴分量的坐标转换残差、所述当前节点的第二轴分量的坐标转换残差和所述当前节点的第三轴分量的坐标转换残差确定为所述候选预测模式的预编码信息;或者,
    将所述候选预测模式、所述当前节点在第一坐标系下的预测残差、所述当前节点的第一轴分量的坐标转换残差和所述当前节点的第二轴分量的坐标转换残差确定为所述候选预测模式的预编码信息。
  13. 根据权利要求1所述的方法,其中,所述根据所述多种预测模式各自的预编码信息,在所述多种预测模式中确定目标预测模式,包括:
    根据所述多种预测模式各自的预编码信息,确定所述多种预测模式对应的率失真代价值;
    在所述多种预测模式对应的率失真代价值中确定最小率失真代价值,并将所述最小率失真代价值对应的预测模式作为所述目标预测模式。
  14. 根据权利要求13所述的方法,其中,所述多种预测模式包括第一预测模式、第二预测模式、第三预测模式和第四预测模式;
    所述方法还包括:
    若所述当前节点为根节点,则确定所述目标预测模式为所述第一预测模式;
    若所述当前节点不是根节点且根节点为所述当前节点的父节点,则确定所述目标预测模式为所述第二预测模式;
    若所述当前节点不是根节点且根节点为所述当前节点的祖父节点,则从所述第一预测模式、所述第二预测模式和所述第三预测模式中确定所述目标预测模式;
    若所述当前节点不是根节点且根节点为所述当前节点的曾祖父节点,则从所述第一预测模式、所述第二预测模式、所述第三预测模式和所述第四预测模式中确定所述目标预测模式。
  15. 根据权利要求1所述的方法,其中,所述根据所述目标预测模式对所述当前节点进行编码处理,确定所述当前节点的编码信息,包括:
    根据所述目标预测模式对所述当前节点进行预测处理,确定所述当前节点在第一坐标系下的目标预测值;
    根据所述当前节点在第一坐标系下的原始值与所述当前节点在第一坐标系下的目标预测值,确定所述当前节点在第一坐标系下的目标预测残差;
    根据所述当前节点在第一坐标系下的目标预测残差,确定所述当前节点在第一坐标系下的目标重建值;
    根据所述当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定所述当前节点在第二坐标系下的目标预测值;
    根据所述当前节点在第二坐标系下的原始值与所述当前节点在第二坐标系下的目标预测值,确定所述当前节点在第二坐标系下的目标坐标转换残差;
    根据所述目标预测模式、所述当前节点在第一坐标系下的目标预测残差和所述当前节点在第二坐标系下的目标坐标转换残差,确定所述当前节点的编码信息。
  16. 根据权利要求15所述的方法,其中,所述方法还包括:
    对所述目标预测模式、所述当前节点在第一坐标系下的目标预测残差和所述当前节点在第二坐标系下的目标坐标转换残差进行编码,将所得到的编码比特写入码流。
  17. 根据权利要求15所述的方法,其中,所述方法还包括:
    在所述目标预测模式下,确定所述当前节点与父节点之间的跳过点数;
    对所述跳过点数进行编码,将所得到的编码比特写入码流。
  18. 一种解码方法,应用于解码器,所述方法包括:
    解析码流,确定当前节点的目标预测模式;
    根据所述目标预测模式,确定所述当前节点在预设坐标系下的目标预测值;
    解析码流,确定所述当前节点的目标量化参数和所述当前节点在预设坐标系下的目标量化预测残差;
    根据所述目标量化参数对所述当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定所述当前节点在预设坐标系下的目标反量化预测残差;
    根据所述当前节点在预设坐标系下的所述目标反量化预测残差与所述目标预测值,确定所述当前节点在预设坐标系下的目标重建值;
    根据所述当前节点在预设坐标系下的目标重建值,确定重建点云。
  19. 根据权利要求18所述的方法,其中,所述根据所述目标预测模式,确定所述当前节点在预设坐标系下的目标预测值,包括:
    根据所述目标预测模式对所述当前节点进行预测处理,确定所述当前节点在第一坐标系下的目标预测值;
    解析码流,确定所述当前节点在第一坐标系下的目标预测残差;
    根据所述当前节点在第一坐标系下的所述目标预测值和所述目标预测残差,确定所述当前节点在第一坐标系下的目标重建值;
    根据所述当前节点在第一坐标系下的目标重建值进行坐标逆转换,确定所述当前节点在第二坐标系下的目标预测值。
  20. 根据权利要求19所述的方法,其中,所述解析码流,确定所述当前节点在第一坐标系下的目 标预测残差,包括:
    解析码流,确定所述当前节点的方位角分量的目标量化预测残差、所述当前节点的深度分量的目标预测残差和所述当前节点的激光标识分量的目标预测残差;
    所述根据所述当前节点在第一坐标系下的所述目标预测值和所述目标预测残差,确定所述当前节点在第一坐标系下的目标重建值,包括:
    对所述当前节点的方位角分量的目标量化预测残差进行反量化处理,得到所述当前节点的方位角分量的目标反量化预测残差;
    根据所述当前节点的方位角分量的所述目标预测值和所述目标反量化预测残差,确定所述当前节点的方位角分量的目标重建值;
    根据所述当前节点的深度分量的所述目标预测值和所述目标预测残差,确定所述当前节点的深度分量的目标重建值;
    根据所述当前节点的激光标识分量的所述目标预测值和所述目标预测残差,确定所述当前节点的激光标识分量的目标重建值。
  21. 根据权利要求20所述的方法,其中,所述根据所述当前节点的方位角分量的所述目标预测值和所述目标反量化预测残差,确定所述当前节点的方位角分量的目标重建值,包括:
    解析码流,确定所述当前节点与父节点之间的跳过点数;
    获取激光雷达的扫描速度,根据所述跳过点数与所述扫描速度进行乘法运算,得到目标乘法结果;
    根据所述当前节点的方位角分量的目标反量化预测残差、所述当前节点的方位角分量的目标预测值和所述目标乘法结果进行加法运算,确定所述当前节点的方位角分量的目标重建值。
  22. 根据权利要求18所述的方法,其中,所述解析码流,确定所述当前节点的目标量化参数,包括:
    解析码流,确定所述当前节点的目标量化参数索引值;
    根据预设的量化参数表和所述目标量化参数索引值,确定所述当前节点的目标量化参数。
  23. 根据权利要求18所述的方法,其中,所述预设坐标系包括下述至少之一:第一坐标系和第二坐标系;
    所述根据所述目标量化参数对所述当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定所述当前节点在预设坐标系下的目标反量化预测残差,包括:
    根据所述目标量化参数对所述当前节点在第一坐标系下的目标量化预测残差进行反量化处理,确定所述当前节点在第一坐标系下的目标反量化预测残差;和/或,
    根据所述目标量化参数对所述当前节点在第二坐标系下的目标量化转换残差进行反量化处理,确定所述当前节点在第二坐标系下的目标反量化转换残差。
  24. 根据权利要求23所述的方法,其中,所述根据所述目标量化参数对所述当前节点在第一坐标系下的目标量化预测残差进行反量化处理,确定所述当前节点在第一坐标系下的目标反量化预测残差,包括:
    根据所述目标量化参数对所述当前节点的方位角分量的目标量化预测残差进行反量化处理,得到所述当前节点的方位角分量的目标反量化预测残差。
  25. 根据权利要求23所述的方法,其中,所述第二坐标系包括第一轴分量、第二轴分量和第三轴分量;
    所述根据所述目标量化参数对所述当前节点在第二坐标系下的目标量化转换残差进行反量化处理,确定所述当前节点在第二坐标系下的目标反量化转换残差,包括:
    利用第一量化参数对所述当前节点的第一轴分量的目标量化转换残差进行反量化处理,确定所述当前节点的第一轴分量的目标反量化转换残差;
    利用第二量化参数对所述当前节点的第二轴分量的目标量化转换残差进行反量化处理,确定所述当前节点的第二轴分量的目标反量化转换残差;
    利用第三量化参数对所述当前节点的第三轴分量的目标量化转换残差进行反量化处理,确定所述当前节点的第三轴分量的目标反量化转换残差。
  26. 根据权利要求25所述的方法,其中,所述解析码流,确定所述当前节点的目标量化参数,包括:
    解析码流,确定所述当前节点的所述第一量化参数、所述第二量化参数和所述第三量化参数。
  27. 根据权利要求25所述的方法,其中,预设的量化参数表包括第一量化参数数组、第二量化参数数组和第三量化参数数组;
    所述解析码流,确定所述当前节点的目标量化参数,包括:
    解析码流,确定所述当前节点的第一量化参数索引值、第二量化参数索引值和第三量化参数索引值;
    根据所述第一量化参数数组和所述第一量化参数索引值,确定所述第一量化参数;
    根据所述第二量化参数数组和所述第二量化参数索引值,确定所述第二量化参数;
    根据所述第三量化参数数组和所述第三量化参数索引值,确定所述第三量化参数;
    其中,所述第一量化参数数组用于指示所述第一轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系,所述第二量化参数数组用于指示所述第二轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系,所述第三量化参数数组用于指示所述第三轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系。
  28. 一种编码方法,应用于编码器,所述方法包括:
    确定初始点云对应的预测树结构;
    通过多种预测模式和多种量化参数对所述预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的所述参数组合对应不同的所述预测模式和所述量化参数,所述预编码信息至少包括:所述预测模式、所述量化参数、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差;
    根据所述多种参数组合各自的预编码信息,在所述多种参数组合中确定目标预测模式和目标量化参数;
    根据所述目标预测模式和所述目标量化参数对所述当前节点进行编码处理,确定所述当前节点的编码信息,并将所述编码信息写入码流。
  29. 根据权利要求28所述的方法,其中,所述通过多种预测模式和多种量化参数对所述预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息,包括:
    利用候选预测模式对所述当前节点进行预编码处理,确定所述当前节点在预设坐标系下的预测残差;
    根据候选量化参数对所述当前节点在预设坐标系下的预测残差进行量化处理,确定所述当前节点在预设坐标系下的量化预测残差;
    根据所述候选预测模式、所述候选量化参数和所述当前节点在预设坐标系下的量化预测残差,确定候选参数组合的预编码信息;
    其中,所述候选参数组合是由所述候选预测模式和所述候选量化参数组成,且所述候选预测模式为所述多种预测模式中的任意一种,所述候选量化参数为所述多种量化参数中的任意一种。
  30. 根据权利要求29所述的方法,其中,所述方法还包括:
    根据预设的量化参数表和所述候选量化参数,确定所述候选量化参数对应的候选量化参数索引值;
    将所述候选量化参数索引值确定为所述候选参数组合的预编码信息;
    其中,所述预设的量化参数表用于指示所述多种量化参数与多个量化参数索引值之间的映射关系。
  31. 根据权利要求29所述的方法,其中,所述预设坐标系包括下述至少之一:第一坐标系和第二坐标系;
    所述根据候选量化参数对所述当前节点在预设坐标系下的预测残差进行量化处理,确定所述当前节点在预设坐标系下的量化预测残差,包括:
    根据所述候选量化参数对所述当前节点在第一坐标系下的预测残差进行量化处理,确定所述当前节点在第一坐标系下的量化预测残差;和/或,
    根据所述候选量化参数对所述当前节点在第二坐标系下的坐标转换残差进行量化处理,确定所述当前节点在第二坐标系下的量化转换残差。
  32. 根据权利要求31所述的方法,其中,所述方法还包括:
    利用所述候选预测模式对所述当前节点进行预编码处理,确定所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差;
    根据所述候选量化参数对所述当前节点在第二坐标系下的坐标转换残差进行量化处理,确定所述当前节点在第二坐标系下的量化转换残差;
    根据所述候选预测模式、所述候选量化参数、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的量化转换残差,确定所述候选参数组合的预编码信息。
  33. 根据权利要求32所述的方法,其中,所述根据所述多种参数组合各自的预编码信息,在所述多种参数组合中确定目标预测模式和目标量化参数,包括:
    根据所述多种参数组合各自的预编码信息,确定所述多种参数组合对应的率失真代价值;
    在所述多种参数组合对应的率失真代价值中确定最小率失真代价值,并根据所述最小率失真代价值对应的参数组合确定所述目标预测模式和所述目标量化参数。
  34. 根据权利要求33所述的方法,其中,所述方法还包括:
    在所述候选参数组合下,确定所述当前节点在第二坐标系下的重建值;
    根据所述当前节点在第二坐标系下的原始值与所述当前节点在第二坐标系下的重建值,确定所述候选参数组合对应的失真值;
    根据所述候选预测模式、所述候选量化参数索引值、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的量化转换残差进行码流估计,确定所述候选参数组合对应的码流估计值;
    根据所述候选参数组合对应的所述失真值和所述码流估计值进行率失真代价计算,确定所述候选参数组合对应的率失真代价值;
    其中,所述候选参数组合为所述多种参数组合中的任意一种。
  35. 根据权利要求34所述的方法,其中,在所述候选参数组合下,所述确定所述当前节点在第二坐标系下的重建值,包括:
    根据所述当前节点在第一坐标系下的预测残差,确定所述当前节点在第一坐标系下的重建值,并根据所述当前节点在第一坐标系下的重建值进行坐标逆转换,确定所述当前节点在第二坐标系下的预测值;
    根据所述当前节点在第二坐标系下的原始值和所述当前节点在第二坐标系下的预测值,确定所述当前节点在第二坐标系下的坐标转换残差;
    根据所述候选量化参数对所述当前节点在第二坐标系下的坐标转换残差进行量化处理,确定所述当前节点在第二坐标系下的量化转换残差;
    根据所述候选量化参数对所述当前节点在第二坐标系下的量化转换残差进行反量化处理,确定所述当前节点在第二坐标系下的反量化转换残差;
    根据所述当前节点在第二坐标系下的所述预测值与所述反量化转换残差进行加法运算,确定所述当前节点在第二坐标系下的重建值。
  36. 根据权利要求35所述的方法,其中,所述第二坐标系包括第一轴分量、第二轴分量和第三轴分量;所述根据所述候选量化参数对所述当前节点在第二坐标系下的坐标转换残差进行量化处理,确定所述当前节点在第二坐标系下的量化转换残差,包括:
    利用第一候选量化参数对所述当前节点的第一轴分量的坐标转换残差进行量化处理,确定所述当前节点的第一轴分量的量化转换残差;
    利用第二候选量化参数对所述当前节点的第二轴分量的坐标转换残差进行量化处理,确定所述当前节点的第二轴分量的量化转换残差;
    利用第三候选量化参数对所述当前节点的第三轴分量的坐标转换残差进行量化处理,确定所述当前节点的第三轴分量的量化转换残差。
  37. 根据权利要求36所述的方法,其中,预设的量化参数表包括第一量化参数数组、第二量化参数数组和第三量化参数数组;所述方法还包括:
    根据所述第一量化参数数组和所述第一候选量化参数,确定所述候选量化参数对应的第一候选量化参数索引值;
    根据所述第二量化参数数组和所述第二候选量化参数,确定所述候选量化参数对应的第二候选量化参数索引值;
    根据所述第三量化参数数组和所述第三候选量化参数,确定所述候选量化参数对应的第二候选量化参数索引值;
    将所述第一候选量化参数索引值、所述第二候选量化参数索引值和所述第三候选量化参数索引值确定为所述候选参数组合的预编码信息;
    其中,所述第一量化参数数组用于指示所述第一轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系,所述第二量化参数数组用于指示所述第二轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系,所述第三量化参数数组用于指示所述第三轴分量对应的所述多种量化参数与多个量化参数索引值之间的映射关系。
  38. 根据权利要求28所述的方法,其中,所述根据所述目标预测模式和所述目标量化参数对所述当前节点进行编码处理,确定所述当前节点的编码信息,包括:
    根据所述目标预测模式,确定所述当前节点在第一坐标系下的目标预测残差和所述当前节点在第二坐标系下的目标坐标转换残差;
    利用所述目标量化参数对所述当前节点在第二坐标系下的目标坐标转换残差进行量化处理,确定所述当前节点在第二坐标系下的目标量化转换残差;
    根据所述目标预测模式、所述目标量化参数、所述当前节点在第一坐标系下的目标预测残差和所述当前节点在第二坐标系下的目标量化转换残差,确定所述当前节点的编码信息。
  39. 根据权利要求38所述的方法,其中,所述方法还包括:
    根据所述目标预测模式,确定所述当前节点的方位角分量的目标预测值和所述当前节点的深度分量的目标预测值;
    根据所述当前节点的方位角分量的原始值与所述当前节点的方位角分量的目标预测值,确定所述当前节点的方位角分量的预测残差值;以及根据所述目标量化参数对所述当前节点的方位角分量的预测残差值进行量化处理,确定所述当前节点的方位角分量的量化残差值;
    根据所述当前节点的深度分量的原始值与所述当前节点的深度分量的目标预测值,确定所述当前节点的深度分量的预测残差值;
    将所述当前节点的方位角分量的量化残差值和所述当前节点的深度分量的预测残差值确定为所述当前节点在第一坐标系下的目标预测残差。
  40. 根据权利要求39所述的方法,其中,所述方法还包括:
    对所述目标预测模式、所述目标量化参数、所述当前节点的深度分量的预测残差值、所述当前节点的方位角分量的量化残差值和所述当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
  41. 根据权利要求39所述的方法,其中,所述方法还包括:
    根据预设的量化参数表和所述目标量化参数,确定所述目标量化参数对应的目标量化参数索引值;
    对所述目标预测模式、所述目标量化参数索引值、所述当前节点的深度分量的预测残差值、所述当前节点的方位角分量的量化残差值和所述当前节点在第二坐标系下的目标量化转换残差进行编码,将所得到的编码比特写入码流。
  42. 根据权利要求40或41所述的方法,其中,所述方法还包括:
    在所述目标预测模式下,确定所述当前节点与父节点之间的跳过点数;
    对所述跳过点数进行编码,将所得到的编码比特写入码流。
  43. 一种码流,其中,所述码流是根据待编码信息进行比特编码生成的;其中,所述待编码信息包括下述至少一项:
    目标预测模式、目标量化参数索引值、当前节点与父节点之间的跳过点数、所述当前节点在第一坐标系下的目标预测残差和所述当前节点在第二坐标系下的目标量化转换残差。
  44. 一种编码器,所述编码器包括第一确定单元、第一预编码单元和编码单元;其中,
    所述第一确定单元,配置为确定初始点云对应的预测树结构;
    所述第一预编码单元,配置为通过多种预测模式对所述预测树结构的当前节点进行预编码处理,确定多种预测模式各自的预编码信息;其中,所述预编码信息至少包括:所述预测模式、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差;
    所述第一确定单元,还配置为根据所述多种预测模式各自的预编码信息,在所述多种预测模式中确定目标预测模式;
    所述编码单元,配置为根据所述目标预测模式对所述当前节点进行编码处理,确定所述当前节点的编码信息,并将所述编码信息写入码流。
  45. 一种编码器,所述编码器包括第一确定单元、第一预编码单元和编码单元;其中,
    所述第一确定单元,配置为确定初始点云对应的预测树结构;
    所述预编码单元,配置为通过多种预测模式和多种量化参数对所述预测树结构的当前节点进行预编码处理,确定多种参数组合各自的预编码信息;其中,不同的所述参数组合对应不同的所述预测模式和所述量化参数,所述预编码信息至少包括:所述预测模式、所述量化参数、所述当前节点在第一坐标系下的预测残差和所述当前节点在第二坐标系下的坐标转换残差;
    所述第一确定单元,还配置为根据所述多种参数组合各自的预编码信息,在所述多种参数组合中确定目标预测模式和目标量化参数;
    所述编码单元,配置为根据所述目标预测模式和所述目标量化参数对所述当前节点进行编码处理,确定所述当前节点的编码信息,并将所述编码信息写入码流。
  46. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至17任一项所述的方法、或者如权利要求28至42任一项所述的方法。
  47. 一种解码器,所述解码器包括解析单元、第二确定单元和第二反量化单元;其中,
    所述解析单元,配置为解析码流,确定当前节点的目标预测模式;
    所述第二确定单元,配置为根据所述目标预测模式,确定所述当前节点在预设坐标系下的目标预测值;
    所述解析单元,还配置为解析码流,确定所述当前节点的目标量化参数和所述当前节点在预设坐标系下的目标量化预测残差;
    所述第二反量化单元,配置为根据所述目标量化参数对所述当前节点在预设坐标系下的目标量化预测残差进行反量化处理,确定所述当前节点在预设坐标系下的目标反量化预测残差;
    所述第二确定单元,还配置为根据所述当前节点在预设坐标系下的所述目标反量化预测残差与所述目标预测值,确定所述当前节点在预设坐标系下的目标重建值;以及根据所述当前节点在预设坐标系下的目标重建值,确定重建点云。
  48. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求18至27任一项所述的方法。
  49. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至17任一项所述的方法、或者如权利要求18至27任一项所述的方法、或者如权利要求28至42任一项所述的方法。
PCT/CN2022/122652 2022-09-29 2022-09-29 编解码方法、码流、编码器、解码器以及存储介质 WO2024065406A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/122652 WO2024065406A1 (zh) 2022-09-29 2022-09-29 编解码方法、码流、编码器、解码器以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/122652 WO2024065406A1 (zh) 2022-09-29 2022-09-29 编解码方法、码流、编码器、解码器以及存储介质

Publications (1)

Publication Number Publication Date
WO2024065406A1 true WO2024065406A1 (zh) 2024-04-04

Family

ID=90475281

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/122652 WO2024065406A1 (zh) 2022-09-29 2022-09-29 编解码方法、码流、编码器、解码器以及存储介质

Country Status (1)

Country Link
WO (1) WO2024065406A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382242A (zh) * 2021-05-20 2021-09-10 北京大学深圳研究生院 码率控制方法、装置、设备及计算机可读存储介质
WO2021207431A1 (en) * 2020-04-07 2021-10-14 Apple Inc. Improved predictive coding for point cloud compression
CN113709498A (zh) * 2020-05-20 2021-11-26 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN113784129A (zh) * 2020-06-10 2021-12-10 Oppo广东移动通信有限公司 点云质量评估方法、编码器、解码器及存储介质
WO2022075786A1 (ko) * 2020-10-07 2022-04-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021207431A1 (en) * 2020-04-07 2021-10-14 Apple Inc. Improved predictive coding for point cloud compression
CN113709498A (zh) * 2020-05-20 2021-11-26 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN113784129A (zh) * 2020-06-10 2021-12-10 Oppo广东移动通信有限公司 点云质量评估方法、编码器、解码器及存储介质
WO2022075786A1 (ko) * 2020-10-07 2022-04-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN113382242A (zh) * 2021-05-20 2021-09-10 北京大学深圳研究生院 码率控制方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
JP2023543752A (ja) 点群コーデック方法及びシステム、並びに点群エンコーダ及び点群デコーダ
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065408A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065270A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065269A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065271A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024145933A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024082152A1 (zh) 编解码方法及装置、编解码器、码流、设备、存储介质
WO2024103304A1 (zh) 点云编解码方法、编码器、解码器、码流及存储介质
WO2024145913A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024145912A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065272A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024145935A1 (zh) 点云编解码方法、装置、设备及存储介质
EP4395315A1 (en) Point cloud encoding and decoding methods, encoder, decoder and storage medium
WO2024145934A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024119518A1 (zh) 编解码方法、解码器、编码器、码流及存储介质
RU2778377C1 (ru) Способ и устройство для кодирования облака точек
WO2024082135A1 (zh) 编解码方法、编解码器、码流以及计算机存储介质
WO2023123471A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
US20230082456A1 (en) Point cloud attribute prediction method and apparatus, and related device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22960043

Country of ref document: EP

Kind code of ref document: A1