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

CN119895809APending Publication Date: 2025-04-25GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280100101.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-10-17
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The encoding and decoding complexity of existing point cloud compression algorithms is high, and the performance needs to be improved, especially in terms of attribute compression, which suffers from low efficiency.

Method used

In the encoding and decoding process, the attribute probability prediction network is used to down-sample and up-sample the voxels of point cloud data, and use the decoded attribute information to predict and encode, reducing processing operations and improving prediction and encoding efficiency.

Benefits of technology

It reduces the complexity of encoding and decoding and improves performance, achieving more efficient point cloud data processing and storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895809A_ABST
    Figure CN119895809A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an encoding and decoding method, a decoder, an encoder, a code stream and a computer readable storage medium, and the method comprises the steps: analyzing the code stream, and determining attribute encoding information corresponding to a first scale point cloud; performing first scale prediction based on the decoded attribute information of the second scale point cloud, and determining attribute prediction information of the first scale point cloud; wherein the second scale point cloud is decoded point cloud data of a previous scale father node of the first scale point cloud; carrying out probability prediction on the attribute prediction information by adopting an attribute probability prediction network, and determining the occupancy probability of the first scale point cloud; and decoding the attribute coding information based on the occupancy probability, and determining the attribute information of the first scale point cloud.
Need to check novelty before this filing date? Find Prior Art

Description

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

[0001] The present application relates to point cloud compression coding and decoding technology, and in particular to a coding and decoding method, decoder, encoder, code stream and storage medium. Background Art

[0002] A point cloud is a collection of points that can store the geometric position and related attribute information of each point, thereby accurately and three-dimensionally describing objects in space. The amount of point cloud data is huge, and a frame of point cloud can contain millions of points. This also brings great difficulties and challenges to the effective storage and transmission of point clouds. Therefore, compression technology is used to reduce redundant information in point cloud storage, thereby facilitating subsequent processing. Depending on the object of compression, point cloud compression can be divided into two categories: geometry compression and attribute compression, which correspond to compressed coordinate information and attribute information respectively, and the two are compressed independently. That is, the coordinate information is first compressed using a geometric compression algorithm, and then the attribute information is compressed using a separate attribute compression algorithm with the coordinates as known information.

[0003] Currently, attribute compression algorithms are all implemented based on traditional codec methods. Attribute compression algorithms can be categorized into two main techniques: prediction and transformation. For example, the attribute compression methods in the standard point cloud compression algorithm G-PCC (Geometry-based Point Cloud Compression), developed by the Moving Picture Experts Group (MPEG), include two different modes: Predlift and RAHT. Predlift is a prediction-based compression technology. Its basic principle is to divide the point cloud into different levels of detail (LoD + Predlift) based on the distance between points. Predlift then predicts each level, quantizing and entropy coding the prediction residuals. RAHT, on the other hand, is a transformation-based compression technology. Its basic principle is to decompose the point cloud into high-frequency and low-frequency components using a wavelet transform at each scale and direction. These components are then quantized and entropy coded based on their importance. These methods all use rule-based calculations for prediction / transformation, such as distance-based weighted averaging and orthogonal transformation matrices constructed based on the number of points.

[0004] However, the encoding and decoding complexity of traditional encoding and decoding methods is high, and the encoding and decoding performance needs to be improved.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a coding and decoding method, a decoder, an encoder, a code stream and a storage medium, which can reduce coding and decoding complexity and improve coding and decoding performance.

[0007] The technical solution of this application is achieved as follows:

[0008] In a first aspect, an embodiment of the present application provides a decoding method, comprising:

[0009] Parse the code stream to determine the attribute coding information corresponding to the first-scale point cloud;

[0010] Predicting the first scale based on the decoded attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud; wherein the second-scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first-scale point cloud;

[0011] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0012] The attribute encoding information is decoded based on the occupancy probability to determine attribute information of the first-scale point cloud.

[0013] In a second aspect, an embodiment of the present application provides an encoding method, including:

[0014] Downsampling the point cloud data sequentially until it is divided into single voxels, thereby obtaining multiple scale point clouds; the multiple scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is point cloud data of a parent node of a previous scale of the first scale point cloud;

[0015] During encoding of the first-scale point cloud, performing a first-scale prediction based on the attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud;

[0016] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0017] Attribute information of the first-scale point cloud is encoded based on the occupancy probability to determine attribute encoding information of the first-scale point cloud.

[0018] In a third aspect, an embodiment of the present application provides a decoder, including:

[0019] The decoding part is configured to parse the code stream and determine the attribute encoding information corresponding to the first scale point cloud;

[0020] A first prediction section is configured to perform a prediction of the first scale based on the decoded attribute information of the second scale point cloud, and determine the attribute prediction information of the first scale point cloud; wherein the second scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first scale point cloud; and

[0021] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0022] The decoding part is further configured to decode the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud.

[0023] In a fourth aspect, an embodiment of the present application provides an encoder, including:

[0024] The division part is configured to sequentially perform voxel downsampling on the point cloud data until a single voxel is divided, thereby obtaining a plurality of scale point clouds; the plurality of scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is point cloud data of a parent node of a previous scale of the first scale point cloud;

[0025] The second prediction part is configured to perform a first-scale prediction based on the attribute information of the second-scale point cloud during encoding of the first-scale point cloud, and determine the attribute prediction information of the first-scale point cloud; and

[0026] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0027] The encoding part is configured to encode the attribute information of the first-scale point cloud based on the occupancy probability and determine the attribute encoding information of the first-scale point cloud.

[0028] In a fifth aspect, an embodiment of the present application further provides a decoder, including:

[0029] a first memory configured to store executable instructions;

[0030] The first processor is configured to implement the decoding method described in the first aspect when executing the executable instructions stored in the first memory.

[0031] In a sixth aspect, an embodiment of the present application further provides an encoder, including:

[0032] a second memory configured to store executable instructions;

[0033] The second processor is configured to implement the encoding method described in the second aspect when executing the executable instructions stored in the second memory.

[0034] In a seventh aspect, an embodiment of the present application provides a code stream, including:

[0035] The code stream is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least: attribute encoding information of multiple scale point clouds, multiple quantization errors, and reconstructed geometric information of multiple scale point clouds, wherein the reconstructed geometric information of the multiple scale point clouds includes the reconstructed geometric information of the first scale point cloud.

[0036] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium storing executable instructions for causing a first processor to execute and implement the decoding method described in the first aspect, or for causing a second processor to execute and implement the encoding method described in the second aspect.

[0037] Embodiments of the present application provide a coding and decoding method, a decoder, an encoder, a bitstream, and a storage medium. When decoding a first-scale point cloud at the decoder, attribute information of the decoded second-scale point cloud is used to predict the first scale, thereby predicting the first-scale point cloud and its attribute prediction information. The attribute prediction information is then input into an attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network is used in a lossless decoding process. During decoding, the occupancy probability is determined by the attribute probability prediction network. The use of the attribute probability prediction network avoids many processing operations, reduces decoding complexity, and speeds up the prediction of the occupancy probability, thereby improving the processing efficiency of the prediction process. In this way, if the occupancy probability is used to decode the attribute coding information, the decoding efficiency and decoding performance can be improved.

[0038] In the encoder, through the processing between scales, the first scale is predicted based on the attribute information of the second-scale point cloud, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless coding process, and then the occupancy probability is determined by the attribute probability prediction network during encoding. The use of the attribute probability prediction network avoids many processing operations, reduces the coding complexity, and at the same time speeds up the prediction speed of the occupancy probability, and improves the processing efficiency of the prediction process. In this way, if the occupancy probability is used to encode the attribute information, the coding efficiency and coding performance can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] FIG1 is a flow chart of G-PCC coding;

[0040] FIG2 is a flow chart of G-PCC decoding;

[0041] FIG3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;

[0042] FIG4 is a schematic diagram showing attribute information of a voxel provided in an embodiment of the present application;

[0043] FIG5A is a schematic diagram of an optional implementation of voxel upsampling provided in an embodiment of the present application;

[0044] FIG5B is an optional schematic diagram showing attribute information and attribute prediction information during voxel upsampling according to an embodiment of the present application;

[0045] FIG6 is a schematic diagram of an optional structure of an attribute probability prediction network provided in an embodiment of the present application;

[0046] FIG7 is a schematic diagram of another optional flow chart of the decoding method provided in an embodiment of the present application;

[0047] FIG8 is a schematic diagram of an optional process of grouping provided in an embodiment of the present application;

[0048] FIG9 is an optional schematic diagram of a process of sequentially decoding groups provided in an embodiment of the present application;

[0049] FIG10 is a schematic diagram of another optional flow chart of the decoding method provided in an embodiment of the present application;

[0050] FIG11 is a schematic diagram illustrating an optional process of predicting occupancy probabilities between different color components according to an embodiment of the present application;

[0051] FIG12 is a schematic diagram of another optional flow chart of the decoding method provided in an embodiment of the present application;

[0052] FIG13 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application;

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

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

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

[0056] FIG17 is a schematic diagram of an optional process of applying the encoding and decoding method provided in an embodiment of the present application to an actual scenario;

[0057] FIG18 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;

[0058] FIG19 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;

[0059] FIG20 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application;

[0060] Figure 21 is a schematic diagram of an optional structure of the encoder provided in an embodiment of the present application. DETAILED DESCRIPTION

[0061] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

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

[0063] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

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

[0065] Before further explaining the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0066] Before further explaining the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained first. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:

[0067] Geometry-based Point Cloud Compression (G-PCC or GPCC);

[0068] Video-based Point Cloud Compression (V-PCC or VPCC);

[0069] Octree;

[0070] Bounding Box;

[0071] Level of Detail (LOD);

[0072] Predicting Transform;

[0073] Lifting Transform;

[0074] Region Adaptive Hierarchal Transform (RAHT);

[0075] Luminance component (Luminance, Luma or Y);

[0076] Chroma blue (Cb);

[0077] Red chroma component (Chroma red, Cr);

[0078] 1) Voxel: Voxel, short for volume element, is the smallest unit of digital data used in three-dimensional space. Voxels allow for the gridding of 3D space and the assignment of characteristics to each grid. For example, a voxel is a fixed-size cube in three-dimensional space. Voxels are widely used in fields such as 3D imaging, scientific data, and medical imaging.

[0079] 2) Point Cloud refers to a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or three-dimensional scene.

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

[0081] A point cloud refers to a collection of massive three-dimensional points. The points in the point cloud may include the location information of the points and the attribute information of the points. For example, the location information of the points may be the three-dimensional coordinate information of the points. The location information of the points may also be referred to as the geometric information of the points. For example, the attribute information of the points may include color information and / or reflectivity, etc. For example, the color information may be information on any color space. For example, the color information may be RGB information. Wherein, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B). For another example, the color information may be luminance and chrominance (YCbCr, YUV) information. Wherein, Y represents brightness, Cb (U) represents blue chrominance, and Cr (V) represents red chrominance. Alternatively, the color information may be luminance and chrominance (YCKCg) information. Wherein, Y represents brightness, Co represents orange chrominance, Cg represents green chrominance, etc., which is not limited in the embodiments of the present application.

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

[0083] The first type of static point cloud: the object is stationary and the device used to obtain the point cloud is also stationary;

[0084] The second type of dynamic point cloud: the object is moving, but the device that obtains the point cloud is stationary;

[0085] The third type of dynamic point cloud acquisition: the device that acquires the point cloud is moving.

[0086] The uses of point clouds can be divided into two categories:

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

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

[0089] Since point clouds are a collection of massive points, storing point clouds not only consumes a lot of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of point clouds at the network layer without compression. Therefore, point clouds need to be compressed.

[0090] Point cloud compression algorithms include two schemes developed by the Moving Picture Experts Group (MPEG), namely Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC). Among them, the geometric compression in G-PCC is mainly implemented through an octree model and / or a triangular surface model. V-PCC is mainly implemented through three-dimensional to two-dimensional projection and video compression. In addition, the G-PCC encoding and decoding framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, and the V-PCC encoding and decoding framework can be used to compress the second type of dynamic point cloud. In the embodiment of the present application, it can be described based on the principle implementation of the G-PCC encoding and decoding framework.

[0091] Point cloud is a three-dimensional data format that uses a large number of discrete three-dimensional coordinate points (x, y, z) and their attributes (such as color Y, Co, Cg) to represent the three-dimensional information of objects and scenes. Its data volume is huge, and a high-performance point cloud compression algorithm is required. Depending on the compressed object, point cloud compression can be divided into two categories: geometry compression and attribute compression, which correspond to compressed coordinate information and attribute information respectively. The two are usually compressed separately, that is, the coordinate information is first compressed using a geometry compression algorithm, and then the attribute information is compressed using a separate attribute compression algorithm with the coordinates as known information. The present application belongs to an attribute compression algorithm under this mode.

[0092] Current attribute compression algorithms are all based on traditional non-neural network methods. They can be roughly divided into two types: prediction and transformation. Taking the attribute compression method in the point cloud compression algorithm G-PCC as an example, there are two different modes: Predlift and RAHT. Predlift is a compression technology with prediction as its core. Its basic principle is to divide the point cloud into different detail layers (LoD+Predlift) according to the distance between points, and then predict layer by layer, and quantize and entropy encode the prediction residual. RAHT is a compression technology with transformation as its core. Its basic principle is to decompose the point cloud into high-frequency and low-frequency components through wavelet transform by scale and direction, and then quantize and entropy encode different components according to their importance. These methods all use rule-based calculation methods for prediction / transformation, such as weighted average based on distance and orthogonal transformation matrix constructed based on the number of points.

[0093] However, with the development of artificial intelligence technology, neural networks have been applied to geometry-based point cloud compression technology or attribute lossy compression technology, but there is a lack of technology for attribute lossless compression.

[0094] The embodiments of the present application provide a coding and decoding method, a decoder, an encoder, a code stream and a computer-readable storage medium, which can improve coding and decoding efficiency and improve coding and decoding performance. In order to facilitate the understanding of the technical solution provided by the embodiments of the present application, a flow chart of G-PCC encoding and a flow chart of G-PCC decoding are first provided. It should be noted that the flow chart of G-PCC encoding and the flow chart of G-PCC decoding described in the embodiments of the present application are only for more clearly illustrating the technical solution of the embodiments of the present application, and do not constitute a limitation on the technical solution provided by the embodiments of the present application. It is known to those skilled in the art that with the evolution of point cloud compression technology and the emergence of new business scenarios, the technical solution provided by the embodiments of the present application is also applicable to point cloud coding and decoding architectures similar to G-PCC. The point cloud compressed by the embodiments of the present application can be a point cloud in a video, but is not limited to this.

[0095] In the point cloud G-PCC encoder framework, the point cloud of the input 3D image model is sliced ​​and each slice is encoded independently.

[0096] As shown in the G-PCC encoding flow diagram in Figure 1, the encoder first divides the point cloud data to be encoded into multiple slices using striping. Within each slice, the point cloud's geometric and attribute information are encoded separately. During the geometric encoding process, the geometric information undergoes coordinate transformation so that the entire point cloud is contained within a bounding box. Quantization then occurs. Quantization primarily serves a scaling purpose. Due to quantization rounding, the geometric information of some point clouds remains the same, allowing for parameter-based decision-making regarding whether to remove duplicate points. This process of quantization and removing duplicate points is also known as voxelization. The bounding box is then partitioned into an octree. In the octree-based geometric information encoding process, the bounding box is divided into eight equal parts. The sub-cubes that are not empty (contain points in the point cloud) are further divided into eight equal parts until the resulting leaf nodes are 1x1x1 unit cubes. The points in the leaf nodes are then arithmetic-coded to generate a binary geometric bitstream, or geometry codestream. In the process of geometric information encoding based on triangle soup (trisoup), octree partitioning must also be performed first. However, unlike the geometric information encoding based on octree, the trisoup does not need to divide the point cloud into unit cubes with a side length of 1x1x1 step by step. Instead, the division stops when the sub-block (block) has a side length of W. Based on the surface formed by the distribution of the point cloud in each block, the surface and the twelve edges of the block are obtained. The vertices are arithmetically encoded (surface fitting is performed based on the intersections) to generate a binary geometric bit stream, i.e., a geometric code stream. Vertex is also used to implement the process of geometric reconstruction, and the reconstructed geometric information is used when encoding the attributes of the point cloud.

[0097] During attribute encoding, color conversion is performed to convert color information (i.e., attribute information) from the RGB color space to the YUV or YCoCg color space. The reconstructed geometric information is then used to recolor the point cloud, aligning the unencoded attribute information with the reconstructed geometric information. There are two main transformation methods for color information encoding: a distance-based lifting transform that relies on level of detail (LOD) partitioning, and a direct Region Adaptive Hierarchal Transform (RAHT) transformation. Both methods convert color information from the spatial domain to the frequency domain, obtaining high- and low-frequency coefficients. These coefficients are then quantized (i.e., quantized coefficients). Finally, the geometrically encoded data (octree partitioning and surface fitting) is sliced ​​and synthesized with the attribute-encoded data (quantized coefficients). The vertex coordinates of each block are then encoded (i.e., arithmetic encoding) to generate a binary attribute bitstream, i.e., the attribute bitstream.

[0098] The flowchart of G-PCC decoding shown in Figure 2 is applied to the decoder. The decoder obtains the binary code stream and independently decodes the geometric bit stream (i.e., geometric code stream) and attribute bit stream in the binary code stream. When decoding the geometric bit stream, the geometric information of the point cloud is obtained through arithmetic decoding-octree synthesis-surface fitting-reconstruction geometry-inverse coordinate transformation; when decoding the attribute bit stream, the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD-based inverse lifting or RAHT-based inverse transformation-inverse color conversion, and the three-dimensional image model of the point cloud data to be encoded is restored based on the geometric information and attribute information.

[0099] The encoding method provided in the embodiment of the present application can be understood as being applied to the attribute information encoding process of the G-PCC as shown in Figure 1. After the recoloring is completed, in the process of encoding the divided first-scale point cloud, the first-scale prediction is performed based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud; the attribute probability prediction network is used to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud; the attribute information of the first-scale point cloud is encoded based on the occupancy probability to determine the attribute coding information of the first-scale point cloud, thereby replacing the processing process of generating the LOD-lifting-quantization-arithmetic coding branch in Figure 1 to achieve lossless coding, that is, lossless compression. The encoding process of the embodiment of the present application can adopt the arithmetic coding method in Figure 1, such as entropy coding. Through the arithmetic coding process, the attribute information of the first-scale point cloud is encoded, the attribute coding information of the first-scale point cloud is determined, and the attribute bit stream (code stream) is written.

[0100] The decoding method provided in the embodiment of the present application can be understood as being applied to the attribute information decoding process of the G-PCC as shown in FIG2 , wherein the attribute encoding information corresponding to the first-scale point cloud is determined by parsing the attribute bitstream; the first-scale prediction is performed based on the decoded attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud; wherein the second-scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first-scale point cloud; an attribute probability prediction network is used to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud; the attribute encoding information is decoded based on the occupancy probability to determine the attribute information of the first-scale point cloud, thereby replacing the processing process of the arithmetic decoding-dequantization-LOD generation-inverse lifting branch in FIG2 to achieve lossless decoding. The decoding process of the embodiment of the present application can adopt the arithmetic decoding method in FIG2 , such as entropy decoding.

[0101] It should be noted that the encoding method and decoding method of the embodiments of the present application can also be used in other point cloud encoding and decoding processes besides G-PCC to achieve lossless compression of attribute information.

[0102] The following describes a decoding method applied to a decoder provided in an embodiment of the present application.

[0103] Referring to FIG3 , FIG3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application, the method comprising:

[0104] S101: Parse the code stream to determine attribute coding information corresponding to the first-scale point cloud.

[0105] In the embodiments of the present application, the decoder decodes points or nodes in a point cloud or point cloud data. Because the encoder spatially divides the point cloud data during encoding, it can obtain multiple strips, or slices. The encoding method or decoding method provided in the embodiments of the present application is applied to the point cloud in each slice. Therefore, when decoding, the decoder decodes the point cloud in each slice, and finally performs another slicing to obtain the complete decoded information, thereby obtaining a 3D image model.

[0106] In the embodiment of the present application, the encoder divides the point cloud to be encoded of each slice or point cloud data (when strip division is not performed) into point cloud structures of different scales corresponding to the attribute information, and performs attribute encoding on each scale of the point cloud starting from the smallest point cloud. Therefore, in the process of decoding the attribute information, the decoder also decodes the points in the point clouds of different scales in order from small to large (or from low to high), determines the attribute information of different scales, and finally obtains the decoded information of all scales of all slices, and then obtains the three-dimensional image model.

[0107] The following describes the detailed decoding process of a scale point cloud (first scale point cloud).

[0108] It should be noted that the decoder can parse the attribute coding information (encoded attribute information) corresponding to the first-scale point cloud from the code stream. In an embodiment of the present application, the code stream usually contains the encoding information (such as attribute coding information) corresponding to the point cloud of at least one scale transmitted by the encoder. When decoding, the decoder decodes in order from low scale to high scale. That is, before decoding the attribute coding information corresponding to the first-scale point cloud, the decoder has completed the decoding of the attribute coding information of the previous scale point cloud of the first-scale point cloud, that is, the second-scale point cloud, and determined the attribute information of the decoded second-scale point cloud. In this way, the decoder can use the attribute information of the decoded second-scale point cloud of the previous scale to decode the attribute coding information corresponding to the first-scale point cloud of the current scale.

[0109] It should be noted that in the embodiment of the present application, since the encoder can voxelize each scale point cloud when performing attribute encoding, the points are represented in the form of a voxel grid.

[0110] In an embodiment of the present application, for the voxelization process, at least one point in the point cloud may correspond to an occupied voxel (i.e., a non-empty voxel or an occupied voxel), and an unoccupied voxel (i.e., an empty voxel or an unoccupied voxel) indicates that there is no point in the point cloud at the voxel position. In some embodiments, occupied voxels can be marked with different attribute information, and unoccupied voxels have no attribute information. In this way, the voxelized point clouds of different scales can represent the attribute information of point clouds of different scales through the information of voxels at various positions in the voxel grid. Accordingly, during the decoding process, when the decoder decodes the first-scale point cloud, it can parse each first-scale voxel in turn to complete the decoding.

[0111] In the embodiment of the present application, parsing the code stream to determine the attribute coding information corresponding to the first-scale point cloud can also be understood as parsing the code stream to obtain the attribute coding information of each first-scale voxel.

[0112] S102 : Predicting the first scale based on the decoded attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud; wherein the second-scale point cloud is decoded point cloud data of a parent node at a previous scale of the first-scale point cloud.

[0113] In this embodiment of the present application, when decoding a first-scale point cloud, the decoder can obtain decoded attribute information of a second-scale point cloud that has already been decoded. The second-scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first-scale point cloud, and the second scale is smaller than the first scale.

[0114] In the embodiment of the present application, the scale of the point cloud corresponds to the scale of the voxels in the point cloud. That is, the voxels contained in the first-scale point cloud correspond to the first-scale voxels, and the voxels contained in the second-scale point cloud correspond to the second-scale voxels.

[0115] It should be noted that since the second-scale point cloud is obtained by voxel downsampling of the first-scale point cloud, a point contained in a second-scale voxel of the second-scale point cloud can serve as the parent node of the points contained in multiple corresponding first-scale voxels in the first-scale point cloud.

[0116] In an embodiment of the present application, the decoder may infer the undecoded attribute information of the point cloud at the first scale based on the decoded attribute information of the point cloud at the second scale, and obtain the predicted attribute prediction information.

[0117] In the embodiment of the present application, prediction or inference is performed by unpooling operation between different scales. The voxels at the first scale are upsampled voxels corresponding to the voxels at the second scale.

[0118] In some embodiments of the present application, the decoder performs voxel upsampling on the second-scale point cloud to determine n first voxels at the first scale, where n is an integer greater than 1. The decoder determines attribute prediction information corresponding to the n first voxels at the first scale based on the decoded attribute information of the second-scale point cloud, thereby obtaining the attribute prediction information of the first-scale point cloud.

[0119] The first voxel in this application is a first-scale voxel, and the second voxel is a second-scale voxel.

[0120] It should be noted that the decoder can perform voxel upsampling on the second-scale voxels in the second-scale predicted point cloud to obtain first-scale voxels corresponding to the first scale. For example, upsampling is performed on the second-scale voxels representing occupied space in the second-scale point cloud to obtain multiple first-scale voxels at the first scale corresponding to each second-scale voxel. In other words, when the second-scale point cloud includes multiple second-scale voxels, each second-scale voxel can be upsampled to obtain multiple first voxels corresponding to the corresponding scale, thereby obtaining n first voxels at the first scale corresponding to the multiple second voxels.

[0121] In an embodiment of the present application, the decoder performs upsampling processing on the second-scale point cloud and upsamples the second-scale point cloud to the first scale. It can be understood that since the second scale is lower than the first scale, when the second-scale point cloud is upsampled, multiple upsampled voxels (i.e., multiple first voxels) corresponding to a voxel of the second scale will be obtained. Whether each of the multiple upsampled voxels contains the point in the point cloud, if it does, it can be predicted through the subsequent occupancy probability prediction process. Here, the decoder divides the upsampled voxels (n first voxels) obtained by upsampling, determines m groups of first voxels, and performs subsequent prediction processing in a group-based manner. Wherein, m is an integer greater than or equal to 1.

[0122] It should be noted that when the encoder downsamples the first-scale point cloud to determine the second-scale point cloud, the averaging operation of the attribute information during the downsampling process produces decimals. These decimals are quantized using rounding, and the resulting decimals are the quantization error. Therefore, when the encoder downsamples to adjacent scales, quantization error occurs between scales. This allows the decoder to perform dequantization before upsampling during the upsampling process, achieving lossless decoding.

[0123] In some embodiments of the present application, when decoding a first-scale point cloud, the decoder can determine the decoded attribute information of the second-scale point cloud. Alternatively, the decoder can parse the bitstream to determine the quantization error when downsampling the first-scale point cloud to the second-scale point cloud. The decoder uses the quantization error to dequantize the decoded attribute information of the second-scale point cloud to determine the corrected attribute information of the second-scale point cloud. The decoder then uses the corrected attribute information of the second voxel of the second-scale point cloud to which each of the n first voxels at the first scale belongs as attribute prediction information corresponding to each first voxel.

[0124] It should be noted that the decoder can superimpose the decoded attribute information of the second-scale point cloud with its corresponding quantization error to obtain the corrected attribute information of the second-scale point cloud. The second-scale point cloud may include multiple second-scale voxels (e.g., K second voxels, where K is an integer greater than or equal to 1). For each second-scale voxel, a quantization error corresponds to each second-scale voxel. Each second-scale voxel is superimposed with its corresponding quantization error to determine the corrected attribute information corresponding to each second-scale voxel of the second-scale point cloud. Since each second-scale voxel corresponds to multiple first-scale voxels (i.e., multiple first voxels), the corrected attribute information corresponding to each second-scale voxel is the average of the attribute information of the corresponding multiple first-scale voxels. In other words, for the n first voxels corresponding to the first scale (i.e., n first-scale voxels), the corrected attribute information of the parent node of the previous scale corresponding to each first voxel is determined as the average of the attribute information of each first voxel.

[0125] In the embodiment of the present application, the decoder determines the average value of the attribute information of the second-scale point cloud corresponding to each of the n first voxels at the first scale as the attribute prediction information corresponding to each first voxel.

[0126] Since each second-scale voxel or second voxel corresponds to multiple first-scale voxels or multiple first voxels, the attribute prediction information corresponding to at least one first voxel with the same second voxel as a parent node among the n first voxels is consistent.

[0127] It should be noted that each first voxel does not necessarily contain a point in the point cloud, so only when the first voxel is occupied can the occupied first voxel be determined to have attribute prediction information.

[0128] Exemplarily, the attribute information or attribute value of each voxel is represented by numbers or color depth or different marks, which are not limited in the embodiments of the present application. The occupied voxels in the point cloud are represented by solid cubes, which represent the attribute information of the points in the point cloud. The unoccupied voxels in the point cloud are represented by empty cubes, which represent that there are no points in the point cloud and no attribute information, or the attribute information is empty. As shown in Figure 4, each cube represents a voxel, and the attribute information corresponding to each voxel containing the points in the point cloud is represented by numbers. As shown in Figure 4, 8, 5, 9, 7, 3, and 5 are used to represent the attribute information of each voxel.

[0129] It should be noted that the attribute information in the embodiments of the present application may include color components, specifically color information in any color space. For example, the attribute information may be color information in an RGB space, a YUV space, a YCbCr space, or a YCoCg space, etc., and the embodiments of the present application do not impose any limitations thereon.

[0130] In an embodiment of the present application, a color component may include at least one of the following: a first color component, a second color component, and a third color component. Thus, taking the attribute information as a color component as an example, if the color component conforms to the RGB color space, then the first color component, the second color component, and the third color component can be determined to be, in order: R component, G component, and B component; if the color component conforms to the YUV color space, then the first color component, the second color component, and the third color component can be determined to be, in order: Y component, U component, and V component; if the color component conforms to the YCbCr color space, then the first color component, the second color component, and the third color component can be determined to be, in order: Y component, Cb component, and Cr component. If the color component conforms to the YCoCg color space, then the first color component, the second color component, and the third color component can be determined to be, in order: Y component, Co component, and Cg component.

[0131] For example, when the attribute information is a color component, the value of the attribute information can be represented by a value between 0 and 255, which is not limited in the embodiment of the present application.

[0132] It can also be understood that in the embodiment of the present application, for each point in the point cloud, the attribute information of the point may include not only the color component but also the reflectivity, refractive index or other attributes, which is not specifically limited here.

[0133] Exemplarily, the voxel containing the point, that is, the occupied voxel, can use the average of the attribute information of each point as the attribute information of the voxel. As shown in Figure 5A, the second-scale point cloud includes 3 occupied second voxels, and each second voxel contains 8 first voxels (first-scale voxels) after voxel upsampling. As shown in Figure 5B, 3 second voxels in the second scale (Scale p-1, p is an integer greater than 1) are occupied, and the attribute information corresponding to these 3 second voxels is 8, 7, and 4 respectively. The quantization error between Scale p-1 and Scale p is 0, so the revised attribute information of the 3 second voxels is still 8, 7, and 4. After voxel upsampling, the attribute prediction information of the first voxel of the first scale (Scale p) corresponding to the second voxel with revised attribute information of 8 is 8, the attribute prediction information of the first voxel corresponding to the second voxel with revised attribute information of 7 is 7, and the attribute prediction information of the first voxel corresponding to the second voxel with revised attribute information of 4 is 4.

[0134] In some embodiments of the present application, the decoder may further determine the reconstructed geometric information of the first-scale point cloud from the bitstream.

[0135] In an embodiment of the present application, the decoder uses quantization error to dequantize the decoded attribute information of the second-scale point cloud to determine the revised attribute information of the second-scale point cloud; then, based on the revised attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud, a prediction of the first scale is performed to determine the attribute prediction information of the first-scale point cloud.

[0136] It should be noted that the decoder has already completed the geometry decoding process during attribute decoding, and can obtain the reconstructed geometry information of point clouds at different scales. Therefore, during the attribute decoding process, the decoder can use the reconstructed geometry information of the first-scale point cloud to determine which voxels in the first voxel obtained by upsampling the second-scale point cloud are occupied and which are unoccupied.

[0137] The reconstructed geometric information of the first-scale point cloud can determine the distribution of points in the first-scale point cloud, that is, the position information of the points corresponding to the first-scale voxels. This point position information can be used to determine the distribution of points contained in the first voxels corresponding to the first-scale point cloud. In this way, among the n first voxels obtained by voxel upsampling based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For these occupied first voxels, the attribute prediction information of these occupied first voxels can be determined based on the corrected attribute information of the second-scale point cloud. Once all first voxels are determined, the attribute prediction information of the first-scale point cloud is completely determined.

[0138] For example, as shown in FIG5B , a second voxel with attribute information of 8 corresponds to 1 first voxel, and its attribute prediction information is 8. A second voxel with attribute information of 7 corresponds to 3 first voxels, and its attribute prediction information is 7. A second voxel with attribute information of 4 corresponds to 2 first voxels, and its attribute prediction information is 4.

[0139] S103: Using an attribute probability prediction network, perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud.

[0140] In an embodiment of the present application, after the decoder determines the attribute prediction information of the first voxel of the first-scale point cloud, an attribute probability prediction network can be used to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first voxel.

[0141] In some embodiments of the present application, the attribute probability prediction network can be a sparse convolutional network-based attribute probability prediction (SparseCNN-based Attribute Probability Approximation, SAPA). The input of the attribute probability prediction network is attribute prediction information or attribute information value, and the output is probability model parameters. The decoder can determine the occupancy probability of the first voxel based on the probability model parameters of the first voxel, thereby completing the determination of the occupancy probability of the first-scale point cloud.

[0142] It should be noted that when using the attribute probability prediction network for probability prediction, the probability model parameters of each point contained in the voxel can be determined based on the attribute prediction information of multiple points in the first voxel, taking voxels as units.

[0143] In the embodiment of the present application, the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed as (μ, σ), which is not limited in the embodiment of the present application.

[0144] Exemplarily, the probability model parameters may include (μ, σ). Assume the attribute probability prediction network structure shown in Figure 6. X is the input attribute prediction information or attribute information, and the output is (μ, σ). The network structure consists of multiple layers of sparse convolution (SConv), and the network output is combined with X to determine the probability model parameters.

[0145] In some embodiments of the present application, the decoder inputs the attribute prediction information of each first voxel into the attribute probability prediction network for probability prediction, and determines at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud; based on at least one probability model parameter of each first voxel of the first-scale point cloud, the occupancy probability of the first-scale point cloud is determined.

[0146] In an embodiment of the present application, the first scale corresponds to n first voxels. After the decoder determines the attribute prediction information for the n first voxels, it can sequentially perform probability prediction on each first voxel. The decoder inputs the attribute prediction information for the current first voxel into an attribute probability prediction network for probability prediction, determines at least one probability model parameter for the current first voxel, and determines the occupancy probability of the current first voxel based on the at least one probability model parameter for the current first voxel. The decoder continues to perform probability prediction for the next first voxel until all first voxels are predicted, thereby obtaining the occupancy probability of each first voxel in the first-scale point cloud. Alternatively, the decoder inputs the attribute prediction information for the current first voxel into an attribute probability prediction network for probability prediction, determines at least one probability model parameter for the current first voxel, and continues to perform probability prediction for the next first voxel until all first voxels are predicted, thereby obtaining the at least one probability model parameter for each first voxel in the first-scale point cloud. Based on the at least one probability model parameter for each first voxel, the occupancy probability of each first voxel is determined, thereby completing the determination of the occupancy probability of the first-scale point cloud. That is, the occupancy probability of the first-scale point cloud includes the occupancy probability of each first voxel.

[0147] It should be noted that at least one probability model parameter can be two probability models, or one or more other parameters that ensure the overall numerical performance, and this embodiment of the application does not limit this.

[0148] In the embodiment of the present application, the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed as (μ, σ), which is not limited in the embodiment of the present application.

[0149] It should be noted that, in the embodiment of the present application, each first voxel may contain at least one point. When the decoder performs probability prediction, it makes predictions based on the points of each first voxel, and obtains at least one probability model parameter of each point.

[0150] In some embodiments of the present application, the decoder may determine the probability density distribution of each first voxel based on at least one probability model parameter of at least one point contained in each first voxel of the first-scale point cloud; based on the probability density distribution of each first voxel, an integral operation may be performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

[0151] It should be noted that in the embodiments of the present application, after the probability of each first voxel is predicted, at least one probability model parameter for each point on each first voxel is determined. Based on the at least one probability model parameter for each point on each first voxel, the probability density distribution of each first voxel can be determined. The occupancy probability of each first voxel can be obtained by performing an integral calculation within a preset range centered on each first voxel.

[0152] For example, as shown in formula (1), assuming that the attribute prediction information follows the Laplace distribution, at least one probability model parameter is (μ, σ), and according to each first voxel x i The mean and variance (μ i ,σ i ), determine the probability density distribution function of each first voxel And by x i Central The integral operation within the range obtains its probability p(x i ), which is the occupancy probability of the first voxel.

[0153]

[0154] S104: Decode the attribute encoding information based on the occupancy probability to determine attribute information of the first-scale point cloud.

[0155] In an embodiment of the present application, after the decoder obtains the occupancy probability information of each first voxel, it uses the occupancy probability of each first voxel to decode the attribute coding information corresponding to each first voxel of the first-scale point cloud, and determines the attribute information corresponding to each first voxel.

[0156] In some embodiments of the present application, the decoder may decode the first-scale point cloud in units of voxels, and further decode attribute information of each point contained in the first voxel.

[0157] It should be noted that the decoder can decode the attribute coding information of each first voxel based on the occupancy probability of the first voxel. The attribute coding information of the first-scale point cloud includes the attribute coding information corresponding to each first voxel.

[0158] In an embodiment of the present application, the process of the decoder processing between scales is as described in the aforementioned embodiment. In addition, the decoder can perform component processing for decoding according to the grouping between voxels at the same scale, and can also perform inter-channel processing of different color channels according to different color components to achieve decoding. It can also combine voxel grouping and different color components for decoding. The embodiment of the present application is not limited and will be described in the following embodiments.

[0159] It should be noted that the decoding method in the embodiments of this application can be applied to scalable encoding and decoding methods. That is, for multiple attribute encoding information of multiple scale point clouds sent by the encoder, the decoder can decode and reconstruct the point cloud to any scale in the order of decoding from low scale to high scale according to the actual decoding accuracy requirements. For example, the encoder writes and transmits the attribute encoding information of the first scale point cloud, the attribute encoding information of the second scale point cloud, and the attribute encoding information of the S+1 scale point cloud in the bitstream. The decoder can then decode from the S+1 scale point cloud to the third scale point cloud according to the preset accuracy requirements according to the decoding method provided in the embodiments of this application, predict the attribute information of the third scale point cloud, and then terminate the decoding without further decoding the attribute encoding information of the second scale and the attribute encoding information corresponding to the first scale point cloud. The specific selection is based on actual conditions and is not limited by the embodiments of this application.

[0160] It is understandable that the decoding method provided in the embodiment of the present application can be repeatedly applied between multiple adjacent scales, and the decoding between each group of adjacent scales is independent of each other, so scale-scalable decoding can be flexibly implemented.

[0161] It should be noted that each decoding process of the above decoder uses the decoded low-scale point cloud as known information to decode the attribute encoding information of the high-scale point cloud. For the first decoding process of the decoder, its known information can be a preset number of unencoded point cloud information sent by the encoder side. The encoder can use the preset number of point cloud information, such as the attribute information of 100 points in the point cloud, as the first known information and send it directly to the decoding end in an unencoded manner. This allows the decoder to directly use the attribute information of the preset number of points sent by the encoder to predict the point cloud of the corresponding scale without decoding the first known information, and to continue the subsequent decoding process.

[0162] It can be understood that when the decoder decodes the first-scale point cloud, the attribute information of the decoded second-scale point cloud is used to predict the first scale, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless decoding process, and then the occupancy probability is determined by the attribute probability prediction network during decoding. The use of the attribute probability prediction network avoids many processing operations, reduces the decoding complexity, and at the same time speeds up the prediction speed of the occupancy probability, thereby improving the processing efficiency of the prediction process. In this way, if the occupancy probability is used to decode the attribute encoding information, the decoding efficiency and decoding performance can be improved.

[0163] When decoding the first-scale point cloud, a plurality of first voxels of the first-scale point cloud may be grouped to implement the decoding process.

[0164] In some embodiments of the present application, as shown in FIG7 , the decoding method provided in the embodiment of the present application may further include:

[0165] S201: Parse the code stream to determine attribute coding information corresponding to the first-scale point cloud.

[0166] It should be noted that the implementation principle of S201 is consistent with that of S101 and will not be repeated here.

[0167] S202 , performing voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale, where n is an integer greater than 1; wherein the second-scale point cloud is decoded point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0168] S203 : Determine attribute prediction information corresponding to the n first voxels at the first scale according to the decoded attribute information of the second-scale point cloud, and thereby obtain attribute prediction information of the first-scale point cloud.

[0169] It should be noted that the implementation principle of S202-S203 is consistent with the implementation principle of S102, and will not be repeated here.

[0170] S204 , grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1.

[0171] In the embodiment of the present application, the decoder may group the n first voxels and perform a coarse prediction process based on the grouping.

[0172] In an embodiment of the present application, the decoder can determine a numbering range based on the number of voxels corresponding to the second voxel in each second-scale point cloud after upsampling; using the numbering range, among the multiple first-scale voxels obtained by upsampling the second-scale point cloud, the multiple first-scale voxels corresponding to each second voxel in the second-scale point cloud in the respective corresponding first scales are numbered in the same manner to obtain the number corresponding to each first-scale voxel in the n first voxels.

[0173] In some embodiments of the present application, among n first voxels, the decoder may group first voxels with the same number into a group according to the number of each first voxel, and determine m groups of first voxels, where m is an integer greater than or equal to 1.

[0174] For example, as shown in FIG8 , a p-1 scale point cloud, i.e., a second scale point cloud, is upsampled by 2×2×2 to obtain n first voxels at the p scale, i.e., n first voxels at the first scale. It can be seen that a second voxel in the p-1 scale point cloud corresponds to 8 first voxels at the p scale after upsampling, and the numbering range can be determined to be 1-8. For a second voxel in the p-1 scale point cloud, the 8 first voxels corresponding to the voxel in the p scale point cloud are numbered using numbers 1-8 respectively; for three second voxels in the p-1 scale point cloud, the 8 first voxels corresponding to the second voxel in each p-1 scale point cloud are numbered using the same numbering method, resulting in 3 first voxels numbered 1, 3 first voxels numbered 2, ..., up to 3 first voxels numbered 8. The first grouping method: the decoder groups the first voxels according to the number of each first voxel, and divides the first voxels with the same number into a group, that is, the voxels at the same position of each first voxel are grouped as shown in Figure 8. For example, each first voxel numbered 1 is divided into a group, each first voxel numbered 2 is divided into a group, and so on, to obtain 8 groups of first voxels as m groups of first voxels, namely 8 groups from G1 to G8.

[0175] In the embodiment of the present application, other grouping methods may also be used, as follows:

[0176] The second grouping method: determine that numbers 1 and 2 are consecutive numbers, numbers 3 and 4 are consecutive numbers, and numbers 5 to 8 are consecutive numbers; take the first voxels corresponding to numbers 1 and 2 as a group, take the first voxels corresponding to numbers 3 and 4 as a group, and take the first voxels corresponding to numbers 5 to 8 as a group, to obtain three groups of first voxels as m groups of first voxels, namely, as shown in Figure 8: three groups G1G2, G3G4, and G5G6 G7G8.

[0177] The third grouping method is to group all n (n=24) first voxels into one group, which is equivalent to determining the numbers 1-8 as consecutive numbers, and obtaining one group of first voxels as m groups of first voxels, that is, as shown in FIG8 : G1G2G3G4G5G6G7G8 is one group.

[0178] S205 , using an attribute probability prediction network, sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine the m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities of the first-scale point cloud.

[0179] S206 , decoding the attribute coding information corresponding to the m groups of first voxels one by one according to the m groups of occupancy probabilities, and determining the attribute information of each of the m groups of first voxels.

[0180] In the embodiment of the present application, the decoder divides the multiple first voxels corresponding to each second voxel into m groups of first voxels, and ultimately divides the n first voxels into m groups of first voxels. The decoder can decode in order from the first group to the last group.

[0181] In an embodiment of the present application, the decoder can use an attribute probability prediction network to perform probability prediction on the attribute prediction information of the m groups of first voxels in sequence to determine the m groups of occupancy probabilities. The decoder decodes the attribute encoding information corresponding to the m groups of first voxels based on the m groups of occupancy probabilities, determines the attribute information of each of the m groups of first voxels, and completes the decoding of the first-scale point cloud.

[0182] In some embodiments of the present application, the decoder employs an attribute probability prediction network to sequentially perform probability prediction on the attribute prediction information of m groups of first voxels, thereby determining the occupancy probabilities of the m groups. The decoder's probability prediction process for each first voxel in each group includes: the decoder may sequentially perform probability prediction on each first voxel in each group, input the attribute prediction information of the current first voxel into the attribute probability prediction network for probability prediction, and determine at least one probability model parameter for the current first voxel; and determine the occupancy probability of the current first voxel based on the at least one probability model parameter for the current first voxel. The decoder then continues to perform probability prediction on the next first voxel in the group until all first voxels in all groups have been predicted, thereby obtaining the occupancy probabilities of each first voxel in the m groups of the first-scale point cloud. Alternatively, the decoder may input the attribute prediction information of the current first voxel into the attribute probability prediction network for probability prediction, and determine at least one probability model parameter for the current first voxel; and then continue to perform probability prediction on the next first voxel in the group until all first voxels in all groups have been predicted, thereby obtaining the at least one probability model parameter for each first voxel in the m groups of the first-scale point cloud. Based on at least one probability model parameter of each first voxel in the m groups, the occupancy probability of each first voxel is determined, thereby determining the occupancy probabilities of the m groups of first voxels in the first-scale point cloud. That is, the occupancy probabilities of the first-scale point cloud include the occupancy probabilities of each first voxel in the m groups of first voxels.

[0183] It should be noted that the principle for determining the occupancy probability of each first voxel in each group of first voxels is consistent with the implementation principle in S103 and will not be repeated here.

[0184] In some embodiments of the present application, the decoder decodes the attribute coding information of the first voxel in the i-th group based on the occupancy probability of the i-th group to determine the attribute information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m; the decoding of the next group is continued based on the occupancy probability of the i+1-th group until the decoding of the attribute coding information of the first voxel in the m-th group is completed, and the attribute information of each of the m groups of first voxels is determined.

[0185] It should be noted that in the embodiment of the present application, the decoder decodes the attribute encoding information of each group of first voxels using the i-th group occupancy probability to implement the parsing of the attribute information of each group of first voxels. However, in the process of decoding first voxels at the same scale, the decoding of undecoded first voxels between different groups corresponding to the same second voxel can also be implemented based on known information, including the decoded voxels (first voxels) between different groups corresponding to the same second voxel and the voxels of the parent node at the previous scale (the corresponding second voxels).

[0186] In an embodiment of the present application, the second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number.

[0187] It should be noted that the preset number is related to the number of samples in upsampling or downsampling. For example, if 2×2×2 upsampling is performed, the preset number is 8. The embodiment of the present application does not limit the sampling method.

[0188] In the embodiment of the present application, depending on the grouping method, each group of first voxels may include first voxels corresponding to multiple second voxels, for example, H first voxels, so the occupancy probability of the i-th group also corresponds to the H-group sub-occupancy probability.

[0189] In some embodiments of the present application, the decoder decodes the attribute encoding information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel in the i-th group, including:

[0190] If the number of undecoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1, the jth first voxel is decoded according to the jth group sub-occupancy probability to obtain the attribute information of the jth first voxel; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located;

[0191] If the number of undecoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, determining the attribute mean of the undecoded first voxels corresponding to the second voxel, where the attribute mean is the attribute information of the j-th first voxel; the attribute mean is determined based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel;

[0192] The decoding of the j+1th first voxel is continued until j=H, and the attribute information of the i-th group of first voxels is determined.

[0193] In an embodiment of the present application, for the decoding of the j-th first voxel in the i-th group, the j-th first voxel corresponds to a second voxel of the second scale, and a second voxel corresponds to multiple first voxels of the first scale, and the j-th first voxel belongs to one of them. If there are at least two undecoded second voxels in the multiple first voxels, including the j-th first voxel, it is still necessary to decode the j-th first voxel based on the j-th group sub-occupancy probability to obtain the attribute information of the j-th first voxel. This is because there are multiple first voxels corresponding to the second voxel that have not been decoded, and there is no way to achieve decoding through direct inference. Therefore, the decoder is still required to continue to decode the first voxel based on the sub-occupancy probability. If only the jth first voxel remains undecoded among the multiple first voxels, then only one first voxel corresponding to the second voxel remains undecoded. At this point, the attribute information of the remaining first voxel corresponding to the second voxel can be directly inferred based on the attribute information of the second voxel and the decoded first voxel corresponding to the second voxel. That is, the attribute mean of the undecoded first voxels corresponding to the second voxel is the attribute information of the jth first voxel, and there is no need to decode the jth first voxel based on the jth group sub-occupancy probability. Decoding of the j+1th first voxel continues until j = H, at which point the attribute information of the first voxels in the i-th group is determined.

[0194] It should be noted that in this embodiment of the present application, if a partially decoded first voxel exists among multiple first voxels corresponding to a second voxel, during the decoding process of the undecoded first voxel, the decoder can determine the mean attribute value of the undecoded first voxel corresponding to the second voxel based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel. Therefore, when there is only one undecoded first voxel corresponding to the second voxel, the mean attribute value of the undecoded first voxel is the attribute information of the undecoded first voxel, and decoding based on the sub-occupancy probabilities is not required. However, if there is more than one undecoded first voxel corresponding to the second voxel, the mean attribute value of the undecoded first voxel is obtained, and decoding based on the sub-occupancy probabilities of the undecoded first voxels is required to continue until there is only one undecoded first voxel, at which point its attribute information can be directly derived.

[0195] Exemplarily, the decoder can determine the attribute mean of the undecoded first voxel corresponding to the second voxel based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel as follows: given that the attribute information of the second voxel of the parent node of the second scale is X, it is assumed that it corresponds to a+b first voxels of the first scale, of which a are decoded and b are undecoded, and the values ​​of the a decoded child voxels are {x1, x2,…, x a}, then we can infer the attribute (information) mean of the remaining b undecoded first voxels, that is, the average value of the attribute information is At this time, if b=1, the attribute mean is the attribute information of the b first voxels.

[0196] For example, as shown in FIG9 , assuming m = 8, after the decoder samples and predicts the three second voxels of Scale p-1, it determines the attribute prediction information of the six first voxels of Scale p (e.g., occupied voxels), i.e., 8, 7, 7, 4, 4. Furthermore, the n first voxels are divided into G1 (Group 1), G2 (Group 2), G3 (Group 3), G4 (Group 4), G5 (Group 5), G6 (Grou 6), G7 (Group 7), and G8 (Grou 8). Among these eight groups, only some of them contain first voxels, and the voxels at other positions are empty. At the decoder, the attribute probability prediction network (SAPA) performs probability prediction on each group of first voxels to obtain the occupancy probability of each group of first voxels (including the sub-occupancy probability of each first voxel). When decoding Group 1, the attribute encoding information of the first voxel in each group is decoded according to the sub-occupancy probability of each first voxel. As shown in Figure 9, after Group 1 is decoded, 5 and 3 are decoded first voxels. When decoding Group 2, it is known that 8 is a decoded first voxel. When decoding the second first voxel in Group 2 (at a), the second first voxel corresponds to the second second voxel (at b). At this time, the second second voxel corresponds to the second first voxel (at a) and the first voxel at c has not yet been decoded. At this time, the average value of the first voxels at a and c becomes 8, that is, 7×3-(5)(decoded first voxel corresponding to the second second voxel) / 2=8. Therefore, the decoder needs to decode the second first voxel according to its sub-occupancy probability to obtain attribute information 9. The first voxel at position d corresponds to the third second voxel (position e) and is the only undecoded first voxel corresponding to the third second voxel. Therefore, the attribute information for the first voxel at position d is the attribute information of the third second voxel, which is 4×2-3(the decoded first voxel corresponding to the third second voxel) / 1=5. When decoding Group 2, after decoding the attribute information of the second first voxel (position a) as 9, the first voxel at position c corresponds to the second second voxel (position b) and is the only undecoded first voxel corresponding to the second second voxel. Therefore, the attribute information for the first voxel at position c is the attribute information of the second second voxel, which is 7×3-(5+9)(the decoded first voxel corresponding to the second second voxel) / 1=7. There are no occupied voxels in the other groups. At this point, the attribute information of Scale p is decoded.

[0197] It should be noted that if a second voxel corresponds to a first voxel, the attribute information of the second voxel is the attribute information of the first voxel, such as the first voxel with attribute information 8 as shown in FIG. 9 .

[0198] In the embodiment of the present application, when all m groups of first voxels are decoded, the decoding of the first-scale point cloud is terminated, and the decoding process of the next-scale point cloud is continued until all decoding is completed.

[0199] It can be understood that the group prediction and decoding method in the embodiment of the present application, compared with the method of predicting and decoding the occupancy probability of each voxel based on the parent node and neighbor nodes of each voxel, uses an attribute probability prediction network for decoding. On the one hand, it greatly reduces the decoding complexity and improves the decoding speed and compression performance; on the other hand, as the decoding proceeds, the attribute information of the decoded first voxel can be used in the decoding inference process of the undecoded first voxel corresponding to the same second voxel, helping the decoding inference of the undecoded first voxel, thereby improving the decoding accuracy and efficiency.

[0200] When decoding the first-scale point cloud, different color components of the first-scale point cloud may be processed to implement the decoding process.

[0201] In some embodiments of the present application, as shown in FIG10 , the decoding method provided in the embodiment of the present application may further include:

[0202] S301: Parse the code stream to determine attribute coding information corresponding to the first-scale point cloud.

[0203] It should be noted that the implementation principle of S301 is consistent with that of S101 and will not be repeated here.

[0204] S302 : Predicting the first scale based on the decoded attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud; wherein the second-scale point cloud is decoded point cloud data of a parent node at a previous scale of the first-scale point cloud.

[0205] It should be noted that the prediction at the first scale is performed based on the decoded attribute information of different color components of the second-scale point cloud, and the attribute prediction information of the different color components at the first scale is determined separately. The implementation principle of performing the prediction at the first scale based on the decoded attribute information of each color component of the second-scale point cloud and determining the attribute prediction information of each color component at the first scale is consistent with the implementation principle of S102 and is not further described here.

[0206] S303: Using an attribute probability prediction network, perform probability prediction on the first color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the first color component.

[0207] S304 : Decode the attribute encoding information of the first color component based on the occupancy probability of the first color component to obtain attribute information corresponding to the first color component of the first-scale point cloud.

[0208] S305. Using an attribute probability prediction network, combined with the attribute information corresponding to the first color component of the first-scale point cloud, a probability prediction is performed on the second color component and the third color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component.

[0209] S306 : Decode the attribute encoding information of the second color component based on the occupancy probability of the second color component to obtain attribute information corresponding to the second color component of the first-scale point cloud.

[0210] S307 : Decode the attribute encoding information of the third color component based on the occupancy probability of the third color component to obtain attribute information corresponding to the third color component of the first-scale point cloud.

[0211] It should be noted that an attribute probability prediction network is used to perform probability prediction on the first color component of the attribute prediction information of each first voxel to determine the occupancy probability of each first voxel in the first-scale point cloud under the first color component.

[0212] When determining the occupancy probability of each first voxel, the decoder can determine different color components for one first voxel, obtain the occupancy probabilities of different color channels or different color components based on three different color channels, and then decode the attribute coding information corresponding to different color channels based on the occupancy probabilities of different color channels or different color components.

[0213] In the embodiment of the present application, since the attribute information can be divided into three color components, the attribute information can be encoded according to the different color components. Accordingly, when the decoder performs decoding, it can be decoded based on the different color components to obtain the attribute information of each first voxel under different color components.

[0214] It should be noted that, in the embodiment of the present application, the implementation principle of each first voxel under one color component is consistent with the implementation principle of S303 and the implementation principle of determining the occupancy probability of the first voxel in S103, and will not be repeated here.

[0215] The difference is that the decoder needs to determine the occupancy probabilities of different color components for the first voxel under different conditions. Furthermore, after determining the first color component (luminance component) for decoding, the attribute information of the first color component can be used as input for the other color components, and the attribute probability prediction network can be used to perform probability predictions, obtain probability model parameters, and further determine the occupancy probabilities corresponding to the other colors. In other words, the attribute probability prediction network at this point has an additional input parameter compared to the attribute probability prediction network in S103, but the principle of determining occupancy probabilities using probability model parameters is the same.

[0216] In some embodiments of the present application, the decoder first decodes the brightness component. For a first voxel, the decoder uses an attribute probability prediction network to perform a probability prediction on the first color component of the attribute prediction information of the first voxel, and determines the occupancy probability of the first voxel under the first color component; based on the occupancy probability under the first color component, the attribute encoding information of the first voxel under the first color component is decoded to obtain the attribute information corresponding to the first color component of the first voxel.

[0217] After obtaining the attribute information of the first voxel in the first color component, the decoder continues to use the attribute probability prediction network to combine the attribute information of the first voxel in the first color component with the probability prediction of the second and third color components of the attribute prediction information of the first voxel, and determines the occupancy probability of the first voxel in the second color component and the occupancy probability of the first voxel in the third color component. The occupancy probabilities of the first voxel in the second color component and the occupancy probabilities of the first voxel in the third color component are continued to be used to decode the attribute information of the second color component and the attribute information of the third color component, thereby decoding the attribute information of the first voxel.

[0218] In the embodiment of the present application, after the decoder decodes the attribute information of the three color components of each first voxel, the decoding of the first-scale point cloud is completed, and the attribute information of the first-scale point cloud is obtained.

[0219] In an embodiment of the present application, the first color component is a brightness component, the second color component and the third color component are chromaticity components. For example, the first color component is a Y component, the second color component is a Co component, and the third color component is a Cg component. This embodiment of the present application does not limit this.

[0220] Exemplarily, as shown in Figure 11, within the same scale, the color space is converted from RGB to YCoCg space. Then, based on the attribute information of the decoded Y component at the second scale of Scale p-1, the attribute prediction information of the Y component of Scale p is determined, the occupancy probability of the Y channel (Y component) is predicted using SAPA, and the attribute information of the Y component is decoded based on the occupancy probability. Based on the attribute information of the decoded Co component and Cg component at the second scale of Scale p-1, the attribute prediction information of the Co component and Cg component of Scale p is determined respectively. Combined with the attribute information of the Y component, the occupancy probabilities of the Co component and Cg component are predicted using SAPA. Based on the occupancy probabilities of the Co component and Cg component, the attribute information of the Co component and Cg component is decoded.

[0221] It can be understood that the color channel prediction and decoding method in the embodiment of the present application greatly reduces the decoding complexity when decoding using the attribute probability prediction network, compared to the method of predicting and decoding the occupancy probability based on non-channel sorting. As the decoding proceeds, the attribute information of the decoded Y color component can be used in the decoding inference process of other undecoded color components corresponding to the same first voxel, thereby realizing the decoding of the undecoded first voxel, thereby improving the accuracy and efficiency of decoding.

[0222] When decoding the first-scale point cloud, multiple first voxels of the first-scale point cloud may be grouped, and different color components may be processed for each group of first voxels to implement the decoding process.

[0223] In some embodiments of the present application, as shown in FIG12 , the decoding method provided in the embodiment of the present application may further include:

[0224] S401: Parse the code stream to determine attribute coding information corresponding to the first-scale point cloud.

[0225] It should be noted that the implementation principle of S401 is consistent with that of S101 and will not be repeated here.

[0226] S402 , performing voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale, where n is an integer greater than 1. The second-scale point cloud is decoded point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0227] It should be noted that the implementation principle of S402 is consistent with that of S102 and will not be repeated here.

[0228] S403 : Determine attribute prediction information corresponding to n first voxels at the first scale based on the decoded attribute information of the second-scale point cloud, and thereby obtain attribute prediction information of the first-scale point cloud.

[0229] It should be noted that the prediction at the first scale is performed based on the decoded attribute information of different color components of the second-scale point cloud, and the attribute prediction information of each of the n first voxels at the first scale for each color component is determined. The implementation principle of performing the prediction at the first scale based on the decoded attribute information of each color component of the second-scale point cloud and determining the attribute prediction information of each first voxel at the first scale for each color component is consistent with the implementation principle of S102 and is not further described here.

[0230] S404 , grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1.

[0231] It should be noted that the implementation principle of S404 is consistent with that of S204 and will not be repeated here.

[0232] S405 , using an attribute probability prediction network, sequentially perform probability prediction on the m groups of first voxels under the first color component to determine the m groups of occupancy probabilities corresponding to the first color component.

[0233] S406 , decoding the attribute coding information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component, and determining the attribute information corresponding to the first color component of each of the m groups of first voxels.

[0234] The attribute information corresponding to the first color component is used to determine the m-group occupancy probabilities of the second color component and the m-group occupancy probabilities of the third color component.

[0235] S407. Using an attribute probability prediction network, combined with the attribute information corresponding to the decoded first color component, probability prediction is performed on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

[0236] S408 . Decode the attribute coding information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determine the attribute information corresponding to the second color component of each of the m groups of first voxels.

[0237] S409 , decoding the attribute coding information of the m groups of first voxels under the third color component according to the m groups of occupancy probabilities corresponding to the third color component, and determining the attribute information corresponding to the third color component of each of the m groups of first voxels.

[0238] It should be noted that the implementation principles of S405-S409 are consistent with those of S303-S307, and will not be repeated here.

[0239] The difference is that the first voxel is the voxel in each group of first voxels, and the decoder decodes the m groups of first voxels in sequence. The Y channel is decoded using the group processing method in S402-S404 above; then the CoCg channel is decoded using the same grouping method. The processed Y channel serves as auxiliary information to assist in decoding the CoCg channel.

[0240] It should be noted that the decoder divides the point cloud of the scale to be decoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) dividing the point cloud of the same scale into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) dividing the point cloud of the same scale into a luminance channel (Y) and two chrominance channels (CoCg) according to the color channel. The decoder progressively predicts the probability distribution of each layer of point cloud in order from low scale to high scale, from the 1st group to the 8th group, and from the luminance channel to the chrominance channel, and uses it for lossless entropy decoding. In this progressive prediction process, the decoded layer is known information and can be used as context. The probability prediction model based on the sparse tensor neural network helps predict the remaining undecoded groups.

[0241] It can be understood that the lossless attribute compression algorithm based on learning, the grouping, channel prediction and decoding method in the embodiment of the present application, that is, the point cloud is layered in multiple ways according to the characteristics of point cloud data and neural network tools, such as scale, inter-group and inter-channel decoding. Compared with the method of predicting and decoding the occupancy probability of each voxel based on the parent node and neighbor node of each voxel, when the attribute probability prediction network is used for decoding, on the one hand, the decoding complexity is greatly reduced, and the decoding speed and compression performance are improved; as the decoding proceeds, the attribute information of the decoded first voxel can be used in the decoding inference process of the undecoded first voxel corresponding to the same second voxel, and the attribute information of the decoded Y color component can be input into the attribute probability prediction network. It can be used in the decoding inference process of other undecoded color components corresponding to the same first voxel to help predict the occupancy probability of the current first voxel, thereby improving the accuracy and efficiency of decoding.

[0242] The following describes an encoding method applied to an encoder provided in an embodiment of the present application.

[0243] Referring to FIG. 13 , FIG. 13 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application, the method comprising:

[0244] S501. Downsampling the point cloud data in sequence until it is divided into single voxels, thereby obtaining multiple-scale point clouds; the multiple-scale point clouds include: a first-scale point cloud and a second-scale point cloud; the second-scale point cloud is point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0245] In the embodiments of the present application, the encoder encodes points or nodes within a point cloud or point cloud data. The encoder spatially partitions the point cloud data during encoding to produce multiple strips, or slices. The encoding method provided in the embodiments of the present application is applied to the point cloud within each slice.

[0246] In an embodiment of the present application, since the encoder divides the point cloud to be encoded of each slice or point cloud data (when strip division is not performed) into point cloud structures of different scales corresponding to attribute information during encoding, attribute encoding is performed scale by scale for point clouds of different scales starting from the point cloud with the smallest scale.

[0247] In an embodiment of the present application, when encoding point cloud data, the encoder first performs voxel downsampling, and divides the point cloud data to be encoded into the next scale one by one to obtain point clouds of multiple scales.

[0248] In some embodiments of the present application, the encoder determines multiple quantization errors each time the point cloud data is downsampled to the next scale while sequentially downsampling the point cloud data until it is divided into a single voxel, thereby obtaining point clouds at multiple scales; the multiple quantization errors include: the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud.

[0249] It should be noted that the encoder performs voxel downsampling on the point cloud data to obtain the first scale point cloud, continues to perform voxel downsampling on the first scale point cloud to obtain the next scale point cloud, and continues downsampling until only one voxel remains, thereby obtaining multiple scale point clouds.

[0250] In the embodiment of the present application, the first-scale point cloud and the second-scale point cloud are two adjacent scale point clouds among the multiple scale point clouds.

[0251] The following describes the process of dividing the first-scale point cloud into the second-scale point cloud.

[0252] In an embodiment of the present application, the encoder performs voxel downsampling on the first-scale point cloud to obtain a second-scale point cloud. The attribute information of each second voxel of the second-scale point cloud is the attribute mean of the first voxel within the downsampling range corresponding to the first scale. The attribute mean operation of the first voxel within the downsampling range corresponding to the first scale will produce a decimal. The embodiment of the present application uses a rounding operation to quantize it, and the resulting decimal part is the quantization error. Therefore, a quantization error will be generated in the process of each high-scale downsampling and quantization to obtain the attribute information of the low-scale point cloud.

[0253] For example, the encoder can perform voxel downsampling on the first-scale point cloud using 2×2×2 to obtain a second-scale point cloud. The attribute information of each second voxel in the second-scale point cloud is the attribute mean of the first voxel within the 2×2×2 range corresponding to the first scale. Since the number of points in each 2×2×2 voxel set is between 1 and 8, the corresponding quantization error is also limited to only a limited number of cases: {{0},{0,1 / 2},{0,1 / 3,2 / 3},{0,1 / 4,2 / 4,3 / 4},……,{0,1 / 8,2 / 8,3 / 8,4 / 8,5 / 8,6 / 8,7 / 8}}.

[0254] In the embodiment of the present application, the encoder generates multiple quantization errors in the process of obtaining point clouds at multiple scales.

[0255] In the embodiment of the present application, each quantization error is the value of the attribute mean of the high-scale voxels minus the finally determined low-scale attribute information, which may be positive or negative.

[0256] It should be noted that in the embodiment of the present application, since the encoder can voxelize each scale point cloud when performing attribute encoding, the points are represented in the form of a voxel grid.

[0257] In an embodiment of the present application, for the voxelization process, at least one point in the point cloud may correspond to an occupied voxel (i.e., a non-empty voxel or an occupied voxel), and an unoccupied voxel (i.e., an empty voxel or an unoccupied voxel) indicates that there is no point in the point cloud at the voxel position. In some embodiments, occupied voxels can be marked with different attribute information, and unoccupied voxels have no attribute information. In this way, point clouds of different scales after voxelization can represent the attribute information of point clouds of different scales through the information of voxels at various positions in the voxel grid.

[0258] S502 : During encoding of the first-scale point cloud, perform first-scale prediction based on attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud.

[0259] In this embodiment of the present application, the encoder performs inter-scale encoding from low to high scales. During the encoder's encoding of a first-scale point cloud, the encoder indicates that the encoding of a second-scale point cloud has been completed. The second-scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first-scale point cloud, and the second scale is smaller than the first scale.

[0260] In some embodiments of the present application, the encoder determines reconstructed geometric information of the first-scale point cloud.

[0261] It should be noted that the encoder has already completed the geometric encoding process during attribute encoding, and can obtain the reconstructed geometric information of point clouds at different scales. Therefore, during the attribute encoding process, the encoder can use the reconstructed geometric information of the first-scale point cloud to determine which voxels in the first voxel obtained by upsampling the second-scale point cloud are occupied and which are unoccupied.

[0262] In some embodiments of the present application, the encoder uses quantization error to dequantize the decoded attribute information of the second-scale point cloud to determine the revised attribute information of the second-scale point cloud; and performs a first-scale prediction based on the revised attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud to determine the attribute prediction information of the first-scale point cloud.

[0263] The reconstructed geometric information of the first-scale point cloud can determine the distribution of points in the first-scale point cloud, that is, the position information of the points corresponding to the first-scale voxels. This point position information can be used to determine the distribution of points contained in the first voxels corresponding to the first-scale point cloud. In this way, among the n first voxels obtained by voxel upsampling based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For these occupied first voxels, the attribute prediction information of these occupied first voxels can be determined based on the corrected attribute information of the second-scale point cloud. Once all first voxels are determined, the attribute prediction information of the first-scale point cloud is completely determined.

[0264] In some embodiments of the present application, the encoder writes multiple quantization errors into the bitstream.

[0265] In some embodiments of the present application, the encoder writes the reconstructed geometric information of the first-scale point cloud into the bitstream.

[0266] It should be noted that the encoder can use the attribute information of the second-scale point cloud to predict the first scale and determine the attribute prediction information of the first-scale point cloud. The process is consistent with the implementation and description process of using the decoded attribute information of the second-scale point cloud to predict the first scale and determine the attribute prediction information of the first-scale point cloud in S102 on the decoder side, and will not be repeated here.

[0267] S503: Using an attribute probability prediction network, perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud.

[0268] In some embodiments of the present application, the encoder inputs the attribute prediction information of each first voxel into the attribute probability prediction network for probability prediction, and determines at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud; based on the at least one probability model parameter of each first voxel of the first-scale point cloud, the occupancy probability of the first-scale point cloud is determined.

[0269] In some embodiments of the present application, a probability density distribution of each first voxel is determined based on at least one probability model parameter of at least one point contained in each first voxel of the first-scale point cloud; based on the probability density distribution of each first voxel, an integral operation is performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

[0270] It should be noted that the encoder can use an attribute probability prediction network to perform probability prediction on the attribute prediction information and determine the occupancy probability of the first-scale point cloud. The process is consistent with the implementation and description process of using an attribute probability prediction network in S103 on the decoder side to perform probability prediction on the attribute prediction information and determine the occupancy probability of the first-scale point cloud, and will not be repeated here.

[0271] S504 : Encode the attribute information of the first-scale point cloud based on the occupancy probability to determine attribute encoding information of the first-scale point cloud.

[0272] In an embodiment of the present application, after the encoder obtains the occupancy probability information of each first voxel, it uses the occupancy probability of each first voxel to encode the attribute information corresponding to each first voxel of the first-scale point cloud, and determines the attribute coding information corresponding to each first voxel.

[0273] In some embodiments of the present application, the encoder may encode the first-scale point cloud in units of voxels, and further encode attribute coding information of each point contained in the first voxel.

[0274] It should be noted that the encoder can encode the attribute information of each first voxel based on the occupancy probability of the first voxel. The attribute information of the first-scale point cloud includes the attribute information corresponding to each first voxel.

[0275] In some embodiments of the present application, the encoder continues encoding the third-scale point cloud until all the point clouds at multiple scales are encoded, thereby obtaining attribute encoding information of the point clouds at multiple scales.

[0276] In the embodiment of the present application, the encoder writes the attribute encoding information of multiple scale point clouds into the bitstream respectively for use by the decoder during decoding.

[0277] In an embodiment of the present application, the process of the encoder processing between scales is as described in the aforementioned embodiment. In addition, the encoder can perform component processing for encoding according to the grouping between voxels at the same scale, and can also perform inter-channel processing of different color channels according to different color components to achieve encoding. It can also combine voxel grouping and different color components for encoding. The embodiment of the present application is not limited and will be described in the following embodiments.

[0278] It is understandable that the encoding method provided in the embodiment of the present application can be repeatedly applied between multiple adjacent scales, and the encoding between each group of adjacent scales is independent of each other, so scale-scalable encoding can be flexibly implemented.

[0279] It should be noted that each encoding process of the above-mentioned encoder uses the attribute information of the encoded low-scale point cloud as known information to encode the attribute information of the high-scale point cloud. For the first encoding process of the encoder, its known information can be the attribute information of a preset number of unencoded point clouds sent by the encoder side. The encoder can use the attribute information of a preset number of point clouds, such as the attribute information of 100 points in the point cloud, as the first known information and send it directly to the decoding end in an unencoded manner, so that the decoder does not need to decode the first known information and can directly use the attribute information of the preset number of points sent by the encoder to predict the point cloud of the corresponding scale to continue the subsequent decoding process.

[0280] It can be understood that in the encoder, through processing between scales, the first scale is predicted based on the attribute information of the second-scale point cloud, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless coding process, and then the occupancy probability is determined by the attribute probability prediction network during encoding. The use of the attribute probability prediction network avoids many processing operations, reduces the coding complexity, and at the same time speeds up the prediction speed of the occupancy probability, and improves the processing efficiency of the prediction process. In this way, if the occupancy probability is used to encode the attribute information, the coding efficiency and coding performance can be improved.

[0281] In some embodiments of the present application, as shown in FIG14 , the encoding method provided in the embodiment of the present application may further include:

[0282] S601. Downsampling the point cloud data in sequence until it is divided into single voxels, thereby obtaining multiple-scale point clouds; the multiple-scale point clouds include: a first-scale point cloud and a second-scale point cloud; the second-scale point cloud is point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0283] It should be noted that the implementation principle and description of S601 are consistent with those of S501 and will not be repeated here.

[0284] S602 : Perform voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1.

[0285] S603 : Determine attribute prediction information corresponding to n first voxels at the first scale based on the attribute information of the second-scale point cloud, and thereby obtain the attribute prediction information of the first-scale point cloud.

[0286] In some embodiments of the present application, the encoder uses quantization error to dequantize the attribute information of the second-scale point cloud to determine the corrected attribute information of the second-scale point cloud; the corrected attribute information of the second voxel of the second-scale point cloud to which each first voxel of the n first voxels of the first scale belongs is determined as the attribute prediction information corresponding to each first voxel.

[0287] S604 , grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1.

[0288] S605 , using an attribute probability prediction network, sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first-scale point cloud.

[0289] It should be noted that the implementation principles and descriptions of S602-S605 are consistent with those of S202-S205, and will not be repeated here.

[0290] S606 , encoding attribute information corresponding to the m groups of first voxels one by one according to the m groups of occupancy probabilities, and determining attribute encoding information of each of the m groups of first voxels.

[0291] It should be noted that in this embodiment of the present application, the encoder divides the multiple first voxels corresponding to each second voxel into m groups of first voxels, ultimately achieving the goal of dividing n first voxels into m groups of first voxels. The encoder can encode in the order of grouping, from the first group to the last group.

[0292] In an embodiment of the present application, the encoder can use an attribute probability prediction network to perform probability prediction on the attribute prediction information of the m groups of first voxels in sequence to determine the occupancy probabilities of the m groups. The encoder encodes the attribute information corresponding to the m groups of first voxels according to the m groups of occupancy probabilities, determines the attribute coding information of each of the m groups of first voxels, completes the encoding of the first-scale point cloud, and continues to encode the next scale until the entire scale of the point cloud is encoded.

[0293] In some embodiments of the present application, an encoder employs an attribute probability prediction network to sequentially perform probability prediction on the attribute prediction information of m groups of first voxels to determine the occupancy probabilities of the m groups. The encoder's probability prediction process for each first voxel in each group includes: the encoder may sequentially perform probability prediction on each first voxel in each group, input the attribute prediction information of the current first voxel into the attribute probability prediction network for probability prediction, and determine at least one probability model parameter for the current first voxel; and determine the occupancy probability of the current first voxel based on the at least one probability model parameter for the current first voxel. The encoder continues to perform probability prediction on the next first voxel in the group until all first voxels in all groups are predicted, thereby obtaining the occupancy probabilities of each first voxel in the m groups of the first-scale point cloud. Alternatively, the encoder inputs the attribute prediction information of the current first voxel into the attribute probability prediction network for probability prediction, and determines at least one probability model parameter for the current first voxel; and continues to perform probability prediction on the next first voxel in the group until all first voxels in all groups are predicted, thereby obtaining the at least one probability model parameter for each first voxel in the m groups of the first-scale point cloud. Based on at least one probability model parameter of each first voxel in the m groups, the occupancy probability of each first voxel is determined, thereby determining the occupancy probabilities of the m groups of first voxels in the first-scale point cloud. That is, the occupancy probabilities of the first-scale point cloud include the occupancy probabilities of each first voxel in the m groups of first voxels.

[0294] It should be noted that the principle for determining the occupancy probability of each first voxel in each group of first voxels is consistent with the implementation principle in S103 and will not be repeated here.

[0295] In some embodiments of the present application, the encoder encodes the attribute information of the first voxel in the i-th group according to the occupancy probability of the i-th group to determine the attribute coding information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m; the encoding of the next group is continued based on the occupancy probability of the i+1-th group until the encoding of the attribute information of the first voxel in the m-th group is completed, and the attribute coding information of each of the m groups of first voxels is determined.

[0296] It should be noted that in this embodiment of the present application, the encoder encodes the attribute information of each group of first voxels using the i-th group occupancy probability to achieve the encoding of the attribute information of each group of first voxels. However, when encoding first voxels at the same scale, encoding of unencoded first voxels between different groups corresponding to the same second voxel can also be achieved based on known information.

[0297] In some embodiments of the present application, the second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number.

[0298] It should be noted that the preset number is related to the number of samples in upsampling or downsampling. For example, if 2×2×2 upsampling is performed, the preset number is 8. The embodiment of the present application does not limit the sampling method.

[0299] In the embodiment of the present application, depending on the grouping method, each group of first voxels may include first voxels corresponding to multiple second voxels, for example, H first voxels, so the occupancy probability of the i-th group also corresponds to the H-group sub-occupancy probability.

[0300] In some embodiments of the present application, the encoder encodes the attribute information of the first voxel in the i-th group according to the i-th group occupancy probability, and determines the attribute encoding information of the first voxel in the i-th group, including:

[0301] If the number of uncoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1, the jth first voxel is encoded according to the jth group sub-occupancy probability to obtain the attribute coding information of the jth first voxel; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located;

[0302] The encoding of the j+1th first voxel is continued until j=H, and the attribute encoding information of the i-th group of first voxels is determined.

[0303] In some embodiments of the present application, encoding of the j+1th first voxel continues until j=H. Before determining the attribute encoding information of the i-th group of first voxels, if the number of unencoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, encoding of the j-th first voxel is not performed.

[0304] In an embodiment of the present application, for the encoding of the jth first voxel in the i-th group, the j-th first voxel corresponds to a second voxel of the second scale, and a second voxel corresponds to multiple first voxels of the first scale, and the j-th first voxel belongs to one of them. If there are at least two unencoded second voxels in the multiple first voxels, including the j-th first voxel, it is still necessary to encode the j-th first voxel based on the j-th group sub-occupancy probability to obtain the attribute encoding information of the j-th first voxel. This is because there are multiple unencoded first voxels corresponding to the second voxel, and there is no way to achieve decoding through direct inference. Therefore, the encoder is required to continue to encode the first voxel according to the sub-occupancy probability for use in decoding. If only the jth first voxel remains uncoded among the multiple first voxels, then this indicates that only one first voxel corresponding to the second voxel remains uncoded. At this point, when decoding this first voxel, the decoder can directly infer the attribute information of the remaining first voxel corresponding to the second voxel based on the attribute information of the second voxel and the decoded first voxel corresponding to the second voxel. That is, the attribute mean of the undecoded first voxels corresponding to the second voxel is now the attribute information of the jth first voxel. There is no need to decode the jth first voxel based on the jth group sub-occupancy probability, and therefore, no encoding is required during encoding. The encoding of the j+1th first voxel continues until j=H, at which point the attribute coding information of the first voxels in the i-th group is determined.

[0305] It should be noted that in an embodiment of the present application, if a partially encoded first voxel exists among the multiple first voxels corresponding to a second voxel, during the encoding process of the unencoded first voxel, since the decoder can determine the attribute mean of the unencoded first voxel corresponding to the second voxel based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel, when there is only one unencoded first voxel corresponding to the second voxel, the decoder can infer this attribute during decoding, and therefore, no further encoding based on the sub-occupancy probability is required. However, if there is more than one unencoded first voxel corresponding to the second voxel, the decoder cannot infer this attribute, and therefore, encoding based on the sub-occupancy probability of the unencoded first voxel must continue until there is only one unencoded first voxel, at which point no encoding is required and the decoder can directly infer its attribute information.

[0306] It can be understood that the group prediction and encoding method in the embodiment of the present application, compared with the method of predicting and encoding the occupancy probability of each voxel based on the parent node and neighbor node of each voxel, uses the attribute probability prediction network for encoding. On the one hand, it greatly reduces the encoding complexity and improves the encoding speed and compression performance; on the other hand, the group encoding method during encoding can improve the accuracy and efficiency of encoding.

[0307] In some embodiments of the present application, as shown in FIG15 , the encoding method provided in the embodiment of the present application may further include:

[0308] S701. Downsampling the point cloud data in sequence until it is divided into single voxels, thereby obtaining multiple-scale point clouds; the multiple-scale point clouds include: a first-scale point cloud and a second-scale point cloud; the second-scale point cloud is point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0309] It should be noted that the implementation principle and description of S701 are consistent with those of S501 and will not be repeated here.

[0310] S702 : During encoding of the first-scale point cloud, perform first-scale prediction based on attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud.

[0311] It should be noted that the implementation principle and description of S701 are consistent with those of S502, and will not be repeated here.

[0312] S703 : Using an attribute probability prediction network, perform probability prediction on the first color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the first color component.

[0313] S704 : Encode the attribute information of the first color component based on the occupancy probability of the first color component to obtain attribute encoding information corresponding to the first color component of the first-scale point cloud.

[0314] S705. Using an attribute probability prediction network, combined with the attribute information corresponding to the first color component of the first-scale point cloud, a probability prediction is performed on the second color component and the third color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component.

[0315] S706 : Encode the attribute information of the second color component based on the occupancy probability of the second color component to obtain attribute encoding information corresponding to the second color component of the first-scale point cloud.

[0316] S707 : Encode the attribute information of the third color component based on the occupancy probability of the third color component to obtain attribute encoding information corresponding to the third color component of the first-scale point cloud.

[0317] It should be noted that the implementation principles of S703-S707 are consistent with those of S303-S307, and will not be repeated here.

[0318] The difference is that in the embodiment of the present application, after the occupancy probabilities of different color components are determined, the corresponding attribute information is encoded based on the occupancy probabilities to obtain the attribute encoding information.

[0319] It can be understood that the color channel prediction and encoding method in the embodiment of the present application greatly reduces the decoding complexity when decoding using the attribute probability prediction network, compared to the prediction and encoding method based on non-channel sorting. Moreover, as the encoding proceeds, the attribute information of the encoded Y color component can be used in the encoding inference process of the unencoded other color components corresponding to the same first voxel, thereby realizing the encoding of the unencoded first voxel, thereby improving the accuracy and efficiency of the encoding.

[0320] In some embodiments of the present application, as shown in FIG16 , the encoding method provided in the embodiment of the present application may further include:

[0321] S801. Downsampling the point cloud data in sequence until it is divided into single voxels, thereby obtaining multiple-scale point clouds; the multiple-scale point clouds include: a first-scale point cloud and a second-scale point cloud; the second-scale point cloud is point cloud data of a parent node of a previous scale of the first-scale point cloud.

[0322] It should be noted that the implementation principle and description of S801 are consistent with those of S501 and will not be repeated here.

[0323] S802 , performing voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1.

[0324] It should be noted that the implementation principle and description of S802 are consistent with those of S602, and will not be repeated here.

[0325] S803 : Determine attribute prediction information corresponding to n first voxels at the first scale based on the attribute information of the second-scale point cloud, and thereby obtain the attribute prediction information of the first-scale point cloud.

[0326] It should be noted that the implementation principle and description of S803 are consistent with those of S603, and will not be repeated here.

[0327] S804 , grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1.

[0328] It should be noted that the implementation principle and description of S804 are consistent with those of S604, and will not be repeated here.

[0329] S805 , using an attribute probability prediction network, sequentially perform probability prediction on the m groups of first voxels under the first color component to determine the m groups of occupancy probabilities corresponding to the first color component.

[0330] S806 , encoding attribute information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component, and determining attribute coding information corresponding to the first color component of each of the m groups of first voxels.

[0331] The attribute information corresponding to the first color component is used to determine the m-group occupancy probabilities of the second color component and the m-group occupancy probabilities of the third color component.

[0332] S807. Using an attribute probability prediction network, combined with the attribute information corresponding to the first color component, probability prediction is performed on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

[0333] S808 , encoding attribute information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determining attribute coding information corresponding to the second color component of each of the m groups of first voxels.

[0334] S809 , encoding attribute information of the m groups of first voxels under the third color component according to the m groups of occupancy probabilities corresponding to the third color component, and determining attribute coding information corresponding to the third color component of each of the m groups of first voxels.

[0335] It should be noted that the implementation principles of S805-S809 are consistent with those of S405-S409, and will not be repeated here.

[0336] The difference is that in the embodiment of the present application, after the occupancy probabilities of different color components are determined, the corresponding attribute information is encoded based on the occupancy probabilities to obtain the attribute encoding information.

[0337] It should be noted that the encoder divides the point cloud of the scale to be encoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) dividing the point cloud of the same scale into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) dividing the point cloud of the same scale into a luminance channel (Y) and two chrominance channels (CoCg) according to the color channel. The encoder progressively predicts the probability distribution of each layer of point cloud in order from low scale to high scale, from the 1st group to the 8th group, and from the luminance channel to the chrominance channel, and uses it for lossless entropy coding. In this progressive prediction process, the encoded layer is known information and can be used as context. The probability prediction model based on the sparse tensor neural network helps predict the remaining unencoded groups.

[0338] It can be understood that the learning-based lossless attribute compression algorithm, the grouping, channel prediction and encoding method in the embodiment of the present application, that is, according to the characteristics of point cloud data and neural network tools, the point cloud is layered in multiple ways, such as scale, inter-group and inter-channel encoding. Compared with the method of predicting and encoding the occupancy probability of each voxel based on the parent node and neighbor node of each voxel, when the attribute probability prediction network is used for encoding, on the one hand, the encoding complexity is greatly reduced, and the encoding speed and compression performance are improved; as the encoding proceeds, the attribute information of the Y color component has been encoded, and the input attribute probability prediction network can be used in the encoding inference process of other unencoded color components corresponding to the same first voxel, helping to predict the occupancy probability of the current first voxel, thereby improving the accuracy and efficiency of the encoding.

[0339] Below, in conjunction with Figure 17, the application of the encoding and decoding method provided in the embodiment of the present application in a practical scenario is explained.

[0340] For example, we use adjacent scales Scale p-1, Scale p, and Scale p+1. Scale p+1 is downsampled and quantized to obtain Scale p, and the quantization error 1 is saved. Scale p is then downsampled and quantized again to obtain Scale p-1, and the quantization error 2 is saved, until multiple scales are obtained.

[0341] Encoding begins at the lowest scale point cloud. By the time Scale p is encoded, Scale p-1 has already been encoded. The encoder performs dequantization based on the attribute information of Scale p-1 and the quantization error of 2, obtaining the revised attribute prediction information of Scale p: 8, 7, 7, 7, 4, 4. The encoder then performs probabilistic prediction based on the revised attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p based on the occupancy probability. Continuing to encode Scale p+1, the encoder performs dequantization based on the attribute information of Scale p and the quantization error of 1, obtaining the revised attribute prediction information of Scale p+1: 7.5, 7.5, 5, 5, 8.5, 8.5, 7, 7, 3.5, 3.5, 4.5, 4.5. The encoder then performs probabilistic prediction based on the revised attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p+1 based on the occupancy probability. This continues until all scale point clouds are encoded, and the quantization error and attribute encoding information are written into the bitstream.

[0342] During decoding, decoding begins at the lowest-scale point cloud. By the time Scale p is decoded, Scale p-1 has already been decoded. The decoder performs dequantization based on the decoded attribute information of Scale p-1, using a quantization error of 2, to obtain revised attribute prediction information for Scale p: 8, 7, 7, 7, 4, 4. The decoder then performs probabilistic prediction based on this revised attribute prediction information and the attribute probability prediction network, and then decodes the attribute encoding information for Scale p obtained from the bitstream based on occupancy probabilities. Continuing with decoding of Scale p+1, the decoder performs dequantization based on the decoded attribute information of Scale p, using a quantization error of 1, to obtain revised attribute prediction information for Scale p+1: 7.5, 7.5, 5, 5, 8.5, 8.5, 7, 7, 3.5, 3.5, 4.5, 4.5. The decoder then performs probabilistic prediction based on this revised attribute prediction information and the attribute probability prediction network, and then decodes the attribute encoding information for Scale p+1 obtained from the bitstream based on occupancy probabilities, until all scale point clouds have been decoded.

[0343] An embodiment of the present application provides a bitstream, which is generated by bit encoding based on information to be encoded. The information to be encoded includes at least: attribute encoding information of point clouds at multiple scales, multiple quantization errors, and reconstructed geometric information of point clouds at multiple scales, wherein the reconstructed geometric information of the point clouds at multiple scales includes reconstructed geometric information of a point cloud at a first scale.

[0344] Based on the aforementioned inventive concept, an embodiment of the present application provides a decoder 1, as shown in FIG18 , comprising:

[0345] The decoding part 10 is configured to parse the code stream and determine the attribute coding information corresponding to the first scale point cloud;

[0346] The first prediction section 11 is configured to perform a prediction of the first scale based on the decoded attribute information of the second scale point cloud, and determine the attribute prediction information of the first scale point cloud; wherein the second scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first scale point cloud; and

[0347] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0348] The decoding part 10 is further configured to decode the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud.

[0349] In some embodiments of the present application, the first-scale point cloud includes: n first voxels; n is an integer greater than 1;

[0350] The first prediction part 11 is further configured to group voxels at the same position of each of the n first voxels to determine m groups of first voxels; m is an integer greater than or equal to 1;

[0351] The attribute probability prediction network is used to sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first-scale point cloud.

[0352] In some embodiments of the present application, the decoding part 10 is further configured to decode the attribute encoding information corresponding to the m groups of first voxels one by one according to the m groups of occupancy probabilities to determine the attribute information of each of the m groups of first voxels.

[0353] In some embodiments of the present application, the decoding part 10 is further configured to decode the attribute encoding information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;

[0354] The next group of decoding is continued based on the (i+1)th group of occupancy probabilities until the attribute coding information of the first voxels of the mth group is decoded, and the attribute information of each of the m groups of first voxels is determined.

[0355] In some embodiments of the present application, the second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number;

[0356] The decoding part 10 is further configured to decode the jth first voxel according to the jth group sub-occupancy probability to obtain attribute information of the jth first voxel if the number of undecoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located;

[0357] If the number of undecoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, determining an attribute mean of the undecoded first voxels corresponding to the second voxel, the attribute mean being attribute information of the j-th first voxel; the attribute mean being determined based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel;

[0358] The decoding of the j+1th first voxel is continued until j=H, and the attribute information of the i-th group of first voxels is determined.

[0359] In some embodiments of the present application, the first prediction part 11 is further configured to use the attribute probability prediction network to perform probability prediction on the first color component of the attribute prediction information, and determine the occupancy probability of the first-scale point cloud under the first color component.

[0360] In some embodiments of the present application, the decoding part 10 is further configured to decode the attribute encoding information under the first color component based on the occupancy probability under the first color component to obtain attribute information corresponding to the first color component of the first-scale point cloud.

[0361] In some embodiments of the present application, the first prediction part 11 is further configured to use the attribute probability prediction network to combine the attribute information corresponding to the first color component of the first-scale point cloud, perform probability prediction on the second color component and the third color component of the attribute prediction information, and determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component;

[0362] The decoding part 10 is further configured to decode the attribute encoding information under the second color component based on the occupancy probability under the second color component to obtain attribute information corresponding to the second color component of the first-scale point cloud;

[0363] Based on the occupancy probability of the third color component, the attribute encoding information of the third color component is decoded to obtain attribute information corresponding to the third color component of the first-scale point cloud.

[0364] In some embodiments of the present application, the first prediction part 11 is further configured to use the attribute probability prediction network to sequentially perform probability prediction on the m groups of first voxels under the first color component to determine the m groups of occupancy probabilities corresponding to the first color component;

[0365] The attribute probability prediction network is used, combined with the attribute information corresponding to the decoded first color component, to perform probability prediction on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

[0366] In some embodiments of the present application, the decoding portion 10 is further configured to decode the attribute encoding information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component, and determine the attribute information corresponding to the first color component of each of the m groups of first voxels; the attribute information corresponding to the first color component is used to determine the m groups of occupancy probabilities of the second color component and the m groups of occupancy probabilities of the third color component;

[0367] decoding the attribute encoding information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determining the attribute information corresponding to the second color component of each of the m groups of first voxels;

[0368] According to the m groups of occupancy probabilities corresponding to the third color component, the attribute coding information of the m groups of first voxels is decoded under the third color component to determine the attribute information corresponding to the third color component of each of the m groups of first voxels.

[0369] In some embodiments of the present application, the first prediction part 11 is further configured to input the attribute prediction information of each first voxel into the attribute probability prediction network to perform probability prediction, and determine at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud;

[0370] An occupancy probability of the first-scale point cloud is determined according to at least one probability model parameter of each first voxel of the first-scale point cloud.

[0371] In some embodiments of the present application, the first prediction part 11 is further configured to determine a probability density distribution of each first voxel according to at least one probability model parameter of at least one point included in each first voxel of the first-scale point cloud;

[0372] According to the probability density distribution of each first voxel, an integral operation is performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

[0373] In some embodiments of the present application, the decoding part 10 is further configured to determine decoded attribute information of the second-scale point cloud;

[0374] Determine the quantization error when downsampling the first-scale point cloud to the second-scale point cloud from the bitstream;

[0375] From the bitstream, the reconstructed geometric information of the first-scale point cloud is determined.

[0376] In some embodiments of the present application, the first prediction part 11 is further configured to use the quantization error to dequantize the decoded attribute information of the second-scale point cloud to determine the corrected attribute information of the second-scale point cloud;

[0377] Prediction of the first scale is performed based on the corrected attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud to determine attribute prediction information of the first-scale point cloud.

[0378] In some embodiments of the present application, the first prediction part 11 is further configured to perform voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1;

[0379] Attribute prediction information corresponding to the n first voxels at the first scale is determined according to the decoded attribute information of the second-scale point cloud, thereby obtaining the attribute prediction information of the first-scale point cloud.

[0380] In some embodiments of the present application, the first prediction part 11 is further configured to use the quantization error to dequantize the decoded attribute information of the second-scale point cloud to determine the corrected attribute information of the second-scale point cloud;

[0381] The corrected attribute information of the second voxel of the second-scale point cloud to which each of the n first voxels of the first scale belongs is determined as attribute prediction information corresponding to each first voxel.

[0382] The embodiment of the present application provides a decoder, as shown in FIG19 , including:

[0383] A first memory 12 configured to store executable instructions;

[0384] The first processor 13 is configured to implement a decoding method of the decoder when executing the executable instructions stored in the first memory 12.

[0385] It can be understood that when the decoder decodes the first-scale point cloud, the attribute information of the decoded second-scale point cloud is used to predict the first scale, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless decoding process, and then the occupancy probability is determined by the attribute probability prediction network during decoding. The use of the attribute probability prediction network avoids many processing operations, reduces the decoding complexity, and at the same time speeds up the prediction speed of the occupancy probability, thereby improving the processing efficiency of the prediction process. In this way, if the occupancy probability is used to decode the attribute encoding information, the decoding efficiency and decoding performance can be improved.

[0386] The embodiment of the present application provides an encoder 2, as shown in FIG20 , including:

[0387] The dividing portion 20 is configured to sequentially perform voxel downsampling on the point cloud data until the point cloud data is divided into a single voxel, thereby obtaining a plurality of scale point clouds; the plurality of scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is point cloud data of a parent node of a previous scale of the first scale point cloud;

[0388] The second prediction part 21 is configured to perform a first-scale prediction based on the attribute information of the second-scale point cloud during encoding of the first-scale point cloud, and determine the attribute prediction information of the first-scale point cloud; and

[0389] Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud;

[0390] The encoding part 22 is configured to encode the attribute information of the first-scale point cloud based on the occupancy probability and determine the attribute encoding information of the first-scale point cloud.

[0391] In some embodiments of the present application, the first-scale point cloud includes: n first voxels; n is an integer greater than 1;

[0392] The second prediction part 21 is further configured to group voxels at the same position of each of the n first voxels to determine m groups of first voxels; m is an integer greater than or equal to 1;

[0393] The attribute probability prediction network is used to sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first-scale point cloud.

[0394] In some embodiments of the present application, the encoding part 22 is further configured to encode the attribute information corresponding to the m groups of first voxels one by one according to the m groups of occupancy probabilities, and determine the attribute encoding information of each of the m groups of first voxels.

[0395] In some embodiments of the present application, the encoding part 22 is further configured to encode the attribute information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;

[0396] The next group of encoding is continued based on the (i+1)th group of occupancy probabilities until the attribute information of the first voxels of the mth group is encoded, and the attribute encoding information of each of the m groups of first voxels is determined.

[0397] In some embodiments of the present application, the second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number;

[0398] The encoding part 22 is further configured to encode the jth first voxel according to the jth group sub-occupancy probability to obtain attribute encoding information of the jth first voxel if the number of unencoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located;

[0399] The encoding of the j+1th first voxel is continued until j=H, and the attribute encoding information of the i-th group of first voxels is determined.

[0400] In some embodiments of the present application, the encoding part 22 is further configured to continue encoding the j+1th first voxel until j=H, and before determining the attribute encoding information of the i-th group of first voxels, if the number of unencoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, then the j-th first voxel is not encoded.

[0401] In some embodiments of the present application, the second prediction part 21 is further configured to use the attribute probability prediction network to perform probability prediction on the first color component of the attribute prediction information, and determine the occupancy probability of the first-scale point cloud under the first color component.

[0402] In some embodiments of the present application, the encoding part 22 is further configured to encode the attribute information under the first color component based on the occupancy probability under the first color component to obtain attribute encoding information corresponding to the first color component of the first-scale point cloud.

[0403] In some embodiments of the present application, the second prediction part 21 is further configured to use the attribute probability prediction network to combine the attribute information corresponding to the first color component of the first-scale point cloud, perform probability prediction on the second color component and the third color component of the attribute prediction information, and determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component;

[0404] The encoding part 22 is further configured to encode the attribute information of the second color component based on the occupancy probability of the second color component to obtain attribute encoding information corresponding to the second color component of the first-scale point cloud;

[0405] Based on the occupancy probability of the third color component, the attribute information of the third color component is encoded to obtain attribute encoding information corresponding to the third color component of the first-scale point cloud.

[0406] In some embodiments of the present application, the second prediction part 21 is further configured to use the attribute probability prediction network to sequentially perform probability prediction on the m groups of first voxels under the first color component to determine the m groups of occupancy probabilities corresponding to the first color component;

[0407] The attribute probability prediction network is used, combined with the attribute information corresponding to the first color component, to perform probability prediction on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

[0408] In some embodiments of the present application, the encoding unit 22 is further configured to encode attribute information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component, and determine attribute encoding information corresponding to the first color component of each of the m groups of first voxels; the attribute information corresponding to the first color component is used to determine the m groups of occupancy probabilities of the second color component and the m groups of occupancy probabilities of the third color component;

[0409] encoding attribute information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determining attribute encoding information corresponding to the second color component of each of the m groups of first voxels;

[0410] According to the m groups of occupancy probabilities corresponding to the third color component, the attribute information of the m groups of first voxels is encoded under the third color component, and the attribute coding information corresponding to the third color component of each of the m groups of first voxels is determined.

[0411] In some embodiments of the present application, the second prediction part 21 is further configured to input the attribute prediction information of each first voxel into the attribute probability prediction network to perform probability prediction, and determine at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud;

[0412] An occupancy probability of the first-scale point cloud is determined according to at least one probability model parameter of each first voxel of the first-scale point cloud.

[0413] In some embodiments of the present application, the second prediction part 21 is further configured to determine a probability density distribution of each first voxel according to at least one probability model parameter of at least one point included in each first voxel of the first-scale point cloud;

[0414] According to the probability density distribution of each first voxel, an integral operation is performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

[0415] In some embodiments of the present application, the encoder 2 further includes: a determination part 23;

[0416] The determining part 23 is further configured to determine a plurality of quantization errors each time the point cloud data is downsampled to the next scale in the process of sequentially downsampling the point cloud data to a single voxel until the point cloud data is divided into the plurality of scales, wherein the plurality of quantization errors include a quantization error when the first scale point cloud is downsampled to the second scale point cloud.

[0417] In some embodiments of the present application, the encoder 2 further includes: a determination part 23;

[0418] The determining part 23 is further configured to determine the reconstructed geometric information of the first-scale point cloud.

[0419] In some embodiments of the present application, the second prediction part 21 is further configured to use the quantization error to dequantize the decoded attribute information of the second scale point cloud to determine the corrected attribute information of the second scale point cloud;

[0420] Prediction of the first scale is performed based on the corrected attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud to determine attribute prediction information of the first-scale point cloud.

[0421] In some embodiments of the present application, the encoding part 22 is further configured to continue encoding the third-scale point cloud until the encoding of the multiple scale point clouds is completed, thereby obtaining attribute encoding information of the multiple scale point clouds.

[0422] In some embodiments of the present application, the encoder 2 further includes: a writing portion 24;

[0423] The writing part 24 is further configured to write the attribute coding information of the multiple scale point clouds into the code stream respectively.

[0424] In some embodiments of the present application, the encoder 2 further includes: a writing portion 24;

[0425] The writing part 24 is further configured to write the multiple quantization errors into the bit stream.

[0426] In some embodiments of the present application, the encoder 2 further includes: a writing portion 24;

[0427] The writing part 24 is further configured to write the reconstructed geometric information of the first-scale point cloud into the code stream.

[0428] In some embodiments of the present application, the second prediction part 21 is further configured to perform voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1;

[0429] According to the attribute information of the second-scale point cloud, attribute prediction information corresponding to the n first voxels of the first scale is determined, thereby obtaining the attribute prediction information of the first-scale point cloud.

[0430] In some embodiments of the present application, the second prediction part 21 is further configured to use the quantization error to dequantize the attribute information of the second-scale point cloud to determine the corrected attribute information of the second-scale point cloud;

[0431] The corrected attribute information of the second voxel of the second-scale point cloud to which each of the n first voxels of the first scale belongs is determined as attribute prediction information corresponding to each first voxel.

[0432] An embodiment of the present application provides an encoder, as shown in FIG21 , including:

[0433] A second memory 25 configured to store executable instructions;

[0434] The second processor 26 is configured to implement the encoding method of the encoder when executing the executable instructions stored in the second memory 25.

[0435] It can be understood that in the encoder, through processing between scales, the first scale is predicted based on the attribute information of the second-scale point cloud, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless coding process, and then the occupancy probability is determined by the attribute probability prediction network during encoding. The use of the attribute probability prediction network avoids many processing operations, reduces the coding complexity, and at the same time speeds up the prediction speed of the occupancy probability, and improves the processing efficiency of the prediction process. In this way, if the occupancy probability is used to encode the attribute information, the coding efficiency and coding performance can be improved.

[0436] An embodiment of the present application provides a computer-readable storage medium storing executable instructions. When the executable instructions are executed by a first processor, the first processor will execute any one of the decoding methods provided in the above-mentioned embodiments of the present application; or, when the executable instructions are executed by a second processor, the second processor will execute any one of the encoding methods provided in the above-mentioned embodiments of the present application.

[0437] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or various devices including one or any combination of the above memories.

[0438] In some embodiments, executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0439] As an example, executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions).

[0440] By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.

[0441] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Furthermore, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.

[0442] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

[0443] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0444] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0445] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the scope of protection of the present application. Industrial Applicability

[0446] In an embodiment of the present application, at the decoder, when decoding the first-scale point cloud, the attribute information of the decoded second-scale point cloud is used to predict the first scale, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network is used in the lossless decoding process, and then the occupancy probability is determined by the attribute probability prediction network during decoding. The use of the attribute probability prediction network avoids many processing operations, reduces the decoding complexity, and at the same time speeds up the prediction speed of the occupancy probability, thereby improving the processing efficiency of the prediction process. In this way, if the occupancy probability is used to decode the attribute coding information, the decoding efficiency and decoding performance can be improved.

[0447] In the encoder, through the processing between scales, the first scale is predicted based on the attribute information of the second-scale point cloud, and the first-scale point cloud and its attribute prediction information are predicted. Then, the attribute prediction information is input into the attribute probability prediction network for probability prediction to determine the occupancy probability of the first-scale point cloud. The attribute probability prediction network acts on the lossless coding process, and then the occupancy probability is determined by the attribute probability prediction network during encoding. The use of the attribute probability prediction network avoids many processing operations, reduces the coding complexity, and at the same time speeds up the prediction speed of the occupancy probability, and improves the processing efficiency of the prediction process. In this way, if the occupancy probability is used to encode the attribute information, the coding efficiency and coding performance can be improved.

Claims

1. A decoding method, comprising: Parse the code stream to determine the attribute coding information corresponding to the first-scale point cloud; Predicting the first scale based on the decoded attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud; wherein the second-scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first-scale point cloud; Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud; The attribute encoding information is decoded based on the occupancy probability to determine attribute information of the first-scale point cloud.

2. The method according to claim 1, wherein The first-scale point cloud includes: n first voxels; n is an integer greater than 1; The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: Grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1; The attribute probability prediction network is used to sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first-scale point cloud.

3. The method according to claim 2, wherein: The decoding the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud includes: The attribute coding information corresponding to the m groups of first voxels is decoded group by group according to the m groups of occupancy probabilities to determine the attribute information of each of the m groups of first voxels.

4. The method according to claim 2 or 3, wherein: The decoding the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud includes: Decoding the attribute encoding information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m; The next group of decoding is continued based on the (i+1)th group of occupancy probabilities until the attribute coding information of the first voxels of the mth group is decoded, and the attribute information of each of the m groups of first voxels is determined.

5. The method according to claim 4, wherein The second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number; The decoding of the attribute encoding information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel in the i-th group includes: If the number of undecoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1, decode the jth first voxel according to the jth group sub-occupancy probability to obtain the attribute information of the jth first voxel; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located; If the number of undecoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, determining an attribute mean of the undecoded first voxels corresponding to the second voxel, the attribute mean being attribute information of the j-th first voxel; the attribute mean being determined based on the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel; The decoding of the j+1th first voxel is continued until j=H, and the attribute information of the i-th group of first voxels is determined.

6. The method according to claim 1, wherein The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: The attribute probability prediction network is used to perform probability prediction on the first color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the first color component.

7. The method according to claim 6, wherein: The decoding the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud includes: Based on the occupancy probability of the first color component, the attribute encoding information of the first color component is decoded to obtain attribute information corresponding to the first color component of the first-scale point cloud.

8. The method according to claim 7, wherein: The method further comprises: The attribute probability prediction network is used to combine the attribute information corresponding to the first color component of the first-scale point cloud, and to perform probability prediction on the second color component and the third color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component; decoding the attribute encoding information of the second color component based on the occupancy probability of the second color component to obtain attribute information corresponding to the second color component of the first-scale point cloud; Based on the occupancy probability of the third color component, the attribute encoding information of the third color component is decoded to obtain attribute information corresponding to the third color component of the first-scale point cloud.

9. The method according to any one of claims 2 to 4, wherein: The method of using an attribute probability prediction network to sequentially perform probability prediction on the m groups of first voxels to determine the m groups of occupancy probabilities includes: Using the attribute probability prediction network, under the first color component, sequentially perform probability prediction on the m groups of first voxels to determine the m groups of occupancy probabilities corresponding to the first color component; The attribute probability prediction network is used, combined with the attribute information corresponding to the decoded first color component, to perform probability prediction on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

10. The method according to claim 9, wherein: The decoding of the attribute encoding information of the m groups of first voxels one by one according to the m groups of occupancy probabilities to determine the attribute information of each of the m groups of first voxels includes: Decoding the attribute encoding information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component to determine the attribute information corresponding to the first color component of each of the m groups of first voxels; the attribute information corresponding to the first color component is used to determine the m groups of occupancy probabilities of the second color component and the m groups of occupancy probabilities of the third color component; decoding the attribute encoding information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determining the attribute information corresponding to the second color component of each of the m groups of first voxels; According to the m groups of occupancy probabilities corresponding to the third color component, the attribute coding information of the m groups of first voxels is decoded under the third color component to determine the attribute information corresponding to the third color component of each of the m groups of first voxels.

11. The method according to any one of claims 1 to 7, wherein: The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: Inputting the attribute prediction information of each first voxel into the attribute probability prediction network for probability prediction, and determining at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud; An occupancy probability of the first-scale point cloud is determined according to at least one probability model parameter of each first voxel of the first-scale point cloud.

12. The method according to claim 11, wherein The determining the occupancy probability of the first-scale point cloud according to at least one probability model parameter of each first voxel of the first-scale point cloud includes: determining a probability density distribution of each first voxel according to at least one probability model parameter of at least one point included in each first voxel of the first-scale point cloud; According to the probability density distribution of each first voxel, an integral operation is performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

13. The method according to any one of claims 1 to 10, wherein: The method further comprises: determining decoded attribute information of the second-scale point cloud; Determine the quantization error when downsampling the first-scale point cloud to the second-scale point cloud from the bitstream; From the bitstream, the reconstructed geometric information of the first-scale point cloud is determined.

14. The method according to claim 13, wherein The performing prediction of the first scale based on the decoded attribute information of the second scale point cloud to determine the attribute prediction information of the first scale point cloud includes: Dequantizing the decoded attribute information of the second-scale point cloud using the quantization error to determine corrected attribute information of the second-scale point cloud; Prediction of the first scale is performed based on the corrected attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud to determine attribute prediction information of the first-scale point cloud.

15. The method according to any one of claims 1 to 10, wherein: The performing prediction of the first scale based on the decoded attribute information of the second scale point cloud to determine the attribute prediction information of the first scale point cloud includes: Performing voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1; Attribute prediction information corresponding to the n first voxels at the first scale is determined according to the decoded attribute information of the second-scale point cloud, thereby obtaining the attribute prediction information of the first-scale point cloud.

16. The method according to claim 15, wherein The determining, based on the decoded attribute information of the second-scale point cloud, attribute prediction information corresponding to the n first voxels at the first scale includes: Dequantizing the decoded attribute information of the second-scale point cloud using the quantization error to determine corrected attribute information of the second-scale point cloud; The corrected attribute information of the second voxel of the second-scale point cloud to which each of the n first voxels of the first scale belongs is determined as attribute prediction information corresponding to each first voxel.

17. A coding method comprising: The point cloud data is sequentially downsampled until it is divided into a single voxel, and multiple scale point clouds are obtained; The multiple scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is point cloud data of a previous scale parent node of the first scale point cloud; During encoding of the first-scale point cloud, performing a first-scale prediction based on the attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud; Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud; Attribute information of the first-scale point cloud is encoded based on the occupancy probability to determine attribute encoding information of the first-scale point cloud.

18. The method according to claim 17, wherein The first-scale point cloud includes: n first voxels; n is an integer greater than 1; The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: Grouping voxels at the same position of each of the n first voxels to determine m groups of first voxels, where m is an integer greater than or equal to 1; The attribute probability prediction network is used to sequentially perform probability prediction on the attribute prediction information of the m groups of first voxels to determine m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first-scale point cloud.

19. The method according to claim 18, wherein The encoding of the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud includes: Attribute information corresponding to the m groups of first voxels is encoded group by group according to the m groups of occupancy probabilities to determine attribute encoding information of each of the m groups of first voxels.

20. The method according to claim 18 or 19, wherein The encoding of the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud includes: Encoding the attribute information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel in the i-th group; i is an integer greater than or equal to 1 and less than or equal to m; The next group of encoding is continued based on the (i+1)th group of occupancy probabilities until the attribute information of the first voxels of the mth group is encoded, and the attribute encoding information of each of the m groups of first voxels is determined.

21. The method according to claim 20, wherein The second-scale point cloud includes: K second voxels; K is an integer greater than or equal to 1 and less than the total number of voxels in the first-scale point cloud; the i-th group of first voxels includes: H first voxels; the i-th group of occupancy probabilities includes: H groups of sub-occupancy probabilities; H is an integer greater than or equal to 1 and less than or equal to a preset number; The step of encoding the attribute information of the first voxel in the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel in the i-th group includes: If the number of uncoded first voxels corresponding to the second voxel to which the jth first voxel belongs is greater than 1, then the jth first voxel is encoded according to the jth group sub-occupancy probability to obtain the attribute coding information of the jth first voxel; the second voxel is the voxel where the parent node of the second scale corresponding to the point in the jth first voxel is located; The encoding of the j+1th first voxel is continued until j=H, and the attribute encoding information of the i-th group of first voxels is determined.

22. The method according to claim 21, wherein The encoding of the j+1th first voxel is continued until j=H, and before determining the attribute encoding information of the i-th group of first voxels, the method further includes: If the number of uncoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, the j-th first voxel is not coded.

23. The method according to claim 17, wherein The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: The attribute probability prediction network is used to perform probability prediction on the first color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the first color component.

24. The method according to claim 23, wherein The encoding of the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud includes: Based on the occupancy probability of the first color component, attribute information of the first color component is encoded to obtain attribute encoding information corresponding to the first color component of the first-scale point cloud.

25. The method according to claim 23, wherein The method further comprises: The attribute probability prediction network is used to combine the attribute information corresponding to the first color component of the first-scale point cloud, and to perform probability prediction on the second color component and the third color component of the attribute prediction information to determine the occupancy probability of the first-scale point cloud under the second color component and the occupancy probability under the third color component; encoding attribute information of the second color component based on the occupancy probability of the second color component to obtain attribute encoding information corresponding to the second color component of the first-scale point cloud; Based on the occupancy probability of the third color component, the attribute information of the third color component is encoded to obtain attribute encoding information corresponding to the third color component of the first-scale point cloud.

26. The method according to any one of claims 18 to 20, wherein The method of using an attribute probability prediction network to sequentially perform probability prediction on the m groups of first voxels to determine the m groups of occupancy probabilities includes: Using the attribute probability prediction network, under the first color component, sequentially perform probability prediction on the m groups of first voxels to determine the m groups of occupancy probabilities corresponding to the first color component; The attribute probability prediction network is used, combined with the attribute information corresponding to the first color component, to perform probability prediction on the m groups of first voxels in sequence under the second color component and the third color component, respectively, to determine the m groups of occupancy probabilities corresponding to the second color component and the m groups of occupancy probabilities corresponding to the third color component.

27. The method according to claim 26, wherein The encoding of the attribute information of the m groups of first voxels one by one according to the m groups of occupancy probabilities to determine the attribute encoding information of each of the m groups of first voxels includes: encoding attribute information of the m groups of first voxels under the first color component according to the m groups of occupancy probabilities corresponding to the first color component, and determining attribute encoding information corresponding to the first color component of each of the m groups of first voxels; the attribute information corresponding to the first color component is used to determine the m groups of occupancy probabilities of the second color component and the m groups of occupancy probabilities of the third color component; encoding attribute information of the m groups of first voxels under the second color component according to the m groups of occupancy probabilities corresponding to the second color component, and determining attribute encoding information corresponding to the second color component of each of the m groups of first voxels; According to the m groups of occupancy probabilities corresponding to the third color component, the attribute information of the m groups of first voxels is encoded under the third color component, and the attribute coding information corresponding to the third color component of each of the m groups of first voxels is determined.

28. The method according to any one of claims 17 to 24, wherein The method of using an attribute probability prediction network to perform probability prediction on the attribute prediction information to determine the occupancy probability of the first-scale point cloud includes: Inputting the attribute prediction information of each first voxel into the attribute probability prediction network for probability prediction, and determining at least one probability model parameter of each first voxel of the first-scale point cloud; the first voxel is a voxel corresponding to the first-scale point cloud; An occupancy probability of the first-scale point cloud is determined according to at least one probability model parameter of each first voxel of the first-scale point cloud.

29. The method according to claim 28, wherein The determining the occupancy probability of the first-scale point cloud according to at least one probability model parameter of each first voxel of the first-scale point cloud includes: determining a probability density distribution of each first voxel according to at least one probability model parameter of at least one point included in each first voxel of the first-scale point cloud; According to the probability density distribution of each first voxel, an integral operation is performed within a preset range centered on each first voxel to determine the occupancy probability of each first voxel, thereby determining the occupancy probability of the first-scale point cloud.

30. The method according to any one of claims 17 to 27, wherein The method further comprises: In the process of sequentially downsampling the point cloud data by voxels until the point cloud data is divided into a single voxel, to obtain the multiple-scale point clouds, multiple quantization errors are determined each time the point cloud data is downsampled to the next scale; the multiple quantization errors include: quantization errors when the first-scale point cloud is downsampled to the second-scale point cloud.

31. The method according to any one of claims 17 to 27, wherein: The method further comprises: Determine the reconstructed geometric information of the first-scale point cloud.

32. The method according to claim 31, wherein The performing the first-scale prediction based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud includes: Dequantizing the decoded attribute information of the second-scale point cloud using the quantization error to determine corrected attribute information of the second-scale point cloud; Prediction of the first scale is performed based on the corrected attribute information of the second-scale point cloud and the reconstructed geometric information of the first-scale point cloud to determine attribute prediction information of the first-scale point cloud.

33. The method of claim 17, wherein: The method further comprises: The encoding of the third-scale point cloud is continued until the encoding of the multiple-scale point clouds is completed, thereby obtaining attribute encoding information of the multiple-scale point clouds.

34. The method according to claim 17 or 32, further comprising: Write the attribute encoding information of multiple scale point clouds into the code stream separately.

35. The method of claim 30, further comprising: The multiple quantization errors are written into a bitstream.

36. The method of claim 31 , further comprising: The reconstructed geometric information of the first-scale point cloud is written into the bitstream.

37. The method according to any one of claims 17 to 27, wherein The performing the first-scale prediction based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud includes: Performing voxel upsampling on the second-scale point cloud to determine n first voxels of the first scale; n is an integer greater than 1; According to the attribute information of the second-scale point cloud, attribute prediction information corresponding to the n first voxels of the first scale is determined, thereby obtaining the attribute prediction information of the first-scale point cloud.

38. The method according to any one of claims 17 to 27, wherein The determining, based on the attribute information of the second-scale point cloud, attribute prediction information corresponding to the n first voxels at the first scale includes: Dequantizing the attribute information of the second-scale point cloud using the quantization error to determine corrected attribute information of the second-scale point cloud; The corrected attribute information of the second voxel of the second-scale point cloud to which each of the n first voxels of the first scale belongs is determined as attribute prediction information corresponding to each first voxel.

39. A decoder comprising: The decoding part is configured to parse the code stream and determine the attribute encoding information corresponding to the first scale point cloud; A first prediction section is configured to perform a prediction of the first scale based on the decoded attribute information of the second scale point cloud, and determine the attribute prediction information of the first scale point cloud; wherein the second scale point cloud is the decoded point cloud data of the parent node of the previous scale of the first scale point cloud; and Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud; The decoding part is further configured to decode the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud.

40. An encoder comprising: The division part is configured to sequentially downsample the point cloud data until it is divided into a single voxel, thereby obtaining point clouds at multiple scales; The multiple scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is point cloud data of a previous scale parent node of the first scale point cloud; The second prediction part is configured to perform a first-scale prediction based on the attribute information of the second-scale point cloud during encoding of the first-scale point cloud, and determine the attribute prediction information of the first-scale point cloud; and Using an attribute probability prediction network, performing probability prediction on the attribute prediction information to determine the occupancy probability of the first scale point cloud; The encoding part is configured to encode the attribute information of the first-scale point cloud based on the occupancy probability and determine the attribute encoding information of the first-scale point cloud.

41. A code stream comprising: The code stream is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least: attribute encoding information of multiple scale point clouds, multiple quantization errors, and reconstructed geometric information of multiple scale point clouds, wherein the reconstructed geometric information of the multiple scale point clouds includes the reconstructed geometric information of the first scale point cloud.

42. A decoder comprising: a first memory configured to store executable instructions; The first processor is configured to implement the method according to any one of claims 1 to 16 when executing the executable instructions stored in the first memory.

43. An encoder comprising: a second memory configured to store executable instructions; The second processor is configured to implement the method according to any one of claims 17 to 38 when executing the executable instructions stored in the second memory.

44. A computer-readable storage medium storing executable instructions for causing a first processor to execute the method according to any one of claims 1 to 16, or for causing a second processor to execute the method according to any one of claims 17 to 38.