WO2024082101A1 - Encoding method, decoding method, decoder, encoder, code stream, and storage medium - Google Patents

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

Info

Publication number
WO2024082101A1
WO2024082101A1 PCT/CN2022/125722 CN2022125722W WO2024082101A1 WO 2024082101 A1 WO2024082101 A1 WO 2024082101A1 CN 2022125722 W CN2022125722 W CN 2022125722W WO 2024082101 A1 WO2024082101 A1 WO 2024082101A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
point cloud
information
scale
voxel
Prior art date
Application number
PCT/CN2022/125722
Other languages
French (fr)
Chinese (zh)
Inventor
马展
王剑强
魏红莲
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/125722 priority Critical patent/WO2024082101A1/en
Publication of WO2024082101A1 publication Critical patent/WO2024082101A1/en

Links

Images

Definitions

  • the present application relates to point cloud compression coding and decoding technology, and in particular to a coding and decoding method, a decoder, an encoder, a bit stream and a storage medium.
  • 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, which 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.
  • 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.
  • attribute compression algorithms are all implemented based on traditional coding and decoding methods. Attribute compression algorithms can be divided into two main technical points: prediction and transformation. Taking the attribute compression method in the standard point cloud compression algorithm G-PCC (Geometry-based Point Cloud Compression) developed by the International Moving Picture Experts Group (MPEG) as an example, there are two different modes: Predlift and RAHT.
  • Predlift is a compression technology with prediction as the 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 the core.
  • the embodiments of the present application provide a coding and decoding method, a decoder, an encoder, a bit stream and a storage medium, which can reduce the complexity of coding and decoding and improve the coding and decoding performance.
  • an embodiment of the present application provides a decoding method, including:
  • the attribute encoding information is decoded based on the occupancy probability to determine attribute information of the first-scale point cloud.
  • an embodiment of the present application provides an encoding method, including:
  • the point cloud data is sequentially downsampled until it 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 previous scale parent node 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.
  • an embodiment of the present application provides a decoder, including:
  • a decoding part configured to parse the bitstream and determine attribute encoding information corresponding to the first scale point cloud
  • a first prediction part 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 previous scale parent node of the first scale point cloud; and
  • the decoding part is also configured to decode the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud.
  • an encoder including:
  • the division part is configured to sequentially perform voxel downsampling on the point cloud data until a single voxel is divided to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud;
  • a second prediction part is configured to perform a prediction of the first scale 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;
  • 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.
  • an embodiment of the present application further provides a decoder, including:
  • a first memory configured to store executable instructions
  • 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.
  • an encoder including:
  • a second memory configured to store executable instructions
  • 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.
  • an embodiment of the present application provides a code stream, including:
  • the code stream is generated by bit encoding according to 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.
  • 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.
  • the embodiment of the present application provides a coding and decoding method, a decoder, an encoder, a code stream and a storage medium.
  • the decoder decodes a 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.
  • the attribute prediction information is 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. Then, 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 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.
  • 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.
  • 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 coding process.
  • 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 and reduces the coding complexity. At the same time, it 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.
  • FIG1 is a flow chart of G-PCC coding
  • FIG2 is a flow chart of G-PCC decoding
  • FIG3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application.
  • FIG4 is a schematic diagram showing attribute information of a voxel provided in an embodiment of the present application.
  • FIG5A is a schematic diagram of an optional implementation of voxel upsampling provided in an embodiment of the present application.
  • FIG5B is an optional schematic diagram showing attribute information and attribute prediction information in a voxel upsampling process provided in an embodiment of the present application;
  • FIG6 is a schematic diagram of an optional structure of an attribute probability prediction network provided in an embodiment of the present application.
  • FIG7 is a schematic diagram of another optional flow chart of a decoding method provided in an embodiment of the present application.
  • FIG8 is a schematic diagram of an optional process of dividing into groups provided in an embodiment of the present application.
  • FIG9 is an optional schematic diagram of a process of sequentially decoding groups provided in an embodiment of the present application.
  • FIG10 is a schematic diagram of another optional flow chart of a decoding method provided in an embodiment of the present application.
  • FIG11 is an optional schematic diagram showing a process of predicting occupancy probabilities between different color components provided in an embodiment of the present application.
  • FIG12 is a schematic diagram of another optional flow chart of the decoding method provided in an embodiment of the present application.
  • FIG13 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application.
  • FIG14 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application.
  • FIG15 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application.
  • FIG16 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application.
  • 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
  • FIG18 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application.
  • FIG19 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application.
  • FIG20 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
  • FIG. 21 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
  • 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 here can be implemented in an order other than that illustrated or described here.
  • G-PCC Geometry-based Point Cloud Compression
  • V-PCC Video-based Point Cloud Compression
  • LOD Level of Detail
  • RAHT Region Adaptive Hierarchal Transform
  • Luminance component (Luminance, Luma or Y);
  • Red chromaticity component Chroma red, Cr
  • Voxel is the abbreviation of volume element, which is the smallest unit of digital data in three-dimensional space segmentation. Voxel can be used to divide 3D space into grids and give each grid feature. For example, voxel can be a cubic block of fixed size in three-dimensional space. Voxel can be widely used in fields such as three-dimensional imaging, scientific data and medical imaging.
  • 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.
  • 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.
  • a point cloud refers to a collection of massive three-dimensional points, and the points in the point cloud may include the location information of the points and the attribute information of the points.
  • the location information of the point may be the three-dimensional coordinate information of the point.
  • the location information of the point may also be referred to as the geometric information of the point.
  • the attribute information of the point may include color information and/or reflectivity, etc.
  • the color information may be information on any color space.
  • the color information may be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
  • the color information may be brightness and chromaticity (YCbCr, YUV) information.
  • Y represents brightness
  • Cb (U) represents blue chromaticity
  • Cr (V) represents red chromaticity
  • the color information may be brightness and chromaticity (YCKCg) information.
  • Y represents brightness
  • Co represents orange chromaticity
  • Cg represents green chromaticity, etc., which is not limited by the embodiments of the present application.
  • Point clouds can be divided into the following categories according to the way they are obtained:
  • the first type of static point cloud the object is stationary, and the device that obtains the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
  • the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
  • point clouds can be divided into two categories:
  • Category 1 Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.
  • Category 2 Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • point clouds 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.
  • Point cloud compression algorithms include two solutions developed by the International Moving Picture Experts Group (MPEG), namely Video-based Point Cloud Compression (V-PCC) and Geometry-based Point Cloud Compression (G-PCC).
  • MPEG Motion Picture Experts Group
  • V-PCC Video-based Point Cloud Compression
  • G-PCC Geometry-based Point Cloud Compression
  • the geometric compression in G-PCC is mainly implemented through an octree model and/or a triangle surface model.
  • V-PCC is mainly implemented through three-dimensional to two-dimensional projection and video compression.
  • the G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud
  • the V-PCC codec 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 codec framework.
  • 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.
  • 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.
  • Predlift is a compression technology with prediction as the 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 the core.
  • the embodiment of the present application provides a coding and decoding method, a decoder, an encoder, a code stream and a computer-readable storage medium, which can improve the coding and decoding efficiency and improve the coding and decoding performance.
  • 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 embodiment of the present application are only for more clearly illustrating the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided by the embodiment of the present application.
  • the point cloud compressed in the embodiment of the present application can be a point cloud in a video, but is not limited to this.
  • the point cloud of the input 3D image model is sliced and each slice is encoded independently.
  • the point cloud data is first divided into multiple slices by strip division. In each slice, the geometric information and attribute information of the point cloud are encoded separately. In the geometric coding process, the geometric information is transformed so that all the point clouds are contained in a bounding box, and then quantized. Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same. It can be determined whether to remove duplicate points based on parameters. The process of quantization and removal of duplicate points is also called voxelization. Then the bounding box is divided into octrees.
  • the bounding box is divided into 8 sub-cubes, and the non-empty (containing points in the point cloud) sub-cubes are divided into 8 equal parts until the leaf node obtained by the division is a 1x1x1 unit cube.
  • the division is stopped, and the points in the leaf node are arithmetically encoded to generate a binary geometric bit stream, that is, a geometric code stream.
  • octree division must also be performed first.
  • 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 side length of the sub-block is W.
  • the surface and the twelve edges of the block are obtained. At most twelve intersections (vertex) generated by the twelve edges of the block are obtained, and the vertices are arithmetically encoded (surface fitting based on the intersections) to generate a binary geometric bit stream, that is, 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.
  • color conversion is performed to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space or the YCoCg color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • the color information encoding process there are two main transformation methods. One is the distance-based lifting transformation that relies on the level of detail (LOD) division, and the other is the direct transformation of the region adaptive hierarchical transformation (RAHT). Both methods will convert the color information from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through the transformation, and finally quantize the coefficients (i.e., quantized coefficients).
  • the geometric encoding data after octree division and surface fitting and the attribute encoding data processed by the quantized coefficients are sliced and synthesized, and the vertex coordinates of each block are encoded in turn (i.e., arithmetic encoding) to generate a binary attribute bit stream, i.e., the attribute code stream.
  • the flowchart of G-PCC decoding shown in Figure 2 is applied to the decoder.
  • the decoder obtains a binary code stream, and independently decodes the geometric bit stream (i.e., geometric code stream) and attribute bit stream in the binary code stream.
  • the geometric bit stream the geometric information of the point cloud is obtained through arithmetic decoding-octree synthesis-surface fitting-reconstruction of geometry-inverse coordinate transformation;
  • 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.
  • the encoding method provided in the embodiment of the present application can be understood as being applied to the attribute information encoding process of G-PCC as shown in Figure 1.
  • 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 prediction information is probability predicted using the attribute probability prediction network 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, i.e., 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.
  • 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 bitstream (code stream) is written.
  • 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 , by parsing the attribute bit stream, determining the attribute coding information corresponding to the first scale point cloud; performing a prediction of the first scale based on the decoded attribute information of the second scale point cloud, and determining the attribute prediction information of the first scale point cloud; wherein the second scale point cloud is the decoded point cloud data of the previous scale parent node of the first scale point cloud; using an attribute probability prediction network, probabilistically predicting the attribute prediction information, and determining the occupancy probability of the first scale point cloud; decoding the attribute coding information based on the occupancy probability, and determining the attribute information of the first scale point cloud, thereby replacing the processing process of the arithmetic decoding-inverse quantization-generation of LOD-inverse lifting branch in FIG2 , and realizing lossless decoding.
  • the decoding process of the embodiment of the present application can adopt the arithmetic decoding method in FIG
  • 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 other than G-PCC to achieve lossless compression of attribute information.
  • FIG. 3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application, the method comprising:
  • the decoding object of the decoder is a point cloud or a point or node in the point cloud data. Because the encoder can obtain multiple strips, i.e., slices, by spatially dividing the point cloud data during encoding. The encoding method or decoding method provided in the embodiment of the present application is performed on the point cloud in each slice. Therefore, when decoding, the decoder decodes the point cloud in each slice, and finally performs the slice to obtain all the decoding information, thereby obtaining a three-dimensional image model.
  • 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 point clouds of different scales starting from the point cloud with the smallest scale. Therefore, in the decoding process of 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.
  • the decoder can parse the attribute coding information (encoded attribute information) corresponding to the first-scale point cloud from the code stream.
  • the code stream usually contains encoding information (such as attribute coding information) corresponding to at least one scale of the point cloud transmitted by the encoder.
  • the decoder decodes, it decodes in order from low scale to high scale.
  • the decoder decodes the attribute coding information corresponding to the first-scale point cloud, it 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.
  • 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.
  • the encoder can voxelize each scale point cloud when performing attribute encoding, the points are represented in the form of a voxel grid.
  • 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.
  • occupied voxels may be marked with different attribute information, and unoccupied voxels may have no attribute information.
  • the voxelized point clouds of different scales may represent the attribute information of the point clouds of different scales through the information of the voxels at each position in the voxel grid. Accordingly, during the decoding process, when the decoder decodes the first-scale point cloud, it may parse each first-scale voxel in turn to complete the decoding.
  • 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.
  • the decoder when the decoder decodes the first-scale point cloud, it can obtain the decoded attribute information of the decoded second-scale point cloud.
  • the second-scale point cloud is the decoded point cloud data of the previous-scale parent node of the first-scale point cloud, and the second scale is smaller than the first scale.
  • 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.
  • a point contained in a second-scale voxel of the second-scale point cloud can be used as a parent node of points contained in multiple corresponding first-scale voxels in the first-scale point cloud.
  • 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.
  • prediction or inference is performed by unpooling operation between different scales.
  • the voxel at the first scale is the upsampled voxel corresponding to the voxel at the second scale.
  • the decoder performs 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 decoder determines attribute prediction information corresponding to the n first voxels of the first scale based on the decoded attribute information of the second-scale point cloud, and further obtains the attribute prediction information of the first-scale point cloud.
  • the first voxel in the present application is a first-scale voxel
  • the second voxel is a second-scale voxel
  • the decoder can perform voxel upsampling on the second scale voxels in the second scale prediction point cloud to obtain first scale voxels corresponding to the first scale.
  • upsampling is performed on the second scale voxels representing the occupied points in the second scale point cloud to obtain multiple first scale voxels of the first scale corresponding to each second scale voxel.
  • each second voxel can be upsampled to obtain multiple first voxels corresponding to the corresponding scale, thereby obtaining n first voxels of the first scale corresponding to the multiple second voxels.
  • 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 upsampled voxel 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.
  • 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.
  • m is an integer greater than or equal to 1.
  • the encoder downsamples the first-scale point cloud to determine the second-scale point cloud
  • the averaging operation of the attribute information in the downsampling process will produce decimals, and the rounding operation is used to quantize it.
  • the decimal part produced is the quantization error. Therefore, when the encoder downsamples at adjacent scales, the quantization error between scales will be generated. In this way, during the upsampling process, the decoder can first perform dequantization and then upsample to achieve lossless decoding.
  • the decoder when decoding the first-scale point cloud, can determine the decoded attribute information of the second-scale point cloud; it can also parse the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud from the bitstream.
  • 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; and then determines 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 as the attribute prediction information corresponding to each first voxel.
  • the decoder may superimpose the decoded attribute information of the second-scale point cloud with the 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 (such as K second voxels, K is an integer greater than or equal to 1), and each second-scale voxel corresponds to a quantization error.
  • Each second-scale voxel superimposes the corresponding quantization error to determine the corrected attribute information corresponding to each second-scale voxel of the second-scale point cloud.
  • 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 mean of the attribute information of the multiple first-scale voxels corresponding to it.
  • the corrected attribute information of the parent node of the previous scale corresponding to each first voxel is determined as the mean of the attribute information of each first voxel.
  • the decoder determines the average value of the attribute information of the second-scale point cloud corresponding to each first voxel of n first voxels at the first scale as the attribute prediction information corresponding to each first voxel.
  • 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 belonging to the same second voxel as a parent node among the n first voxels is consistent.
  • each first voxel does not necessarily contain points in the point cloud, so the occupied first voxel is only used when it is occupied, and the attribute prediction information is determined to be present.
  • each voxel is represented by numbers or color depth or different marks, which is not limited in the embodiments of the present application.
  • Occupied voxels in the point cloud are represented by solid cubes, which represent the attribute information of the points in the point cloud.
  • Unoccupied voxels in the point cloud are represented by empty cubes, which means that there are no points in the point cloud and no attribute information, or the attribute information is empty.
  • each cube represents a voxel
  • the attribute information corresponding to each voxel containing the points in the point cloud is represented by numbers.
  • 8, 5, 9, 7, 3, and 5 are used to represent the attribute information of each voxel.
  • the attribute information in the embodiment of the present application may include color components, specifically color information of any color space.
  • the attribute information may be color information of an RGB space, color information of a YUV space, color information of a YCbCr space, or YCoCg, etc., and the embodiment of the present application does not impose any limitation thereto.
  • the color component may include at least one of the following: a first color component, a second color component, and a third color component.
  • the first color component, the second color component, and the third color component can be determined to be: R component, G component, B component in sequence; 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: Y component, U component, V component in sequence; 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: Y component, Cb component, Cr component in sequence. 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: Y component, Co component, Cg component in sequence.
  • the value of the attribute information can be represented by a value between 0 and 255, which is not limited in the embodiments of the present application.
  • 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.
  • the voxel containing the point that is, the occupied voxel can use the mean of the attribute information of each point as the attribute information of the voxel.
  • the second scale point cloud includes 3 occupied second voxels, and each second voxel contains 8 first voxels (first scale voxels) after voxel upsampling.
  • 3 second voxels are occupied in the second voxels of the second scale (Scale p-1, p is an integer greater than 1), 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 that the corrected attribute information of the 3 second voxels is still 8, 7 and 4.
  • the attribute prediction information of the first voxel of the first scale (Scale p) corresponding to the second voxel with the corrected attribute information of 8 is 8
  • the attribute prediction information of the first voxel corresponding to the second voxel with the corrected attribute information of 7 is 7
  • the attribute prediction information of the first voxel corresponding to the second voxel with the corrected attribute information of 4 is 4.
  • the decoder may also determine the reconstructed geometric information of the first-scale point cloud from the bitstream.
  • the decoder uses a 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; then, a first-scale prediction 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 the attribute prediction information of the first-scale point cloud.
  • the decoder when the decoder performs attribute decoding, it has already completed the geometric decoding process and can obtain the reconstructed geometric information of point clouds of different scales. Therefore, when the decoder performs attribute decoding, the decoder can determine which voxels in the first voxel obtained by upsampling the second scale point cloud are occupied and which voxels are not occupied based on the reconstructed geometric information of the first scale point cloud during the process of upsampling the second scale point cloud.
  • the reconstructed geometric information of the first-scale point cloud can determine the distribution position of the points in the first-scale point cloud, that is, determine the position information of the points corresponding to the first-scale voxels.
  • the distribution position of the points contained in the first voxels corresponding to the first-scale point cloud can be determined through the position information of the points. In this way, among the n first voxels obtained by upsampling the voxels based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For the 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. After all the first voxels are determined, the attribute prediction information of the first-scale point cloud is determined.
  • the second voxel with attribute information of 8 corresponds to 1 first voxel, and its attribute prediction information is 8.
  • the second voxel with attribute information of 7 corresponds to 3 first voxels, and its attribute prediction information is 7.
  • the second voxel with attribute information of 4 corresponds to 2 first voxels, and its attribute prediction information is 4.
  • 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.
  • 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.
  • the attribute probability prediction network can be a sparse convolutional network 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.
  • 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 in units of voxels.
  • the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed by ( ⁇ , ⁇ ), which is not limited in the embodiment of the present application.
  • the probability model parameters may include: ( ⁇ , ⁇ ). Assume the attribute probability prediction network structure as shown in FIG6. X is the input attribute prediction information or attribute information, and the output is ( ⁇ , ⁇ ). Its network structure consists of multiple layers of sparse convolution (Sparse Convolution, SConv), and the output of the network is combined with X to determine the probability model parameters.
  • 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.
  • the first scale corresponds to n first voxels.
  • the decoder can perform probability prediction on each first voxel in turn.
  • the decoder 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 of the current first voxel; and determines the occupancy probability of the current first voxel according to at least one probability model parameter of the current first voxel.
  • the decoder 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 of the current first voxel; and continues to perform probability prediction of the next first voxel until all first voxel predictions are completed, and obtains at least one probability model parameter of each first voxel of the first scale point cloud.
  • the occupancy probability of each first voxel is determined respectively, 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.
  • At least one probability model parameter may be two probability models, or may be one or more other parameters that ensure the overall numerical performance, and the embodiments of the present application are not limited thereto.
  • the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed by ( ⁇ , ⁇ ), which is not limited in the embodiment of the present application.
  • each first voxel may contain at least one point.
  • the decoder performs probability prediction, the prediction is based on each point of each first voxel, and what is obtained is at least one probability model parameter of each point.
  • 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.
  • each probability model parameter of each point on each first voxel is determined, and based on the at least one probability model parameter of each point on each first voxel, the probability density distribution of each first voxel can be determined. Taking each first voxel as the center, an integral calculation is performed within its preset range to obtain the occupancy probability of each first voxel.
  • At least one probability model parameter is ( ⁇ , ⁇ )
  • the probability density distribution function of each first voxel is determined according to the mean and variance ( ⁇ i , ⁇ i ) of the point prediction on each first voxel x i And through the xi - centered
  • the integral operation within the range obtains its probability p( xi ), ie, the occupancy probability of the first voxel.
  • S104 Decode the attribute encoding information based on the occupancy probability to determine attribute information of the first-scale point cloud.
  • the decoder uses the occupancy probability of each first voxel to respectively decode the attribute encoding information corresponding to each first voxel of the first-scale point cloud to determine the attribute information corresponding to each first voxel.
  • the decoder may decode the first-scale point cloud in units of voxels, and further decode the attribute information of each point contained in the first voxel.
  • 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.
  • the process of the decoder processing between scales is as described in the aforementioned embodiment.
  • the decoder can perform component processing for decoding according to the grouping of voxels at the same scale, and can also perform channel-to-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.
  • the decoding method in the embodiment of the present application can be applied to a scalable encoding and decoding method, that is, for multiple attribute coding information of multiple scale point clouds sent by the encoder side, the decoder can decode and reconstruct the point cloud of any scale in the order of decoding from low scale to high scale according to the actual decoding accuracy requirements.
  • the encoder writes and sends the attribute coding information of the first scale point cloud, the attribute coding information of the second scale point cloud to the attribute coding information of the S+1 scale point cloud in the bitstream, and the decoder can 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 embodiment of the present application, and end the decoding after predicting the attribute information of the third scale point cloud, and no longer decode the attribute coding information of the second scale and the attribute coding information corresponding to the first scale point cloud.
  • the specific selection is made according to the actual situation, and the embodiment of the present application is not limited.
  • 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.
  • 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.
  • the known information may be a preset number of unencoded point cloud information sent by the encoder side.
  • the encoder may send a preset number of point cloud information, such as the attribute information of 100 points in the point cloud, as the first known information directly to the decoding end in an unencoded manner, so that the decoder does not need to decode the first known information, but directly uses 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.
  • 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 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, and improves 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.
  • a plurality of first voxels of the first-scale point cloud may be grouped to implement the decoding process.
  • the decoding method provided in the embodiment of the present application may further include:
  • S202 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; 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.
  • the decoder may group the n first voxels and perform a post-coarse prediction process in a group-based manner.
  • the decoder can determine the 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.
  • 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.
  • the p-1 scale point cloud i.e., the second scale point cloud
  • n first voxels of the p scale i.e., n first voxels of the first scale.
  • a second voxel of the p-1 scale point cloud corresponds to 8 first voxels of the p scale after upsampling, and the numbering range can be determined to be 1-8.
  • 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, obtaining 3 first voxels numbered 1, 3 first voxels numbered 2, ..., 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.
  • the second grouping method determine that number 1 and number 2 are consecutive numbers, number 3 and number 4 are consecutive numbers, and number 5 to number 8 are consecutive numbers; take the first voxels corresponding to number 1 and number 2 as a group, take the first voxels corresponding to number 3 and number 4 as a group, take the first voxels corresponding to number 5 to number 8 as a group, and obtain 3 groups of first voxels as m groups of first voxels, namely, the three groups G1G2, G3G4, and G5G6 G7G8 as shown in Figure 8.
  • the decoder divides the multiple first voxels corresponding to each second voxel into m groups of first voxels, and finally 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 in the grouping order.
  • 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 turn 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.
  • the decoder uses 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 probability of the m groups.
  • the probability prediction process of the decoder for each first voxel in each group includes: the decoder can perform probability prediction on each first voxel in each group in sequence, the decoder 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 of the current first voxel; according to at least one probability model parameter of the current first voxel, the occupancy probability of the current first voxel is determined.
  • the decoder 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 of the current first voxel; continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain at least one probability model parameter of each first voxel in the m groups of the first scale point cloud.
  • the occupation probability of each first voxel is determined respectively, so as to complete the determination of the occupation probability of the m groups of first voxels of the first scale point cloud. That is, the occupation probability of the first scale point cloud includes the occupation probability of each first voxel of the m groups of first voxels.
  • the decoder decodes the attribute coding information of the first voxel in the i-th group according to 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.
  • the decoder decodes the attribute coding information of each group of first voxels using the ith group occupancy probability to implement the parsing of the attribute information of each group of first voxels.
  • the decoding of the undecoded first voxels between different groups corresponding to the same second voxel can also be implemented based on the 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).
  • 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 preset number is related to the sampling number of 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.
  • 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.
  • 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:
  • 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;
  • the attribute mean of the undecoded first voxel corresponding to the second voxel 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;
  • the jth 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 jth first voxel belongs to one of them. If there are at least two undecoded second voxels in the multiple first voxels, including the jth first voxel, it is still necessary to decode the jth first voxel based on the jth group sub-occupancy probability to obtain the attribute information of the jth first voxel.
  • the decoder is still required to continue to decode the first voxel according to the sub-occupancy probability. If only the jth first voxel is left undecoded among the multiple first voxels, it means that only one first voxel corresponding to the second voxel is left undecoded.
  • 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, then when there is only one undecoded first voxel corresponding to the second voxel, the attribute mean of the undecoded first voxel is the attribute information of the undecoded first voxel, and there is no need to decode based on the sub-occupancy probability.
  • the attribute mean of the undecoded first voxel is obtained, and it is necessary to continue to decode based on the sub-occupancy probability of the undecoded first voxel until there is only one undecoded first voxel, and its attribute information can be directly deduced.
  • the attribute prediction information of the six first voxels of Scale p (e.g., occupied voxels) is determined, that is, 8, 7, 7, 4, 4.
  • the n first voxels are divided into G1 (Group1), G2 (Group2), G3 (Group3), G4 (Group4), G5 (Group5), G6 (Grou6), G7 (Group7) and G8 (Grou8).
  • G1 Group1
  • G2 Group2
  • G3 Group3
  • G4 Group4
  • G5 Group5
  • G6 Grou6
  • G7 Group7
  • G8 Grou8
  • the decoder performs probability prediction on each group of first voxels through the attribute probability prediction network (SAPA) to obtain the occupancy probability of each group of first voxels (including the sub-occupancy probability of each first voxel).
  • SAPA attribute probability prediction network
  • the attribute coding information of the first voxel in each group is decoded according to the sub-occupancy probability of each first voxel.
  • 5 and 3 are decoded first voxels.
  • 8 is a decoded first voxel.
  • the second first voxel corresponds to the second second voxel (at b).
  • the second second voxel corresponds to the second first voxel (at a) and the first voxel at c has not been decoded.
  • the attribute information of Scale p is obtained after decoding.
  • 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 .
  • the decoding of the m groups of first voxels is completed, the decoding of the first scale point cloud is ended, and the decoding process of the next scale point cloud is continued until all decoding is completed.
  • 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.
  • it greatly reduces the decoding complexity and improves the decoding speed and compression performance;
  • the attribute information of the first voxel that has been decoded 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.
  • different color components of the first-scale point cloud may be processed to implement the decoding process.
  • the decoding method provided in the embodiment of the present application may further include:
  • the prediction of the first scale is performed based on the attribute information of the decoded different color components of the second scale point cloud, and the attribute prediction information of the different color components of the first scale is determined respectively.
  • the implementation principle of performing the prediction of the first scale based on the attribute information of each color component decoded by the second scale point cloud and determining the attribute prediction information of each color component of the first scale is consistent with the implementation principle of S102, and will not be repeated here.
  • S303 Use an 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.
  • the 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.
  • 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.
  • the attribute information can be divided into information of three color components
  • the attribute information can be encoded according to different color components.
  • the decoder when the decoder performs decoding, it can be decoded based on different color components to obtain the attribute information of each first voxel under different color components.
  • each first voxel under one color component is consistent with the implementation principle of S303 and the implementation principle of S103 determining the occupancy probability of the first voxel, and will not be repeated here.
  • the decoder needs to determine the occupancy probabilities of different color components under different components for the first voxel. And after determining the first color component (brightness component) to achieve decoding, it can also use the attribute information of the first color component as the input of other color components, use the attribute probability prediction network to perform probability prediction, obtain the probability model parameters, and then obtain the occupancy probabilities corresponding to other colors. That is to say, the attribute probability prediction network at this time has one more input parameter than the attribute probability prediction network in S103, but the principle of determining the occupancy probability by the probability model parameters is the same.
  • 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.
  • the decoder After obtaining the attribute information of the first voxel in the first color component, the decoder continues to use the attribute probability prediction network, combines the attribute information of the first voxel in the first color component, and performs probability prediction on the second color component and the third color component 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 probability of the first voxel in the second color component and the occupancy probability 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.
  • 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.
  • the first color component is a brightness component
  • the second color component and the third color component are chromaticity components.
  • the first color component is a Y component
  • the second color component is a Co component
  • the third color component is a Cg component. This embodiment of the present application does not limit this.
  • the color space is converted from RGB to YCoCg space, and then the attribute prediction information of the Y component of Scale p is determined based on the attribute information of the decoded Y component of the second scale of Scale p-1, and the occupancy probability of the Y channel (Y component) is predicted by SAPA, and the attribute information under the Y component is decoded based on the occupancy probability.
  • the attribute prediction information of the Co component and Cg component of Scale p is determined respectively, and the occupancy probability of the Co component and the Cg component is predicted by SAPA in combination with the attribute information under the Y component, and the attribute information under the Co component and the Cg component is decoded based on the occupancy probability of the Co component and the Cg component.
  • 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.
  • 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 decoding accuracy and efficiency.
  • 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.
  • the decoding method provided in the embodiment of the present application may further include:
  • the prediction of the first scale is performed based on the attribute information of different color components decoded in the second scale point cloud, and the attribute prediction information of each of the n first voxels in the first scale in different color components is determined respectively.
  • the implementation principle of performing the prediction of the first scale based on the attribute information of each color component decoded in the second scale point cloud and determining the attribute prediction information of each first voxel in the first scale in each color component is consistent with the implementation principle of S102, and will not be repeated here.
  • 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.
  • the difference is that the first voxel is a voxel in each group of first voxels, and the decoder decodes based on the m groups of first voxels in sequence.
  • the Y channel is decoded using the group processing method in S402-S404 above; and then the CoCg channel is decoded in the same grouping manner, and the processed Y channel will serve as auxiliary information to help the decoding of the CoCg channel.
  • the decoder divides the scale point cloud to be decoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) the point cloud of the same scale is divided into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) the point cloud of the same scale is divided into a brightness 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 sequence from low scale to high scale, from group 1 to group 8, and from brightness channel to 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 sparse tensor neural network helps predict the remaining undecoded groups.
  • the lossless attribute compression algorithm based on learning, the grouping, channel prediction and decoding 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, group and channel decoding.
  • 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.
  • 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:
  • the multiple scale point clouds include: a first scale point cloud and a second scale point cloud; the second scale point cloud is the point cloud data of the previous scale parent node of the first scale point cloud.
  • the encoding object of the encoder is a point cloud or a point or node in the point cloud data. Since the encoder can obtain multiple strips, i.e., slices, by spatially dividing the point cloud data during encoding, the encoding method provided in the embodiment of the present application is performed on the point cloud in each slice.
  • the encoder 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.
  • the encoder 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.
  • the encoder determines multiple quantization errors each time the point cloud data is downsampled to the next scale when downsampling the point cloud data in sequence until it is divided into a single voxel, thereby obtaining point clouds of multiple scales;
  • the multiple quantization errors include: the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud.
  • the encoder performs voxel downsampling on the point cloud data to obtain a first-scale point cloud, continues to perform voxel downsampling on the first-scale point cloud to obtain a next-scale point cloud, and continues to perform downsampling until only one voxel remains, thereby obtaining multiple-scale point clouds.
  • the first scale point cloud and the second scale point cloud are two adjacent scale point clouds among the multiple scale point clouds.
  • the following describes a process of dividing a first-scale point cloud into a second-scale point cloud.
  • 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.
  • the encoder can perform voxel downsampling of the first scale point cloud by 2 ⁇ 2 ⁇ 2 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 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 a limited number of cases: ⁇ 0 ⁇ , ⁇ 0,1/2 ⁇ , ⁇ 0,1/3,2/3 ⁇ , ⁇ 0,1/4,2/4,3/4 ⁇ , whil, ⁇ 0,1/8,2/8,3/8,4/8,5/8,6/8,7/8 ⁇ .
  • each quantization error is the value of the attribute mean of the high-scale voxels minus the value of the low-scale attribute information finally determined, which may be positive or negative.
  • the encoder can voxelize each scale point cloud when performing attribute encoding, the points are represented in the form of a voxel grid.
  • 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.
  • occupied voxels may be marked with different attribute information, and unoccupied voxels may 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.
  • the encoder performs inter-scale encoding based on the order from low scale to high scale.
  • the encoding of the second-scale point cloud is represented to have been completed.
  • the second-scale point cloud is the decoded point cloud data of the previous scale parent node of the first-scale point cloud, and the second scale is smaller than the first scale.
  • the encoder determines reconstructed geometric information of the first-scale point cloud.
  • the encoder when the encoder performs attribute encoding, it has already completed the geometric encoding process and can obtain the reconstructed geometric information of point clouds of different scales. Therefore, when the encoder performs attribute encoding, the encoder can determine which voxels in the first voxel obtained by upsampling the second scale point cloud are occupied and which voxels are not occupied based on the reconstructed geometric information of the first scale point cloud during the process of upsampling the second scale point cloud.
  • 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; predicts the first scale 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.
  • the reconstructed geometric information of the first-scale point cloud can determine the distribution position of the points in the first-scale point cloud, that is, determine the position information of the points corresponding to the first-scale voxels.
  • the distribution position of the points contained in the first voxels corresponding to the first-scale point cloud can be determined through the position information of the points. In this way, among the n first voxels obtained by upsampling the voxels based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For the 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. After all the first voxels are determined, the attribute prediction information of the first-scale point cloud is determined.
  • the encoder writes multiple quantization errors into a bitstream.
  • the encoder writes the reconstructed geometric information of the first-scale point cloud into a bitstream.
  • 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.
  • 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.
  • 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 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.
  • the 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.
  • 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.
  • S504 Encode the attribute information of the first-scale point cloud based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud.
  • the encoder uses the occupancy probability of each first voxel to encode the attribute information corresponding to each first voxel of the first-scale point cloud respectively, and determines the attribute coding information corresponding to each first voxel.
  • the encoder may encode the first-scale point cloud in units of voxels, and further encode attribute encoding information of each point contained in the first voxel.
  • 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.
  • the encoder continues to encode the third-scale point cloud until the encoding of multiple-scale point clouds is completed, thereby obtaining attribute encoding information of the multiple-scale point clouds.
  • the encoder writes the attribute encoding information of multiple scale point clouds into the bitstream respectively for use by the decoder during decoding.
  • the process of the encoder processing between scales is as described in the aforementioned embodiment.
  • the encoder can perform component processing for encoding according to the grouping of voxels at the same scale, and can also perform channel-to-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.
  • 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.
  • each encoding process of the above 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.
  • the known information may be the attribute information of a preset number of unencoded point clouds sent by the encoder side.
  • the encoder may use a 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, so that the decoder does not need to decode the first known information, but directly uses 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.
  • the first scale is predicted, the first-scale point cloud and its attribute prediction information are predicted, and 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 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 and reduces the coding complexity. At the same time, it 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.
  • the encoding method provided in the embodiment of the present application may further include:
  • S601 down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
  • the encoder uses quantization error to dequantize the attribute information of the second-scale point cloud to determine the revised attribute information of the second-scale point cloud; the revised 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.
  • 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 the m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first scale point cloud.
  • the encoder divides the multiple first voxels corresponding to each second voxel into m groups of first voxels, and finally divides the n first voxels into m groups of first voxels.
  • the encoder can encode in sequence from the first group to the last group in the order of grouping.
  • the encoder may use an attribute probability prediction network to perform probability prediction on the attribute prediction information of the first voxels of the m groups in sequence to determine the occupancy probabilities of the m groups.
  • the encoder encodes the attribute information corresponding to the first voxels of the m groups according to the occupancy probabilities of the m groups, determines the attribute coding information of each of the first voxels of the m groups, completes the encoding of the first-scale point cloud, and continues to encode the next scale until the point cloud of the entire scale is encoded.
  • the encoder uses 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 probability of the m groups.
  • the probability prediction process of the encoder for each first voxel in each group includes: the encoder can perform probability prediction on each first voxel in each group in sequence, 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 of the current first voxel; according to at least one probability model parameter of the current first voxel, the occupancy probability of the current first voxel is determined.
  • 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 of the current first voxel; continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain at least one probability model parameter of each first voxel in the m groups of the first scale point cloud.
  • the occupation probability of each first voxel is determined respectively, so as to complete the determination of the occupation probability of the m groups of first voxels of the first scale point cloud. That is, the occupation probability of the first scale point cloud includes the occupation probability of each first voxel of the m groups of first voxels.
  • 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.
  • the encoder encodes the attribute information of each group of first voxels using the ith group occupancy probability to achieve the encoding of the attribute information of each group of first voxels.
  • the encoding of the unencoded first voxels between different groups corresponding to the same second voxel can also be achieved based on the known information.
  • 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 preset number is related to the sampling number of 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.
  • 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.
  • the encoder encodes the attribute information of the first voxel of the i-th group according to the i-th group occupancy probability, and determines the attribute encoding information of the first voxel of the i-th group, including:
  • the jth first voxel is encoded according to the jth group child occupancy probability to obtain the attribute encoding 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;
  • encoding of the j-th first voxel is not performed.
  • the jth first voxel corresponds to a second voxel of the second scale
  • a second voxel corresponds to multiple first voxels of the first scale
  • the jth first voxel belongs to one of them. If the multiple first voxels include at least two unencoded second voxels in the jth first voxel, it is still necessary to encode the jth first voxel based on the jth group sub-occupancy probability to obtain the attribute encoding information of the jth first voxel.
  • the encoder is still required to continue to encode the first voxel according to the sub-occupancy probability for use in decoding. If only the jth first voxel is left uncoded among the multiple first voxels, then it means that only one first voxel corresponding to the second voxel is left uncoded.
  • the decoder cannot infer it, and therefore, it is necessary to continue encoding based on the sub-occupancy probability of the unencoded first voxel until there is only one unencoded first voxel, and no encoding is required, and the decoder can directly infer its attribute information.
  • 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 nodes 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.
  • the encoding method provided in the embodiment of the present application may further include:
  • S701 down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
  • S702 In the process of encoding the first-scale point cloud, predict the first scale based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud.
  • S703 Use an 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.
  • 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.
  • 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 method of predicting and encoding the occupancy probability based on non-channel sorting.
  • 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.
  • the encoding method provided in the embodiment of the present application may further include:
  • S801 down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
  • the attribute information corresponding to the first color component is used to determine the m-group occupancy probability of the second color component and the m-group occupancy probability of the third color component.
  • 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.
  • the encoder divides the scale point cloud to be encoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) the point cloud of the same scale is divided into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) the point cloud of the same scale is divided into a brightness channel (Y) and two chroma channels (CoCg) according to the color channel.
  • the encoder progressively predicts the probability distribution of each layer of point cloud in sequence from low scale to high scale, from group 1 to group 8, and from brightness channel to chroma 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 sparse tensor neural network helps predict the remaining unencoded groups.
  • the lossless attribute compression algorithm based on learning, 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, group and channel encoding.
  • the attribute probability prediction network when 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, to help predict the occupancy probability of the current first voxel, thereby improving the accuracy and efficiency of the encoding.
  • Scale p+1 Take the adjacent scales Scale p-1, Scale p, and Scale p+1 as examples for explanation.
  • Scale p+1 is downsampled and quantized to obtain Scale p, and the quantization error 1 is saved.
  • Scale p is further downsampled and quantized to obtain Scale p-1, and the quantization error 2 is saved until multiple scales are obtained.
  • Scale p-1 When encoding to Scale p, Scale p-1 has been encoded.
  • the encoder can perform dequantization based on the attribute information of Scale p-1 and the quantization error 2 to obtain the modified attribute prediction information of Scale p 8, 7, 7, 7, 4, 4.
  • the encoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p based on the occupancy probability.
  • the encoder can perform dequantization based on the attribute information of Scale p and the quantization error 1 to obtain the modified 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 performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p+1 based on the occupancy probability until all scale point clouds are encoded, and writes the quantization error and attribute encoding information into the bitstream.
  • decoding is performed from the lowest scale point cloud.
  • Scale p-1 has been decoded.
  • the decoder can perform dequantization based on the decoded attribute information of Scale p-1 according to the quantization error 2 to obtain the modified attribute prediction information of Scale p 8, 7, 7, 7, 4, 4.
  • the decoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then decodes the attribute coding information of Scale p obtained from the bitstream based on the occupancy probability.
  • the decoder can perform dequantization based on the decoded attribute information of Scale p according to the quantization error 1 to obtain the modified 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 decoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then decodes the attribute coding information of Scale p+1 obtained from the bitstream based on the occupancy probability until all scale point clouds are decoded.
  • An embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least: 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.
  • an embodiment of the present application provides a decoder 1, as shown in FIG18 , comprising:
  • the decoding part 10 is configured to parse the code stream and determine the attribute coding information corresponding to the first scale point cloud;
  • the first prediction part 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 previous scale parent node of the first scale point cloud; and
  • 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.
  • the first-scale point cloud includes: n first voxels; n is an integer greater than 1;
  • 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;
  • 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.
  • 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, and determine the attribute information of each of the m groups of first voxels.
  • the decoding part 10 is further configured to decode the attribute encoding information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel of 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 first voxels of the m groups is determined.
  • 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 part 10 is further configured to decode the jth first voxel according to the jth group sub-occupancy probability to obtain the 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;
  • the attribute mean is the attribute information of the j-th first voxel; the attribute mean is determined according to the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel;
  • 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.
  • 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 the attribute information corresponding to the first color component of the first-scale point cloud.
  • the first prediction part 11 is further configured to adopt the attribute probability prediction network, 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;
  • 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 the attribute information corresponding to the second color component of the first-scale point cloud;
  • 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.
  • 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;
  • 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 turn 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.
  • the decoding part 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;
  • the attribute encoding information of the m groups of first voxels is decoded under the second color component to determine the attribute information corresponding to the second color component of each of the m groups of first voxels;
  • the attribute encoding 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.
  • the first prediction part 11 is further configured to input the attribute prediction information of each first voxel into the attribute probability prediction network for 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;
  • 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.
  • the first prediction part 11 is further configured to determine the 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;
  • an integral operation is performed within a preset range centered on each first voxel to determine the occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
  • the decoding part 10 is further configured to determine the decoded attribute information of the second scale point cloud
  • the reconstructed geometric information of the first scale point cloud is determined.
  • 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;
  • Prediction of the first scale is performed according to 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.
  • 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;
  • 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.
  • 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;
  • 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 the attribute prediction information corresponding to each first voxel.
  • the embodiment of the present application provides a decoder, as shown in FIG19 , including:
  • a first memory 12 configured to store executable instructions
  • 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.
  • 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 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, and improves 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.
  • the embodiment of the present application provides an encoder 2, as shown in FIG20 , including:
  • the division part 20 is configured to sequentially perform voxel downsampling on the point cloud data until a single voxel is divided to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud;
  • 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;
  • 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.
  • the first-scale point cloud includes: n first voxels; n is an integer greater than 1;
  • 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;
  • 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.
  • 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.
  • the encoding part 22 is further configured to encode the attribute information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel of 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 encoding of the attribute information of the first voxels of the mth group is completed, and the attribute encoding information of each of the first voxels of the m groups is determined.
  • 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 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;
  • 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 to determine the occupancy probability of the first scale point cloud under the first color component.
  • 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 the attribute encoding information corresponding to the first color component of the first-scale point cloud.
  • the second prediction part 21 is further configured to adopt the attribute probability prediction network, 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;
  • the encoding part 22 is further configured to encode the attribute information under the second color component based on the occupancy probability under the second color component to obtain the attribute encoding information corresponding to the second color component of the first-scale point cloud;
  • 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.
  • 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;
  • 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 turn 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.
  • the encoding part 22 is further configured to encode the 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 the 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;
  • the attribute information of the m groups of first voxels is encoded under the third color component, and the attribute encoding information corresponding to the third color component of each of the m groups of first voxels is determined.
  • the second prediction part 21 is further configured to input the attribute prediction information of each first voxel into the attribute probability prediction network for 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;
  • 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.
  • the second prediction part 21 is further configured to determine the 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;
  • an integral operation is performed within a preset range centered on each first voxel to determine the occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
  • the encoder 2 further includes: a determination part 23;
  • the determination part 23 is also configured to determine multiple quantization errors each time the point cloud data is downsampled to the next scale in the process of sequentially downsampling the point cloud data until it is divided into a single voxel, thereby obtaining the multiple-scale point clouds; the multiple quantization errors include: the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud.
  • the encoder 2 further includes: a determination part 23;
  • the determining part 23 is further configured to determine the reconstructed geometric information of the first-scale point cloud.
  • 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;
  • Prediction of the first scale is performed according to 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.
  • 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.
  • the encoder 2 further includes: a writing part 24;
  • the writing part 24 is further configured to write the attribute encoding information of the multiple scale point clouds into the code stream respectively.
  • the encoder 2 further includes: a writing part 24;
  • the writing part 24 is further configured to write the plurality of quantization errors into the bit stream.
  • the encoder 2 further includes: a writing part 24;
  • the writing part 24 is further configured to write the reconstructed geometric information of the first-scale point cloud into the bitstream.
  • 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;
  • attribute prediction information corresponding to the n first voxels of the first scale is determined, and then the attribute prediction information of the first-scale point cloud is obtained.
  • 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;
  • 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 the attribute prediction information corresponding to each first voxel.
  • the embodiment of the present application provides an encoder, as shown in FIG21, including:
  • 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.
  • the first scale is predicted, the first-scale point cloud and its attribute prediction information are predicted, and 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 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 and reduces the coding complexity. At the same time, it 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.
  • An embodiment of the present application provides a computer-readable storage medium storing executable instructions.
  • the first processor When the executable instructions are executed by a first processor, the first processor will be caused to execute any one of the decoding methods provided by the embodiments of the present application; or, when the executable instructions are executed by a second processor, the second processor will be caused to execute any one of the encoding methods provided by the embodiments of the present application.
  • 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 it may be various devices including one or any combination of the above memories.
  • 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.
  • executable instructions may, but do not necessarily, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as, for example, 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 coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
  • HTML Hypertext Markup Language
  • executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
  • 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 in combination with software and hardware. Moreover, 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 disk storage and optical storage, etc.) that contain computer-usable program code.
  • a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
  • 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 work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured 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.
  • These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby 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.
  • attribute information of a 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 an attribute probability prediction network for probability prediction, and the occupancy probability of the first-scale point cloud is determined.
  • the attribute probability prediction network is used in a lossless decoding process, and 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 decoding complexity, and 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.
  • 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.
  • 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 coding process.
  • 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 and reduces the coding complexity. At the same time, it 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.

Abstract

Embodiments of the present application provide an encoding method, a decoding method, a decoder, an encoder, a code stream, and a computer readable storage medium. The decoding method comprises: parsing a code stream, and determining attribute encoding information corresponding to a first scale point cloud; performing first scale prediction on the basis of decoded attribute information of a 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 parent node of a previous scale of the first scale point cloud; performing probability prediction on the attribute prediction information by using an attribute probability prediction network, to determine an occupation probability of the first scale point cloud; and decoding the attribute encoding information on the basis of the occupation probability, and determining attribute information of the first scale point cloud.

Description

编解码方法、解码器、编码器、码流及存储介质Coding and decoding method, decoder, encoder, code stream and storage medium 技术领域Technical Field
本申请涉及点云压缩编解码技术,尤其涉及一种编解码方法、解码器、编码器、码流及存储介质。The present application relates to point cloud compression coding and decoding technology, and in particular to a coding and decoding method, a decoder, an encoder, a bit stream and a storage medium.
背景技术Background technique
点云是一组点的集合,它可以存储每个点的几何位置和相关属性信息,从而准确立体地描述空间中的物体。点云数据量庞大,一帧点云可以包含上百万的点,这也对有效地存储和传输点云带来了极大地困难与挑战。因此,压缩技术被用于减少点云存储中的冗余信息,从而方便后续的处理工作。根据压缩的对象不同,点云压缩可分为几何(geometry)压缩和属性(attribute)压缩两类,分别对应压缩坐标信息和属性信息,两者是分别独立压缩的。即先用几何压缩算法压缩坐标信息,然后以坐标为已知信息,再用单独的属性压缩算法压缩属性信息。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, which 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 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, 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.
目前,属性压缩算法都是基于传统编解码方法实现的。属性压缩算法可以分为预测(prediction)和变换(transformation)两种主要技术点。以国际动态图像专家组(Moving Picture Experts Group,MPEG)所开发的标准点云压缩算法G-PCC(Geometry-based Point Cloud Compression,基于几何的点云压缩)中的属性压缩方法为例,包括Predlift和RAHT两种不同模式。其中Predlift是一种以预测为核心的压缩技术,其基本原理是将点云按照点与点之间的距离划分为不同的细节层(LoD+Predlift),然后逐层预测,并对预测残差进行量化及熵编码。RAHT则是一种以变换为核心的压缩技术,其基本原理是将点云逐尺度,逐方向通过小波变换分解为高频和低频分量,然后对不同分量根据重要性分别量化并熵编码。这些方法都是以基于规则的计算方法进行预测/变换,例如基于距离的加权平均,基于点数构建的正交变换矩阵。At present, attribute compression algorithms are all implemented based on traditional coding and decoding methods. Attribute compression algorithms can be divided into two main technical points: prediction and transformation. Taking the attribute compression method in the standard point cloud compression algorithm G-PCC (Geometry-based Point Cloud Compression) developed by the International Moving Picture Experts Group (MPEG) as an example, there are two different modes: Predlift and RAHT. Predlift is a compression technology with prediction as the 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 the core. Its basic principle is to decompose the point cloud into high-frequency and low-frequency components by wavelet transform in each 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.
然而,传统编解码方法的编解码复杂度高,且编解码性能有待提高。However, the encoding and decoding complexity of traditional encoding and decoding methods is high, and the encoding and decoding performance needs to be improved.
发明内容Summary of the invention
本申请实施例提供一种编解码方法、解码器、编码器、码流及存储介质,能够减少编解码复杂度,且提高编解码性能。The embodiments of the present application provide a coding and decoding method, a decoder, an encoder, a bit stream and a storage medium, which can reduce the complexity of coding and decoding and improve the coding and decoding performance.
本申请的技术方案是这样实现的:The technical solution of this application is implemented as follows:
第一方面,本申请实施例提供了一种解码方法,包括:In a first aspect, an embodiment of the present application provides a decoding method, including:
解析码流,确定第一尺度点云对应的属性编码信息;Parse the bitstream 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, and determining 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;
采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率;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.
第二方面,本申请实施例提供了一种编码方法,包括:In a second aspect, an embodiment of the present application provides an encoding method, including:
对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;所述多个尺度点云包括:第一尺度点云和第二尺度点云;所述第二尺度点云为所述第一尺度点云的前一尺度父节点的点云数据;The point cloud data is sequentially downsampled until it 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 previous scale parent node of the first scale point cloud;
在对第一尺度点云进行编码的过程中,基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;In the process of encoding the first-scale point cloud, predicting the first scale based on the attribute information of the second-scale point cloud to determine the 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.
第三方面,本申请实施例提供了一种解码器,包括:In a third aspect, an embodiment of the present application provides a decoder, including:
解码部分,被配置为解析码流,确定第一尺度点云对应的属性编码信息;A decoding part, configured to parse the bitstream and determine attribute encoding information corresponding to the first scale point cloud;
第一预测部分,被配置为基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,所述第二尺度点云为所述第一尺度点云的前一尺度父节点的已解码的点云数据;以及,A first prediction part 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 previous scale parent node 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 also configured to decode the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud.
第四方面,本申请实施例提供了一种编码器,包括:In a fourth aspect, an embodiment of the present application provides an encoder, including:
划分部分,被配置为对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;所述多个尺度点云包括:第一尺度点云和第二尺度点云;所述第二尺度点云为所述第一尺度点云的前一尺度父节点的点云数据;The division part is configured to sequentially perform voxel downsampling on the point cloud data until a single voxel is divided to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud;
第二预测部分,被配置为在对第一尺度点云进行编码的过程中,基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;以及,A second prediction part is configured to perform a prediction of the first scale 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.
第五方面,本申请实施例还提供了一种解码器,包括:In a fifth aspect, an embodiment of the present application further provides a decoder, including:
第一存储器,配置为存储可执行指令;A first memory configured to store executable instructions;
第一处理器,配置为执行所述第一存储器中存储的可执行指令时,实现第一方面所述的解码方法。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.
第六方面,本申请实施例还提供了一种编码器,包括:In a sixth aspect, an embodiment of the present application further provides an encoder, including:
第二存储器,配置为存储可执行指令;a second memory configured to store executable instructions;
第二处理器,配置为执行所述第二存储器中存储的可执行指令时,实现第二方面所述的编码方法。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.
第七方面,本申请实施例提供了一种码流,包括:In a seventh aspect, an embodiment of the present application provides a code stream, including:
所述码流是根据待编码信息进行比特编码生成的;其中,所述待编码信息至少包括:多个尺度点云的属性编码信息、多个量化误差和多个尺度点云的重建几何信息,其中,所述多个尺度点云的重建几何信息包括第一尺度点云的重建几何信息。The code stream is generated by bit encoding according to 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.
第八方面,本申请实施例提供了一种计算机可读存储介质,存储有可执行指令,用于引起第一处理器执行时,实现第一方面所述的解码方法,或者,用于引起第二处理器执行时,实现第二方面所述的编码方法。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.
本申请实施例提供了一种编解码方法、解码器、编码器、码流及存储介质,在解码器,解码第一尺度点云时,采用已解码的第二尺度点云的属性信息对第一尺度预测,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损解码过程中,那么在解码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少解码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性编码信息进行解码的话,可以提高解码效率与解码性能。The embodiment of the present application provides a coding and decoding method, a decoder, an encoder, a code stream and a storage medium. When the decoder decodes a 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 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. Then, 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 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.
在编码器,通过尺度之间的处理,基于第二尺度点云的属性信息,预测第一尺度,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损编码过程中,那么在编码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少编码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性信息进行编码的话,可以提高编码效率与编码性能。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 is used in the lossless coding process. 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 and reduces the coding complexity. At the same time, it 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
图1为G-PCC编码的流程框图;FIG1 is a flow chart of G-PCC coding;
图2为G-PCC解码的流程框图;FIG2 is a flow chart of G-PCC decoding;
图3为本申请实施例提供的解码方法的一种可选的流程示意图;FIG3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application;
图4为本申请实施例提供的体素的属性信息的一种展示示意图;FIG4 is a schematic diagram showing attribute information of a voxel provided in an embodiment of the present application;
图5A为本申请实施例提供的体素上采样的一种可选的实现示意图;FIG5A is a schematic diagram of an optional implementation of voxel upsampling provided in an embodiment of the present application;
图5B为本申请实施例提供的体素上采样过程中属性信息和属性预测信息的一种可选的展示示意图;FIG5B is an optional schematic diagram showing attribute information and attribute prediction information in a voxel upsampling process provided in an embodiment of the present application;
图6为本申请实施例提供的属性概率预测网络的一种可选的结构示意图;FIG6 is a schematic diagram of an optional structure of an attribute probability prediction network provided in an embodiment of the present application;
图7为本申请实施例提供的解码方法的另一种可选的流程示意图;FIG7 is a schematic diagram of another optional flow chart of a decoding method provided in an embodiment of the present application;
图8为本申请实施例提供的划分分组的一种可选的过程示意图;FIG8 is a schematic diagram of an optional process of dividing into groups provided in an embodiment of the present application;
图9为本申请实施例提供的分组依次进行解码过程的一种可选的示意图;FIG9 is an optional schematic diagram of a process of sequentially decoding groups provided in an embodiment of the present application;
图10为本申请实施例提供的解码方法的又一种可选的流程示意图;FIG10 is a schematic diagram of another optional flow chart of a decoding method provided in an embodiment of the present application;
图11为本申请实施例提供的不同颜色分量间的预测占用概率过程的一种可选的展示示意图;FIG11 is an optional schematic diagram showing a process of predicting occupancy probabilities between different color components provided in an embodiment of the present application;
图12为本申请实施例提供的解码方法的再一种可选的流程示意图;FIG12 is a schematic diagram of another optional flow chart of the decoding method provided in an embodiment of the present application;
图13为本申请实施例提供的编码方法的一种可选的流程示意图;FIG13 is a schematic diagram of an optional flow chart of an encoding method provided in an embodiment of the present application;
图14为本申请实施例提供的编码方法的另一种可选的流程示意图;FIG14 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application;
图15为本申请实施例提供的编码方法的又一种可选的流程示意图;FIG15 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application;
图16为本申请实施例提供的编码方法的再一种可选的流程示意图;FIG16 is a schematic diagram of another optional flow chart of the encoding method provided in an embodiment of the present application;
图17为本申请实施例提供的编解码方法应用于实际场景的一种可选的过程示意图;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;
图18为本申请实施例提供的解码器的一种可选的结构示意图;FIG18 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;
图19为本申请实施例提供的解码器的一种可选的结构示意图;FIG19 is a schematic diagram of an optional structure of a decoder provided in an embodiment of the present application;
图20为本申请实施例提供的编码器的一种可选的结构示意图;FIG20 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application;
图21为本申请实施例提供的编码器的一种可选的结构示意图。FIG. 21 is a schematic diagram of an optional structure of an encoder provided in an embodiment of the present application.
具体实施方式Detailed ways
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, reference is made to “some embodiments”, which describe 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.
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。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 here can be implemented in an order other than that illustrated or described here.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。Before further describing 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.
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are described first. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:
基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC或GPCC);Geometry-based Point Cloud Compression (G-PCC or GPCC);
基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC或VPCC);Video-based Point Cloud Compression (V-PCC or VPCC);
八叉树(Octree);Octree;
包围盒(Bounding Box);Bounding Box;
细节层次(Level of Detail,LOD);Level of Detail (LOD);
预测变换(Predicting Transform);Predicting Transform;
提升变换(Lifting Transform);Lifting Transform;
区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT);Region Adaptive Hierarchal Transform (RAHT);
亮度分量(Luminance,Luma或Y);Luminance component (Luminance, Luma or Y);
蓝色色度分量(Chroma blue,Cb);Chroma blue (Cb);
红色色度分量(Chroma red,Cr);Red chromaticity component (Chroma red, Cr);
1)体素:体素是体积元素的简称,是数字数据于三维空间分割上的最小单位。通过体素,可以对3D空间进行网格划分,并赋予每个网格特征。示例性地,体素可以是三维空间中固定大小的立方块。体素可以广泛用于三维成像、科学数据与医学影像等领域。1) Voxel: Voxel is the abbreviation of volume element, which is the smallest unit of digital data in three-dimensional space segmentation. Voxel can be used to divide 3D space into grids and give each grid feature. For example, voxel can be a cubic block of fixed size in three-dimensional space. Voxel can be widely used in fields such as three-dimensional imaging, scientific data and medical imaging.
2)点云(Point Cloud)是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。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.
点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。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.
点云是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度,Cb(U)表示蓝色色度,Cr(V)表示红色色度。或者,颜色信息可以是亮度色度(YCKCg)信息。其中,Y表示明亮度,Co表示橙色色度,Cg表示绿色色度等,本申请实施例不作限制。A point cloud refers to a collection of massive three-dimensional points, and 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 point may be the three-dimensional coordinate information of the point. The location information of the point may also be referred to as the geometric information of the point. For example, the attribute information of the point 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. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B). For another example, the color information may be brightness and chromaticity (YCbCr, YUV) information. Among them, Y represents brightness, Cb (U) represents blue chromaticity, and Cr (V) represents red chromaticity. Alternatively, the color information may be brightness and chromaticity (YCKCg) information. Among them, Y represents brightness, Co represents orange chromaticity, Cg represents green chromaticity, etc., which is not limited by the embodiments of the present application.
点云可以按获取的途径分为:Point clouds can be divided into the following categories according to the way they are obtained:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;The first type of static point cloud: the object is stationary, and the device that obtains the point cloud is also stationary;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;The second type of dynamic point cloud: the object is moving, but the device that obtains the point cloud is stationary;
第三类动态获取点云:获取点云的设备是运动的。The third type of dynamic point cloud acquisition: the device that acquires the point cloud is moving.
点云的用途分为两大类场景:The uses of point clouds can be divided into two categories:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;Category 1: Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。Category 2: Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。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.
点云压缩算法包括国际动态图像专家组(Moving Picture Experts Group,MPEG)所开发的两种方案,分别是基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)和基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)。其中,G-PCC中的几何压缩主要通过八叉树模型和/或三角形表面模型实现。V-PCC主要通过三维到二维的投影和视频压缩实现。另外,G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。在本申请实施例中,可以是基于G-PCC编解码框架的原理实现进行描述。Point cloud compression algorithms include two solutions developed by the International 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 triangle surface model. V-PCC is mainly implemented through three-dimensional to two-dimensional projection and video compression. In addition, the G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, and the V-PCC codec 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 codec framework.
点云是一种三维数据格式,其采用大量离散三维坐标点(x,y,z)及其属性(如颜色Y,Co,Cg)的集合表示物体及场景的三维信息。其数据量庞大,需要高性能的点云压缩算法。根据压缩的对象不同,点云压缩可分为几何(geometry)压缩和属性(attribute)压缩两类,分别对应压缩坐标信息和属性信息。两者通常是分别压缩的,即先用几何压缩算法压缩坐标信息,然后以坐标为已知信息,再用单独的属性压缩算法压缩属性信息。本申请属于该模式下的一种属性压缩算法。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.
目前的属性压缩算法都是基于非神经网络的传统方法。大致可分为预测(prediction)和变换(transformation)两种。点云压缩算法G-PCC中的属性压缩方法为例,包括Predlift和RAHT两种不同模式。其中Predlift是一种以预测为核心的压缩技术,其基本原理是将点云按照点与点之间的距离划分为不同的细节层(LoD+Predlift),然后逐层预测,并对预测残差进行量化及熵编码。RAHT则是一种以变换为核心的压缩技术,其基本原理是将点云逐尺度,逐方向通过小波变换分解为高频和低频分量,然后对不同分量根据重要性分别量化并熵编码。这些方法都是以基于规则的计算方法进行预测/变换,例如基于距离的加权平均,基于点数构建的正交变换矩阵。The 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 the 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 the core. Its basic principle is to decompose the point cloud into high-frequency and low-frequency components by wavelet transform in each 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.
然而,随着人工智能技术的发展,神经网络被应用于基于几何的点云压缩技术,或属性有损压缩技术中,但缺少关于属性无损压缩的技术。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.
本申请实施例提供一种编解码方法、解码器、编码器、码流及计算机可读存储介质,能够提高编解码效率,提高编解码性能。为了便于对本申请实施例所提供的技术方案的理解,首先提供一种G-PCC编码的流程框图和G-PCC解码的流程框图。需要说明的是,本申请实施例描述的G-PCC编码的流程框图和G-PCC解码的流程框图仅是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域技术人员可知,随着点云压缩技术的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似G-PCC的点云编解码架构同样适用,本申请实施例压缩的点云可以是视频中的点云,但不局限于此。The embodiment of the present application provides a coding and decoding method, a decoder, an encoder, a code stream and a computer-readable storage medium, which can improve the coding and decoding efficiency and improve the coding and decoding performance. In order to facilitate the understanding of the technical solution provided by the embodiment 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 embodiment of the present application are only for more clearly illustrating the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided by the embodiment 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 in the embodiment of the present application is also applicable to point cloud coding and decoding architectures similar to G-PCC. The point cloud compressed in the embodiment of the present application can be a point cloud in a video, but is not limited to this.
在点云G-PCC编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。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.
如图1所示的G-PCC编码的流程框图中,应用于编码器中,针对待编码的点云数据,先通过条带(slice)划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中,然后再进行量化,量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,可以基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于三角面片集(triangle soup,trisoup)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到子块(block)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个交点(vertex),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的几何信息在对点云的属性编码时使用。As shown in the flowchart of G-PCC coding in FIG1 , it is applied to the encoder. For the point cloud data to be encoded, the point cloud data is first divided into multiple slices by strip division. In each slice, the geometric information and attribute information of the point cloud are encoded separately. In the geometric coding process, the geometric information is transformed so that all the point clouds are contained in a bounding box, and then quantized. Quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same. It can be determined whether to remove duplicate points based on parameters. The process of quantization and removal of duplicate points is also called voxelization. Then the bounding box is divided into octrees. In the octree-based geometric information coding process, the bounding box is divided into 8 sub-cubes, and the non-empty (containing points in the point cloud) sub-cubes are divided into 8 equal parts until the leaf node obtained by the division is a 1x1x1 unit cube. The division is stopped, and the points in the leaf node are arithmetically encoded to generate a binary geometric bit stream, that is, a geometric code stream. In the process of geometric information encoding based on triangle soup (trisoup), octree division 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 side length of the sub-block is 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. At most twelve intersections (vertex) generated by the twelve edges of the block are obtained, and the vertices are arithmetically encoded (surface fitting based on the intersections) to generate a binary geometric bit stream, that is, 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.
在属性编码过程中,进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间或YCoCg颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码过程中,主要有两种变换方法,一是依赖于细节层次(Level of Detail, LOD)划分的基于距离的提升变换,二是直接进行区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)的变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将经过八叉树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个block的vertex坐标(即算数编码),生成二进制的属性比特流,即属性码流。In the attribute encoding process, color conversion is performed to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space or the YCoCg color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. In the color information encoding process, there are two main transformation methods. One is the distance-based lifting transformation that relies on the level of detail (LOD) division, and the other is the direct transformation of the region adaptive hierarchical transformation (RAHT). Both methods will convert the color information from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through the transformation, and finally quantize the coefficients (i.e., quantized coefficients). Finally, the geometric encoding data after octree division and surface fitting and the attribute encoding data processed by the quantized coefficients are sliced and synthesized, and the vertex coordinates of each block are encoded in turn (i.e., arithmetic encoding) to generate a binary attribute bit stream, i.e., the attribute code stream.
如图2所示的G-PCC解码的流程框图,应用于解码器中。解码器获取二进制码流,针对二进制码流中的几何比特流(即几何码流)和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-反坐标变换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的反提升或者基于RAHT的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。The flowchart of G-PCC decoding shown in Figure 2 is applied to the decoder. The decoder obtains a 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 of 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.
本申请实施例提供的编码方法,可以理解为应用于如图1所示的G-PCC的属性信息编码流程中,在重新着色完成之后,在对划分的第一尺度点云进行编码的过程中,基于第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率;基于占用概率对第一尺度点云的属性信息进行编码,确定第一尺度点云的属性编码信息,从而替代图1中的生成LOD-提升-量化-算术编码这一支路的处理过程,实现无损编码,即无损压缩。本申请实施例的编码过程可以采用图1中的算术编码方法,如熵编码。通过算术编码过程,对第一尺度点云的属性信息进行编码,确定第一尺度点云的属性编码信息,写入属性比特流(码流)。The encoding method provided in the embodiment of the present application can be understood as being applied to the attribute information encoding process of 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 prediction information is probability predicted using the attribute probability prediction network 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, i.e., 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 bitstream (code stream) is written.
本申请实施例提供的解码方法,可以理解为应用于如图2所示的G-PCC的属性信息解码流程中,通过解析属性比特流,确定第一尺度点云对应的属性编码信息;基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据;采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率;基于占用概率对属性编码信息进行解码,确定第一尺度点云的属性信息,从而替代图2中的算术解码-反量化-生成LOD-逆提升的这一支路的处理过程,实现无损解码。本申请实施例的解码过程可以采用图2中的算术解码方法,如熵解码。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 , by parsing the attribute bit stream, determining the attribute coding information corresponding to the first scale point cloud; performing a prediction of the first scale based on the decoded attribute information of the second scale point cloud, and determining the attribute prediction information of the first scale point cloud; wherein the second scale point cloud is the decoded point cloud data of the previous scale parent node of the first scale point cloud; using an attribute probability prediction network, probabilistically predicting the attribute prediction information, and determining the occupancy probability of the first scale point cloud; decoding the attribute coding information based on the occupancy probability, and determining the attribute information of the first scale point cloud, thereby replacing the processing process of the arithmetic decoding-inverse quantization-generation of LOD-inverse lifting branch in FIG2 , and realizing lossless decoding. The decoding process of the embodiment of the present application can adopt the arithmetic decoding method in FIG2 , such as entropy decoding.
需要说明的是,本申请实施例的编码方法与解码方法也可以用于G-PCC之外的其他点云编码和解码流程中,实现属性信息的无损压缩。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 other than G-PCC to achieve lossless compression of attribute information.
下面说明本申请实施例提供的应用于解码器的解码方法。The decoding method applied to a decoder provided in an embodiment of the present application is described below.
参见图3,图3是本申请实施例提供的解码方法的一个可选的流程示意图,方法包括:Referring to FIG. 3 , FIG. 3 is a schematic diagram of an optional flow chart of a decoding method provided in an embodiment of the present application, the method comprising:
S101、解析码流,确定第一尺度点云对应的属性编码信息。S101, parsing a bit stream to determine attribute coding information corresponding to a first-scale point cloud.
在本申请实施例中,解码器的解码对象为点云或点云数据中的点或者节点。由于编码器在编码时,通过对点云数据进行空间划分,可以得到多个条带,即slice。对每个slice中的点云均进行本申请实施例提供的编码方法或解码方法。因此,解码器在解码时,对每个slice中的点云进行解码,最后再进行slice得到全部的解码信息,进而得到三维图像模型。In the embodiment of the present application, the decoding object of the decoder is a point cloud or a point or node in the point cloud data. Because the encoder can obtain multiple strips, i.e., slices, by spatially dividing the point cloud data during encoding. The encoding method or decoding method provided in the embodiment of the present application is performed on the point cloud in each slice. Therefore, when decoding, the decoder decodes the point cloud in each slice, and finally performs the slice to obtain all the decoding information, thereby obtaining a three-dimensional image model.
在本申请实施例中,由于编码器在编码时,是将每个slice或点云数据(不进行条带划分的时候)的待编码的点云,划分为属性信息对应的不同尺度的点云结构,针对不同尺度点云从尺度最小的点云开始逐尺度分别进行属性编码的。因此,在属性信息的解码过程中,解码器也是先从小到大(或从低到高)依次对不同尺度点云中的点进行解码,确定不同尺度的属性信息的,最终得到所有slice的全部尺度的解码信息,进而得到三维图像模型的。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 point clouds of different scales starting from the point cloud with the smallest scale. Therefore, in the decoding process of 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.
下面描述一个尺度点云(第一尺度点云)的详细解码过程。The detailed decoding process of a scale point cloud (first scale point cloud) is described below.
需要说明的是,解码器可以从码流中,解析得到第一尺度点云对应的属性编码信息(已编码的属性信息)。在本申请实施例中,码流中通常包含编码器传输的至少一个尺度的点云对应的编码信息(例如属性编码信息)。解码器在进行解码时,以从低尺度到高尺度的顺序进行解码。也就是说,解码器在对第一尺度点云对应的属性编码信息进行解码之前,已经完成了对第一尺度点云的前一个尺度点云,也即第二尺度点云的属性编码信息的解码,确定了已解码的第二尺度点云的属性信息。这样,解码器可以利用已解码的上一尺度的第二尺度点云的属性信息,对当前尺度的第一尺度点云对应的属性编码信息进行解码了。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 encoding information (such as attribute coding information) corresponding to at least one scale of the point cloud transmitted by the encoder. When the decoder decodes, it decodes in order from low scale to high scale. In other words, before the decoder decodes the attribute coding information corresponding to the first-scale point cloud, it 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.
需要说明的是,在本申请实施例中,由于编码器在进行属性编码时,可以将每个尺度点云体素化,通过体素网格的形式来表示点。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.
本申请实施例中,对于体素化过程,点云中的至少一个点可以对应一个被占用的体素(即非空体素或被占据的体素),而未被占用的体素(即空体素或未被占据的体素)表示该体素位置上没有落入点云中的点。在一些实施例中,可以将被占用的体素标记为不同的属性信息,将未被占用的体素则没有属性信息。如此,体素化后的不同尺度点云可以通过体素网格中,各个位置上体素的信息,来表示不同尺度点 云的属性信息。相应的,在解码过程中,解码器针对第一尺度点云解码时,可以依次对各个第一尺度体素进行解析,完成解码。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 may be marked with different attribute information, and unoccupied voxels may have no attribute information. In this way, the voxelized point clouds of different scales may represent the attribute information of the point clouds of different scales through the information of the voxels at each position in the voxel grid. Accordingly, during the decoding process, when the decoder decodes the first-scale point cloud, it may parse each first-scale voxel in turn to complete the decoding.
在本申请实施例中,解析码流,确定第一尺度点云对应的属性编码信息,也可以理解为解析码流,得到各个第一尺度体素的属性编码信息。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.
S102、基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据。S102, predicting 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; wherein the second scale point cloud is the decoded point cloud data of the previous scale parent node of the first scale point cloud.
在本申请实施例中,解码器在进行第一尺度点云的解码时,可以获取到已经解码完成的第二尺度点云的已解码的属性信息。其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据,第二尺度小于第一尺度。In an embodiment of the present application, when the decoder decodes the first-scale point cloud, it can obtain the decoded attribute information of the decoded second-scale point cloud. The second-scale point cloud is the decoded point cloud data of the previous-scale parent node of the first-scale point cloud, and the second scale is smaller than the first scale.
在本申请实施例中,点云的尺度与该点云中体素的尺度是对应的。也就是说,第一尺度点云中包含的体素对应第一尺度体素,第二尺度点云中包含的体素对应第二尺度体素。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.
需要说明的是,由于第二尺度点云是第一尺度点云通过体素下采样得到的,因此,第二尺度点云的一个第二尺度体素包含的点,可以作为与第一尺度点云中的对应的多个第一尺度体素包含的点的父节点。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 be used as a parent node of points contained in multiple corresponding first-scale voxels in the first-scale point cloud.
在本申请实施例中,解码器可以基于第二尺度点云的已解码的属性信息来推测未解码的第一尺度上点云的属性信息,得到其预测出的属性预测信息。In the 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.
在本申请实施例中,在不同尺度之间,通过反池化操作来进行预测或推测。第一尺度体素为第二尺度体素对应的上采样体素。In the embodiment of the present application, prediction or inference is performed by unpooling operation between different scales. The voxel at the first scale is the upsampled voxel corresponding to the voxel at the second scale.
在本申请的一些实施例中,解码器对第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数。解码器根据第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到第一尺度点云的属性预测信息。In some embodiments of the present application, the decoder performs 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 decoder determines attribute prediction information corresponding to the n first voxels of the first scale based on the decoded attribute information of the second-scale point cloud, and further obtains the attribute prediction information of the first-scale point cloud.
其中,本申请中的第一体素为第一尺度体素,第二体素为第二尺度体素。The first voxel in the present application is a first-scale voxel, and the second voxel is a second-scale voxel.
需要说明的是,解码器可以对第二尺度预测点云中第二尺度体素进行体素上采样,得到第一尺度对应的第一尺度体素。示例性地,对于第二尺度点云中表征被占用的第二尺度体素进行上采样,得到每个第二尺度体素对应的第一尺度的多个第一尺度体素。也就是说,当第二尺度点云包括多个第二体素时,每个第二体素经过上采样,可以得到对应尺度对应的多个第一体素,从而可以得到多个第二体素对应的第一尺度的n个第一体素。It should be noted that the decoder can perform voxel upsampling on the second scale voxels in the second scale prediction point cloud to obtain first scale voxels corresponding to the first scale. Exemplarily, upsampling is performed on the second scale voxels representing the occupied points in the second scale point cloud to obtain multiple first scale voxels of the first scale corresponding to each second scale voxel. In other words, when the second scale point cloud includes multiple second voxels, each second voxel can be upsampled to obtain multiple first voxels corresponding to the corresponding scale, thereby obtaining n first voxels of the first scale corresponding to the multiple second voxels.
本申请实施例中,解码器对第二尺度点云进行上采样处理,将第二尺度点云上采样至第一尺度。可理解,由于第二尺度低于第一尺度,第二尺度点云在进行上采样时,会得到一个第二尺度的体素对应的多个上采样体素(即多个第一体素),多个上采样体素的每个上采样体素中是否包含了点云中的点,若包含则可以通过之后占用概率预测的过程进行预测。这里,解码器对通过上采样得到的各个上采样体素(n个第一体素)进行划分处理,确定m组第一样体素,以基于分组的形式进行后续的预测处理。其中,m为大于或等于1的整数。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 upsampled voxel 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.
需要说明的是,编码器在对第一尺度点云下采样确定第二尺度点云的过程中,由于下采样过程中的对属性信息求均值操作会产生小数,使用rounding(四舍五入)操作对其量化,产生的小数部分即为量化误差。因此,编码器在相邻尺度下采样时会产生尺度间的量化误差,这样解码器在上采样的过程中,可以先进行反量化后再进行上采样,以实现无损解码。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 in the downsampling process will produce decimals, and the rounding operation is used to quantize it. The decimal part produced is the quantization error. Therefore, when the encoder downsamples at adjacent scales, the quantization error between scales will be generated. In this way, during the upsampling process, the decoder can first perform dequantization and then upsample to achieve lossless decoding.
在本申请的一些实施例中,解码器在解码第一尺度点云时,可以确定第二尺度点云的已解码的属性信息;也可以从码流中,解析到第一尺度点云下采样到第二尺度点云时的量化误差。解码器采用量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;再将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定为每个第一体素对应的属性预测信息。In some embodiments of the present application, when decoding the first-scale point cloud, the decoder can determine the decoded attribute information of the second-scale point cloud; it can also parse the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud from the bitstream. 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; and then determines 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 as the attribute prediction information corresponding to each first voxel.
需要说明的是,解码器可以将第二尺度点云的已解码的属性信息与其对应的量化误差叠加,得到第二尺度点云的修正属性信息。第二尺度点云可以包括多个第二尺度体素(如K个第二体素,K为大于或等于1的整数),针对每个第二尺度体素对应一个量化误差,每个第二尺度体素叠加各自对应的量化误差,确定了第二尺度点云的各个第二尺度体素对应的修正属性信息。由于每个第二尺度体素对应多个第一尺度体素(即多个第一体素),因此,每个第二尺度体素对应的修正属性信息为其对应的多个第一尺度体素的属性信息均值。也就是说,针对第一尺度对应的n个第一体素(即n个第一尺度体素),将每个第一体素对应的上一尺度的父节点的修正属性信息,确定为每个第一体素的属性信息均值。It should be noted that the decoder may superimpose the decoded attribute information of the second-scale point cloud with the 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 (such as K second voxels, K is an integer greater than or equal to 1), and each second-scale voxel corresponds to a quantization error. Each second-scale voxel superimposes the 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 mean of the attribute information of the multiple first-scale voxels corresponding to it. 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 mean of the attribute information of each first voxel.
在本申请实施例中,解码器将第一尺度的n个第一体素的每个第一体素对应的第二尺度点云的属性信息的均值,确定为每个第一体素对应的属性预测信息。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 first voxel of n first voxels at the first scale as the attribute prediction information corresponding to each first voxel.
由于每个第二尺度体素或第二体素对应了多个第一尺度体素或多个第一体素,因此,n个第一体素中,属于同一个第二体素为父节点的至少一个第一体素对应的属性预测信息是一致的。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 belonging to the same second voxel as a parent node among the n first voxels is consistent.
需要说明的是,每个第一体素中不一定包含点云中的点,所以只用在第一体素被占用时,被占用的 第一体素才确定有属性预测信息。It should be noted that each first voxel does not necessarily contain points in the point cloud, so the occupied first voxel is only used when it is occupied, and the attribute prediction information is determined to be present.
示例性的,采用每个体素上的数字或者颜色深浅或不同标记等表示其属性信息或属性值,本申请实施例不作限制。点云中被占用的体素用实的立方块表示,代表有点云中的点的属性信息。点云中未被占用的体素用空的立方块表示,代表有点云中没有点,也没有属性信息,或属性信息为空。如图4所示,每个立方体代表一个体素,包含点云的点的每个体素对应的属性信息采用数字表示,如图4所示,采用8,5,9,7,3,5表示各个体素的属性信息。Exemplarily, the attribute information or attribute value of each voxel is represented by numbers or color depth or different marks, which is not limited in the embodiments of the present application. Occupied voxels in the point cloud are represented by solid cubes, which represent the attribute information of the points in the point cloud. Unoccupied voxels in the point cloud are represented by empty cubes, which means 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.
需要说明的是,本申请实施例中的属性信息可以包括颜色分量,具体为任意颜色空间的颜色信息。示例性地,属性信息可以为RGB空间的颜色信息,也可以为YUV空间的颜色信息,还可以为YCbCr空间的颜色信息或YCoCg等等,本申请实施例不作任何限定。It should be noted that the attribute information in the embodiment of the present application may include color components, specifically color information of any color space. For example, the attribute information may be color information of an RGB space, color information of a YUV space, color information of a YCbCr space, or YCoCg, etc., and the embodiment of the present application does not impose any limitation thereto.
在本申请实施例中,颜色分量可以包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量。这样,以属性信息为颜分量为例,如果颜色分量符合RGB颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:R分量、G分量、B分量;如果颜色分量符合YUV颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、U分量、V分量;如果颜色分量符合YCbCr颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、Cb分量、Cr分量。如果颜色分量符合YCoCg颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、Co分量、Cg分量。In the embodiment of the present application, the 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: R component, G component, B component in sequence; 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: Y component, U component, V component in sequence; 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: Y component, Cb component, Cr component in sequence. 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: Y component, Co component, Cg component in sequence.
示例性的,以属性信息为颜分量为例时,属性信息的数值可以采用0-255中的值来表示,本申请实施例不做限制。Exemplarily, 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 embodiments of the present application.
还可以理解地,在本申请实施例中,对于每一个点云中的点,该点的属性信息除了包括颜色分量之外,该点的属性信息也可以包括反射率、折射率或者其它属性,这里对此并不作具体限定。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.
示例性的,包含点的体素,即被占用的体素可以采用各个点的属性信息的均值来作为该体素的属性信息。如图5A所示,第二尺度点云包括被占用的3个第二体素,每个第二体素经过体素上采样之后包含8个第一体素(第一尺度体素)。如图5B所示,第二尺度(Scale p-1,p为大于1的整数)的第二体素中有3个第二体素被占用,且这3个第二体素各自对应的属性信息为8,7和4。Scale p-1与Scale p之间的量化误差为0,这样,3个第二体素的修正属性信息仍为8,7和4。经过体素上采样后,修正属性信息为8的第二体素对应的第一尺度(Scale p)的第一体素的属性预测信息为8,修正属性信息为7的第二体素对应的第一体素的属性预测信息为7,修正属性信息为4的第二体素对应的第一体素的属性预测信息为4。Exemplarily, the voxel containing the point, that is, the occupied voxel can use the mean of the attribute information of each point as the attribute information of the voxel. As shown in FIG5A, 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 FIG5B, 3 second voxels are occupied in the second voxels of the second scale (Scale p-1, p is an integer greater than 1), 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 that the corrected 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 the corrected attribute information of 8 is 8, the attribute prediction information of the first voxel corresponding to the second voxel with the corrected attribute information of 7 is 7, and the attribute prediction information of the first voxel corresponding to the second voxel with the corrected attribute information of 4 is 4.
在本申请的一些实施例中,解码器还可以从码流中,确定第一尺度点云的重建几何信息。In some embodiments of the present application, the decoder may also determine the reconstructed geometric information of the first-scale point cloud from the bitstream.
在本申请实施例中,解码器采用量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;再根据第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。In an embodiment of the present application, the decoder uses a 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; then, a first-scale prediction 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 the attribute prediction information of the first-scale point cloud.
需要说明的是,解码器在进行属性解码时,是已经完成了几何解码的过程,可以得到不同尺度点云的重建几何信息的。于是,在解码器进行属性解码的过程中,解码器是可以基于第一尺度点云的重建几何信息,在对第二尺度点云进行上采样的过程中,确定上采样得到的第一体素中哪些体素被占用,哪些体素未被占用的。It should be noted that when the decoder performs attribute decoding, it has already completed the geometric decoding process and can obtain the reconstructed geometric information of point clouds of different scales. Therefore, when the decoder performs attribute decoding, the decoder can determine which voxels in the first voxel obtained by upsampling the second scale point cloud are occupied and which voxels are not occupied based on the reconstructed geometric information of the first scale point cloud during the process of upsampling the second scale point cloud.
第一尺度点云的重建几何信息可以确定第一尺度点云中的点的分布位置,即确定第一尺度体素对应的点的位置信息,通过点的位置信息可以确定第一尺度点云对应的第一体素中包含的点的分布位置。这样在基于第二尺度点云进行体素上采样得到的n个第一体素中,就能确定哪些第一体素是被占用的。针对被占用的第一体素,可以根据第二尺度点云的修正属性信息,确定这些被占用的第一体素的属性预测信息,全部第一体素确定完成后,完成确定第一尺度点云的属性预测信息。The reconstructed geometric information of the first-scale point cloud can determine the distribution position of the points in the first-scale point cloud, that is, determine the position information of the points corresponding to the first-scale voxels. The distribution position of the points contained in the first voxels corresponding to the first-scale point cloud can be determined through the position information of the points. In this way, among the n first voxels obtained by upsampling the voxels based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For the 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. After all the first voxels are determined, the attribute prediction information of the first-scale point cloud is determined.
示例性的,如图5B所示,属性信息为8的第二体素对应的第一体素为1个,其属性预测信息为8。属性信息为7的第二体素对应的第一体素为3个,其属性预测信息为7。属性信息为4的第二体素对应的第一体素为2个,其属性预测信息为4。For example, as shown in FIG5B , the second voxel with attribute information of 8 corresponds to 1 first voxel, and its attribute prediction information is 8. The second voxel with attribute information of 7 corresponds to 3 first voxels, and its attribute prediction information is 7. The second voxel with attribute information of 4 corresponds to 2 first voxels, and its attribute prediction information is 4.
S103、采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率。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.
在本申请实施例中,解码器确定了第一尺度点云的第一体素的属性预测信息之后,可以采用属性概率预测网络,对属性预测信息进行概率预测,确定第一体素的占用概率。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.
在本申请的一些实施例中,属性概率预测网络可以为稀疏卷积网络的属性概率预测(SparseCNN-based Attribute Probability Approximation,SAPA)。属性概率预测网络的输入为属性预测信息或属性信息值,输出为概率模型参数。解码器可以根据第一体素的概率模型参数,进而确定出第一体素的占用概率,从而完成确定第一尺度点云的占用概率。In some embodiments of the present application, the attribute probability prediction network can be a sparse convolutional network 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.
需要说明的是,采用属性概率预测网络进行概率预测时,可以以体素为单位,针对第一体素中的多个点的属性预测信息,确定出该体素包含的各个点的概率模型参数。It should be noted that when the attribute probability prediction network is used 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 in units of voxels.
在本申请实施例中,概率模型参数可以包括:代表拉普拉斯分布的均值和方差,采用(μ,σ)表示,本 申请实施例不作限制。In an embodiment of the present application, the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed by (μ, σ), which is not limited in the embodiment of the present application.
示例性的,概率模型参数可以包括:(μ,σ)。假设如图6所示的属性概率预测网络网络结构。X为输入的属性预测信息或属性信息,输出为(μ,σ)。其网络结构由多层稀疏卷积卷积层(Sparse Convolution,SConv)组成,且网络的输出结合了X确定出概率模型参数。Exemplarily, the probability model parameters may include: (μ, σ). Assume the attribute probability prediction network structure as shown in FIG6. X is the input attribute prediction information or attribute information, and the output is (μ, σ). Its network structure consists of multiple layers of sparse convolution (Sparse Convolution, SConv), and the output of the network is combined with X to determine the probability model parameters.
在本申请的一些实施例中,解码器将各个第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为第一尺度点云对应的体素;根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率。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.
在本申请实施例中,第一尺度对应n个第一体素,解码器在确定n个第一体素的属性预测信息之后,解码器可以依次对各个第一体素进行概率预测,解码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;根据当前第一体素的至少一种概率模型参数,确定当前第一体素的占用概率。继续进行下一第一体素的概率预测,直至所有第一体素预测结束时为止,得到第一尺度点云的各个第一体素的占用概率。或者,解码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;继续进行下一第一体素的概率预测,直至所有第一体素预测结束时为止,得到第一尺度点云的各个第一体素的至少一种概率模型参数。根据各个第一体素的至少一种概率模型参数,分别确定各个第一体素的占用概率,从而完成确定第一尺度点云的占用概率。即第一尺度点云的占用概率包括各个第一体素的占用概率。In the embodiment of the present application, the first scale corresponds to n first voxels. After the decoder determines the attribute prediction information of the n first voxels, the decoder can perform probability prediction on each first voxel in turn. The decoder 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 of the current first voxel; and determines the occupancy probability of the current first voxel according to at least one probability model parameter of the current first voxel. Continue to perform probability prediction of the next first voxel until all first voxel predictions are completed, and obtain the occupancy probability of each first voxel of the first scale point cloud. Alternatively, the decoder 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 of the current first voxel; and continues to perform probability prediction of the next first voxel until all first voxel predictions are completed, and obtains at least one probability model parameter of each first voxel of the first scale point cloud. According to at least one probability model parameter of each first voxel, the occupancy probability of each first voxel is determined respectively, 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.
需要说明的是,至少一种概率模型参数可以两种概率模型,也可以为一种或者其他多种保证数值整体性能的参数,本申请实施例不作限制。It should be noted that at least one probability model parameter may be two probability models, or may be one or more other parameters that ensure the overall numerical performance, and the embodiments of the present application are not limited thereto.
在本申请实施例中,概率模型参数可以包括:代表拉普拉斯分布的均值和方差,采用(μ,σ)表示,本申请实施例不作限制。In the embodiment of the present application, the probability model parameters may include: the mean and variance representing the Laplace distribution, expressed by (μ, σ), which is not limited in the embodiment of the present application.
需要说明的是,在本申请实施例中,每个第一体素中可以包含至少一个点,解码器在进行概率预测时,是基于每个第一体素的各个点进行的预测,得到的是各个点各自的至少一种概率模型参数。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, the prediction is based on each point of each first voxel, and what is obtained is at least one probability model parameter of each point.
在本申请的一些实施例中,解码器可以根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;根据每一第一体素的概率密度分布,以每一第一体素为中心的预设范围内进行积分运算,确定每一第一体素的占用概率,从而确定第一尺度点云的占用概率。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.
需要说明的是,在本申请实施例中,每个第一体素的概率预测后,确定每个第一体素上的各个点的至少一种概率模型参数,基于每个第一体素上的各个点的至少一种概率模型参数,可以确定每一第一体素的概率密度分布。以每个第一体素为中心,在其预设范围内进行积分计算,就可以得到每个第一体素的占用概率。It should be noted that, in the embodiment of the present application, after the probability prediction of each first voxel, at least one probability model parameter of each point on each first voxel is determined, and based on the at least one probability model parameter of each point on each first voxel, the probability density distribution of each first voxel can be determined. Taking each first voxel as the center, an integral calculation is performed within its preset range to obtain the occupancy probability of each first voxel.
示例性的,如公式(1)所示,假设属性预测信息服从拉普拉斯分布,至少一种概率模型参数为(μ,σ),根据每个第一体素x i上的点预测的均值和方差(μ ii),确定每个第一体素的概率密度分布函数
Figure PCTCN2022125722-appb-000001
并通过以x i为中心的
Figure PCTCN2022125722-appb-000002
范围内的积分运算得到其概率p(x i),即第一体素的占用概率。
Exemplarily, as shown in formula (1), assuming that the attribute prediction information follows the Laplace distribution, at least one probability model parameter is (μ, σ), and the probability density distribution function of each first voxel is determined according to the mean and variance (μ i , σ i ) of the point prediction on each first voxel x i
Figure PCTCN2022125722-appb-000001
And through the xi - centered
Figure PCTCN2022125722-appb-000002
The integral operation within the range obtains its probability p( xi ), ie, the occupancy probability of the first voxel.
Figure PCTCN2022125722-appb-000003
Figure PCTCN2022125722-appb-000003
S104、基于占用概率对属性编码信息进行解码,确定第一尺度点云的属性信息。S104: Decode the attribute encoding information based on the occupancy probability to determine attribute information of the first-scale point cloud.
在本申请实施例中,解码器得到了各个第一体素的占用概率息后,采用各个第一体素的占用概率,分别对应对第一尺度点云的各个第一体素对应的属性编码信息进行解码,确定出各个第一体素对应的属性信息。In the 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 respectively decode the attribute encoding information corresponding to each first voxel of the first-scale point cloud to determine the attribute information corresponding to each first voxel.
在本申请的一些实施例中,解码器对第一尺度点云的解码可以以体素为单位进行,进一步的解码第一体素所包含的各个点的属性信息。In some embodiments of the present application, the decoder may decode the first-scale point cloud in units of voxels, and further decode the attribute information of each point contained in the first voxel.
需要说明的是,解码器是可以基于第一体素的占用概率来实现对每个第一体素的属性编码信息的解码的。第一尺度点云的属性编码信息包括各个第一体素对应的属性编码信息。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.
在本申请的实施例中,解码器在尺度间处理的过程如前述实施例所述,除此之外,解码器在同一尺度间,可以按照体素之间的分组,分组进行组件处理进行解码,还可以按照不同颜色分量进行不同颜色通道的通道间处理,实现解码,也可以结合体素分组和不同颜色分量结合一起进行解码,本申请实施例不作限制,将在后面的实施例中进行描述。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 of voxels at the same scale, and can also perform channel-to-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.
需要说明的是,本申请实施例中的解码方法可应用于可伸缩的编解码方法中,也即对于编码器侧发送的多个尺度点云的多个属性编码信息,解码器可以根据实际解码精度的需要,以从低尺度向高尺度解码的顺序,解码重建至任意尺度的点云。示例性地,编码器在码流中写入并发送了第一尺度点云的属性编码信息、第二尺度点云的属性编码信息至第S+1尺度点云的属性编码信息,而解码器可以根据预设精度要求,根据本申请实施例提供的解码方法,从第S+1尺度点云解码至第三尺度点云,预测第三尺度点云的属性信息后结束解码,不再对第二尺度的属性编码信息与第一尺度点云对应的属性编码信息进行解 码。具体的根据实际情况进行选择,本申请实施例不作限定。It should be noted that the decoding method in the embodiment of the present application can be applied to a scalable encoding and decoding method, that is, for multiple attribute coding information of multiple scale point clouds sent by the encoder side, the decoder can decode and reconstruct the point cloud of any scale in the order of decoding from low scale to high scale according to the actual decoding accuracy requirements. Exemplarily, the encoder writes and sends the attribute coding information of the first scale point cloud, the attribute coding information of the second scale point cloud to the attribute coding information of the S+1 scale point cloud in the bitstream, and the decoder can 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 embodiment of the present application, and end the decoding after predicting the attribute information of the third scale point cloud, and no longer decode the attribute coding information of the second scale and the attribute coding information corresponding to the first scale point cloud. The specific selection is made according to the actual situation, and the embodiment of the present application is not limited.
可以理解的是,本申请实施例提供的解码方法可以重复应用于多个相邻尺度之间,且每组相邻尺度间的解码相互独立不依赖,因此可以灵活地实现尺度可伸缩的解码。It can be understood 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.
需要说明的是,上述解码器的每次解码过程都是将已解码的低尺度点云作为已知信息,对高尺度点云的属性编码信息进行解码的。对于解码器的首个解码过程,其已知信息可以是编码器侧发送的未编码的预设数量个点云信息。编码器可以将预设数量个点云信息,如点云中100个点的属性信息作为首个已知信息,以未编码的方式直接发送至解码端,以使解码器无需对首个已知信息进行解码,直接利用编码器发送的预设数量个点的属性信息,预测出相应尺度的点云,以继续之后的解码过程。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, the known information may be a preset number of unencoded point cloud information sent by the encoder side. The encoder may send a preset number of point cloud information, such as the attribute information of 100 points in the point cloud, as the first known information directly to the decoding end in an unencoded manner, so that the decoder does not need to decode the first known information, but directly uses 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.
可以理解的是,在解码器,解码第一尺度点云时,采用已解码的第二尺度点云的属性信息对第一尺度预测,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损解码过程中,那么在解码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少解码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性编码信息进行解码的话,可以提高解码效率与解码性能。It can be understood that, 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 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, and improves 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.
针对第一尺度点云解码时,可以对第一尺度点云的多个第一体素进行分组来实现解码过程。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.
在本申请的一些实施例中,如图7所示,本申请实施例提供的解码方法还可以包括: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:
S201、解析码流,确定第一尺度点云对应的属性编码信息。S201, parsing a bit stream to determine attribute coding information corresponding to a first-scale point cloud.
需要说明的是,S201的实现与S101的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S201 is consistent with that of S101, and will not be repeated here.
S202、对第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据。S202, 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; 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.
S203、根据第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到第一尺度点云的属性预测信息。S203 . Determine attribute prediction information corresponding to n first voxels of the first scale according to the decoded attribute information of the second-scale point cloud, and then obtain attribute prediction information of the first-scale point cloud.
需要说明的是,S202-S203的实现原理与S102的实现原理一致,此处不再赘述。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.
S204、基于n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数。S204 , grouping 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.
在本申请实施例中,解码器可以对n个第一体素进行分组,以基于分组的形式进行后粗的预测处理。In the embodiment of the present application, the decoder may group the n first voxels and perform a post-coarse prediction process in a group-based manner.
在本申请实施例中,解码器可以根据每一第二尺度点云中的第二体素在上采样后对应的体素的数量,确定编号范围;利用编号范围,在第二尺度点云上采样得到的多个第一样体素中,对第二尺度点云中每个第二体素在各自对应的第一尺度中对应的多个第一样体素进行相同方式的编号,得到n个第一体素中每个第一样体素对应的编号。In an embodiment of the present application, the decoder can determine the 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.
在本申请的一些实施例中,在n个第一体素中,解码器可以根据每个第一体素的编号,将编号相同的第一体素划分为一组,确定m组第一体素,其中,m为大于或等于1的整数。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.
示例性的,如图8所示,对p-1尺度点云即第二尺度点云,进行2×2×2的上采样后得到p尺度的n个第一体素,即第一尺度的n个第一体素。可以看出,p-1尺度点云的一个第二体素在上采样后对应p尺度的8个第一体素,则可以确定编号范围为1-8。对于p-1尺度点云中的一个第二体素,利用编号1-8分别对该体素在p尺度点云中的对应的8个第一样体素进行编号;对于p-1尺度点云中的三个第二体素,利用相同的编号方式对每个p-1尺度点云中的第二体素对应的8个第一体素进行编号,得到3个编号1的第一体素、3个编号2的第一体素…,至3个编号8的第一体素。第一种分组方式:解码器根据每个第一体素的编号进行分组,将编号相同的第一体素划分为一组,即将每个第一体素的相同位置的体素进行分组如图8所示,示例性地,将每个编号1的第一体素分为一组,将每个编号2的第一体素分为一组,以此类推,得到8组第一体素作为m组第一体素,即G1至G8这8组。Exemplarily, as shown in FIG8 , the p-1 scale point cloud, i.e., the second scale point cloud, is upsampled by 2×2×2 to obtain n first voxels of the p scale, i.e., n first voxels of the first scale. It can be seen that a second voxel of the p-1 scale point cloud corresponds to 8 first voxels of 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, obtaining 3 first voxels numbered 1, 3 first voxels numbered 2, ..., 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.
在本申请实施例中,还可以由其他分组方式,如下:In the embodiment of the present application, other grouping methods may also be used, as follows:
第二种分组方式:确定编号1和编号2为连续编号、以及编号3和编号4为连续编号,以及编号5至编号8为连续编号;将编号1和编号2对应的各个第一体素作为一组,将编号3和编号4对应的各个第一体素作为一组,将编号5至编号8对应的各个第一体素作为一组,得到3组第一体素作为m组第一体素,即如图8中所示的:G1G2、G3G4和G5G6 G7G8这三组。The second grouping method: determine that number 1 and number 2 are consecutive numbers, number 3 and number 4 are consecutive numbers, and number 5 to number 8 are consecutive numbers; take the first voxels corresponding to number 1 and number 2 as a group, take the first voxels corresponding to number 3 and number 4 as a group, take the first voxels corresponding to number 5 to number 8 as a group, and obtain 3 groups of first voxels as m groups of first voxels, namely, the three groups G1G2, G3G4, and G5G6 G7G8 as shown in Figure 8.
第三种分组方式:将n个(n=24)第一体素全部作为一组,相当于将编号1-8确定为连续编号,得到1组第一体素作为m组第一体素。即如图8中所示的:G1G2G3G4G5G6 G7G8为一组。The third grouping method: taking all n (n=24) first voxels as one group 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 , G1G2G3G4G5G6 G7G8 is a group.
S205、采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,m组占用概率为第一尺度点云的占用概率。S205 , using an attribute probability prediction network, sequentially performing probability prediction on the attribute prediction information of the m groups of first voxels, and determining the m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities of the first scale point cloud.
S206、根据m组占用概率逐组对m组第一体素对应的属性编码信息进行解码,确定m组第一体素各自的属性信息。S206 , decoding the attribute coding information corresponding to the first voxels in the m groups one by one according to the m groups of occupancy probabilities, and determining the attribute information of each of the first voxels in the m groups.
在本申请实施例中,解码器将每个第二体素对应的多个第一体素均划分在m组第一体素中,最终实 现将n个第一体素均划分在m组第一体素中。解码器可以按照分组顺序,从第1组到最后一组依次进行解码。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 finally 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 in the grouping order.
在本申请实施例中,解码器可以采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,解码器根据m组占用概率,分别对m组第一体素对应的属性编码信息进行解码,确定m组第一体素各自的属性信息,完成第一尺度点云的解码。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 turn 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.
在本申请的一些实施例中,解码器采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率。解码器对每组中的每个第一体素的概率预测过程包括:解码器可以依次对每组中的各个第一体素进行概率预测,解码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;根据当前第一体素的至少一种概率模型参数,确定当前第一体素的占用概率。继续进行本组中的下一第一体素的概率预测,直至所有组的所有第一体素预测结束时为止,得到第一尺度点云的m组中的各个第一体素的占用概率。或者,解码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;继续进行本组中的下一第一体素的概率预测,直至所有组的所有第一体素预测结束时为止,得到第一尺度点云的m组中的各个第一体素的至少一种概率模型参数。根据m组中的各个第一体素的至少一种概率模型参数,分别确定各个第一体素的占用概率,从而完成确定第一尺度点云的m组第一体素的占用概率。即第一尺度点云的占用概率包括m组第一体素的各个第一体素的占用概率。In some embodiments of the present application, the decoder uses 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 probability of the m groups. The probability prediction process of the decoder for each first voxel in each group includes: the decoder can perform probability prediction on each first voxel in each group in sequence, the decoder 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 of the current first voxel; according to at least one probability model parameter of the current first voxel, the occupancy probability of the current first voxel is determined. Continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain the occupancy probability of each first voxel in the m groups of the first scale point cloud. Alternatively, the decoder 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 of the current first voxel; continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain at least one probability model parameter of each first voxel in the m groups of the first scale point cloud. According to at least one probability model parameter of each first voxel in the m groups, the occupation probability of each first voxel is determined respectively, so as to complete the determination of the occupation probability of the m groups of first voxels of the first scale point cloud. That is, the occupation probability of the first scale point cloud includes the occupation probability of each first voxel of the m groups of first voxels.
需要说明的是,每组第一体素中的各个第一体素的占用概率的确定原理与S103中的实现原理一致,此处不再赘述。It should be noted that the principle for determining the occupation 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.
在本申请的一些实施例中,解码器根据第i组占用概率对第i组第一体素的属性编码信息进行解码,确定第i组第一体素的属性信息;i为大于或等于1,且小于或等于m的整数;基于第i+1组占用概率继续下一组解码,直至对第m组第一体素的属性编码信息进行解码完成时结束,确定m组第一体素各自的属性信息。In some embodiments of the present application, the decoder decodes the attribute coding information of the first voxel in the i-th group according to 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.
需要说明的是,在本申请实施例中,解码器对每组第一体素,采用第i组占用概率对其属性编码信息进行解码,来实现每组第一体素的属性信息的解析。但是在同一尺度的第一体素进行解码的过程中,同一个第二体素对应的不同组间的未解码第一体素的解码也是可以依根据已知信息,包括属于同一个第二体素对应的不同组间的已解码的体素(第一体素)和上一尺度父节点的体素(对应的第二体素)实现。It should be noted that in the embodiment of the present application, the decoder decodes the attribute coding information of each group of first voxels using the ith group occupancy probability to implement the parsing of the attribute information of each group of first voxels. However, in the process of decoding the first voxels at the same scale, the decoding of the undecoded first voxels between different groups corresponding to the same second voxel can also be implemented based on the 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).
在本申请实施例中,第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;第i组第一体素包括:H个第一体素;第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数。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.
需要说明的是,预设数量与上采样或下采样的采样数量相关,例如,若进行2×2×2的上采样,则预设数量为8。本申请实施例不限制采样方式。It should be noted that the preset number is related to the sampling number of 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.
在本申请实施例中,根据分组方式的不同,每组第一体素中可以包含多个第二体素各自对应的第一体素。例如H个第一体素,所以第i组占用概率也对应H组子占用概率。In the embodiment of the present application, according to different grouping methods, 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.
在本申请的一些实施例中,解码器根据第i组占用概率对第i组第一体素的属性编码信息进行解码,确定第i组第一体素的属性信息,包括: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:
若第j个第一体素所属的第二体素对应的未解码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行解码,得到第j个第一体素的属性信息;第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;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;
若第j个第一体素所属的第二体素对应的未解码第一体素的数量为1,则确定第二体素对应的未解码第一体素的属性均值,属性均值为第j个第一体素的属性信息;属性均值是根据第二体素对应的已解码第一体素的属性信息,以及第二体素的已解码属性信息确定的;If the number of undecoded first voxels corresponding to the second voxel to which the j-th first voxel belongs is 1, then determining the attribute mean of the undecoded first voxel corresponding to the second voxel, the attribute mean being 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;
继续进行第j+1个第一体素的解码,直至j=H时,确定第i组第一体素的属性信息。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.
在本申请实施例中,针对第i组中第j个第一体素的解码,第j个第一体素对应第二尺度的一个第二体素,一个第二体素对应第一尺度的多个第一体素,第j个第一体素属于其中的一个,若该多个第一体素中,包含第j个第一体素在内存在至少两个未解码的第二体素,则还是需要基于第j组子占用概率,对第j个第一体素进行解码,得到第j个第一体素的属性信息,这是因为第二体素对应的第一体素没有解码的还有多个,是没有办法通过直接推测来实现解码的,因此,还需要解码器继续根据子占用概率来进行第一体素的解码。若该多个第一体素中,只剩下第j个第一体素未解码,那么表征针对第二体素对应的第一体素只剩下一个没有解码了,此时就直接可以基于第二体素的属性信息和属于第二体素对应的已解码的第一体素推测出剩下的一个对应第二体素的第一体素的属性信息了,即此时第二体素对应的未解码第一体素的属性均值就是第j个第一体素的属性信息,不用再根据第j组子占用概率对第j个第一体素进行解码了。继续进行第j+1个第一体素的解码,直至j=H时,确定第i组第一体素的属性信息。In an embodiment of the present application, for the decoding of the jth first voxel in the ith group, the jth 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 jth first voxel belongs to one of them. If there are at least two undecoded second voxels in the multiple first voxels, including the jth first voxel, it is still necessary to decode the jth first voxel based on the jth group sub-occupancy probability to obtain the attribute information of the jth 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 speculation. Therefore, the decoder is still required to continue to decode the first voxel according to the sub-occupancy probability. If only the jth first voxel is left undecoded among the multiple first voxels, it means that only one first voxel corresponding to the second voxel is left undecoded. At this time, 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 voxel 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 according to the jth group sub-occupancy probability. Continue to decode the j+1th first voxel until j=H, and determine the attribute information of the i-th group of first voxels.
需要说明的是,在本申请实施例中,若一个第二体素对应的多个第一体素中,存在部分解码的第一 体素时,在对该未解码第一体素实现解码过程中,由于解码器是可以根据根据第二体素对应的已解码第一体素的属性信息,以及第二体素的已解码属性信息,确定第二体素对应的未解码第一体素的属性均值的,那么,当第二体素对应的未解码第一体素只有一个时,该未解码第一体素的属性均值即为未解码第一体素的属性信息,而不用再基于子占用概率进行解码。但是若第二体素对应的未解码第一体素不只有一个时,得到的是未解码的第一体素的属性均值,还需要继续基于未解码第一体素的子占用概率进行解码,直至到只有一个未解码第一体素时,才能直接推出其属性信息。It should be noted that in the embodiment of the present application, if there is a partially decoded first voxel among the multiple first voxels corresponding to a second voxel, in the decoding process of the undecoded first voxel, since 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, then when there is only one undecoded first voxel corresponding to the second voxel, the attribute mean of the undecoded first voxel is the attribute information of the undecoded first voxel, and there is no need to decode based on the sub-occupancy probability. However, if there is more than one undecoded first voxel corresponding to the second voxel, the attribute mean of the undecoded first voxel is obtained, and it is necessary to continue to decode based on the sub-occupancy probability of the undecoded first voxel until there is only one undecoded first voxel, and its attribute information can be directly deduced.
示例性的,解码器是可以根据根据第二体素对应的已解码第一体素的属性信息,以及第二体素的已解码属性信息,确定第二体素对应的未解码第一体素的属性均值的过程为:已知第二尺度的父节点的第二体素的属性信息为X,假设其对应第一尺度的a+b个第一体素,其中a个已解码,b个未解码,且a个已解码子体素的值分别为{x 1,x 2,…,x a},那么可以推断出剩余b个未解码第一体素的属性(信息)均值,即属性信息的平均值为
Figure PCTCN2022125722-appb-000004
这时若b=1,则属性均值为b个第一体素的属性信息。
Exemplarily, the decoder can determine the attribute mean of the undecoded first voxel corresponding to the second voxel according to the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel as follows: the attribute information of the second voxel of the parent node of the second scale is known to be X, and 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 {x 1 ,x 2 ,…,x a } respectively, then the attribute (information) mean of the remaining b undecoded first voxels can be inferred, that is, the average value of the attribute information is
Figure PCTCN2022125722-appb-000004
At this time, if b=1, the attribute mean is the attribute information of the b first voxels.
示例性的,如图9所示,假设m=8,在解码器对Scale p-1的3个第二体素上采样和预测后,确定Scale p的6个第一体素(例如被占用的体素)的属性预测信息,即8,7,7,4,4。并且n个第一体素分为G1(Group1)、G2(Group2)和G3(Group3)、G4(Group4)、G5(Group5)、G6(Grou6)、G7(Group7)和G8(Grou8),这8个组但只有部分组中存在第一体素,其他位置的体素为空,在解码器通过属性概率预测网络(SAPA)分别对每组第一体素进行概率预测,得到每组第一体素的占用概率(包括各个第一体素的子占用概率)。针对Group1解码时,根据各个第一体素的子占用概率对每组中第一体素的属性编码信息进行解码,如图9所示,Group1解码完时,5和3为已解码第一体素,解码Group2时,已知8为已解码第一体素,解码Group2中的第2个第一体素(a处)时,第2个第一体素对应第2个第二体素(b处),此时第2个第二体素对应第2个第一体素(a处)和c处的第一体素均还未解码,这时,a和c处的第一体素的均值变为8,即7×3-(5)(第2个第二体素对应的已解码第一体素)/2=8。因此,解码器需要根据第2个第一体素的子占用概率对其进行解码,得到属性信息9。针对d处的第一体素,其对应第3个第二体素(e处),且为第3个第二体素对应的唯一一个未解码的第一体素,因此,d处的第一体素的属性信息为第3个第二体素的属性信息4×2-3(第3个第二体素对应的已解码第一体素)/1=5。在解码Group2时,解码出第2个第一体素(a处)的属性信息为9后,针对c处的第一体素,其对应第2个第二体素(b处),且为第2个第二体素对应的唯一一个未解码的第一体素,因此,c处的第一体素的属性信息为第2个第二体素的属性信息7×3-(5+9)(第2个第二体素对应的已解码第一体素)/1=7。其他组无被占用的体素,至此,得到解码完成Scale p的属性信息。Exemplarily, as shown in FIG9 , assuming that m=8, after the decoder samples and predicts the three second voxels of Scale p-1, the attribute prediction information of the six first voxels of Scale p (e.g., occupied voxels) is determined, that is, 8, 7, 7, 4, 4. And the n first voxels are divided into G1 (Group1), G2 (Group2), G3 (Group3), G4 (Group4), G5 (Group5), G6 (Grou6), G7 (Group7) and G8 (Grou8). Among these 8 groups, only some of the groups have first voxels, and the voxels at other positions are empty. The decoder performs probability prediction on each group of first voxels through the attribute probability prediction network (SAPA) 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 coding information of the first voxel in each group is decoded according to the sub-occupancy probability of each first voxel. As shown in FIG9 , when 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 (at a) in Group 2, 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 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. For the first voxel at d, it corresponds to the third second voxel (at e), and it is the only undecoded first voxel corresponding to the third second voxel. Therefore, the attribute information of the first voxel at d is the attribute information of the third second voxel 4×2-3 (the decoded first voxel corresponding to the third second voxel)/1=5. When decoding Group 2, after the attribute information of the second first voxel (at a) is decoded as 9, for the first voxel at c, it corresponds to the second second voxel (at b), and it is the only undecoded first voxel corresponding to the second second voxel. Therefore, the attribute information of the first voxel at c is the attribute information of the second second voxel 7×3-(5+9) (the decoded first voxel corresponding to the second second voxel)/1=7. There are no occupied voxels in other groups. So far, the attribute information of Scale p is obtained after decoding.
需要说明的是,若一个第二体素对应一个第一体素,则第二体素的属性信息就是该第一体素的属性信息,如图9中所示的属性信息为8的第一体素。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 .
在本申请实施例中,m组第一体素均解码完成是,结束第一尺度点云的解码,继续进行下一个尺度点云的解码过程,直至全部解码完成。In the embodiment of the present application, when the decoding of the m groups of first voxels is completed, the decoding of the first scale point cloud is ended, and the decoding process of the next scale point cloud is continued until all decoding is completed.
可以理解的是,本申请实施例中分组预测与解码的方式,相较于基于每个体素的父节点和邻居节点,逐个体素进行占用概率的预测与解码的方式,采用属性概率预测网络进行解码时,一方面极大减小了解码复杂度,提高了解码速度与压缩性能;另一方面,随着解码的进行,已经完成解码第一体素的属性信息可以用于对应同一第二体素的未解码第一体素的解码推测过程中,帮助未解码第一体素的解码的推测,从而提高了解码的准确性和效率。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 first voxel that has been decoded 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.
针对第一尺度点云解码时,可以对第一尺度点云的进行不同颜色分量的处理来实现解码过程。When decoding the first-scale point cloud, different color components of the first-scale point cloud may be processed to implement the decoding process.
在本申请的一些实施例中,如图10所示,本申请实施例提供的解码方法还可以包括: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:
S301、解析码流,确定第一尺度点云对应的属性编码信息。S301, parsing a bit stream to determine attribute coding information corresponding to a first-scale point cloud.
需要说明的是,S301的实现与S101的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S301 is consistent with that of S101, and will not be repeated here.
S302、基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据。S302 , predicting 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; wherein the second scale point cloud is the decoded point cloud data of the previous scale parent node of the first scale point cloud.
需要说明的是,基于第二尺度点云的已解码的不同颜色分量的属性信息进行第一尺度的预测,分别确定第一尺度的不同颜色分量的属性预测信息。其中,基于第二尺度点云的已解码的每个颜色分量的属性信息进行第一尺度的预测,分别确定第一尺度的每个颜色分量的属性预测信息的实现原理与与S102的实现原理一致,此处不再赘述。It should be noted that the prediction of the first scale is performed based on the attribute information of the decoded different color components of the second scale point cloud, and the attribute prediction information of the different color components of the first scale is determined respectively. The implementation principle of performing the prediction of the first scale based on the attribute information of each color component decoded by the second scale point cloud and determining the attribute prediction information of each color component of the first scale is consistent with the implementation principle of S102, and will not be repeated here.
S303、采用属性概率预测网络,对属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。S303: Use an 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.
S304、基于第一颜色分量下的占用概率,对第一颜色分量下的属性编码信息进行解码,得到第一尺度点云的第一颜色分量对应的属性信息。S304 : Based on the occupancy probability of the first color component, decode the attribute encoding information of the first color component to obtain attribute information corresponding to the first color component of the first-scale point cloud.
S305、采用属性概率预测网络,结合第一尺度点云的第一颜色分量对应的属性信息,对属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及 在第三颜色分量下的占用概率。S305. Using an attribute probability prediction network, combined with the attribute information corresponding to the first color component of the first-scale point cloud, 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.
S306、基于第二颜色分量下的占用概率,对第二颜色分量下的属性编码信息进行解码,得到第一尺度点云的第二颜色分量对应的属性信息。S306 : Based on the occupancy probability of the second color component, decode the attribute encoding information of the second color component to obtain attribute information corresponding to the second color component of the first-scale point cloud.
S307、基于第三颜色分量下的占用概率,对第三颜色分量下的属性编码信息进行解码,得到第一尺度点云的第三颜色分量对应的属性信息。S307 . Based on the occupancy probability of the third color component, decode the attribute encoding information of the third color component to obtain attribute information corresponding to the third color component of the first-scale point cloud.
需要说明的是,采用属性概率预测网络,对各个第一体素的属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云中各个第一体素在第一颜色分量下的占用概率。It should be noted that the 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.
解码器在进行每个第一体素的占用概率的确定时,可以针对一个第一体素进行不同颜色分量的确定,基于三个不同颜色通道分别得到不同颜色通道或不同颜色分量下的占用概率,再基于不同颜色通道或不同颜色分量下的占用概率,分别进行不同颜色通道对应的属性编码信息的解码。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.
在本申请实施例中,由于属性信息可以分为三个颜色分量的信息,因此,编码属性信息时可以按照不同颜色分量进行编码。相应的在解码器进行解码时,则可以基于不同的颜色分量进行解码,得到每个第一体素在不同颜色分量下的属性信息。In the embodiment of the present application, since the attribute information can be divided into information of three color components, the attribute information can be encoded according to different color components. Correspondingly, when the decoder performs decoding, it can be decoded based on different color components to obtain the attribute information of each first voxel under different color components.
需要说明的是,在本申请实施例中,每个第一体素在一个颜色分量下的实现原理与S303的实现与S103确定第一体素的占用概率实现原理一致,此处不再赘述。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 S103 determining the occupancy probability of the first voxel, and will not be repeated here.
不同的是,解码器针对第一体素需要在不同分量下进行不同颜色分量的占用概率的确定。以及在确定第一颜色分量(亮度分量)实现解码后,还可以基于第一颜色分量的属性信息,作为其他颜色分量的输入,采用属性概率预测网络进行概率预测,得到概率模型参数,进而得到其他颜色对应的占用概率。也就是说此时的属性概率预测网络比S103中的属性概率预测网络多了一路输入参数,但是由概率模型参数,确定占用概率的原理一致。The difference is that the decoder needs to determine the occupancy probabilities of different color components under different components for the first voxel. And after determining the first color component (brightness component) to achieve decoding, it can also use the attribute information of the first color component as the input of other color components, use the attribute probability prediction network to perform probability prediction, obtain the probability model parameters, and then obtain the occupancy probabilities corresponding to other colors. That is to say, the attribute probability prediction network at this time has one more input parameter than the attribute probability prediction network in S103, but the principle of determining the occupancy probability by the probability model parameters is the same.
在本申请的一些实施例中,解码器先对亮度分量进行解码,针对一个第一体素,解码器采用属性概率预测网络,对该第一体素的属性预测信息的第一颜色分量进行概率预测,确定该第一体素的在第一颜色分量下的占用概率;基于第一颜色分量下的占用概率,对第一颜色分量下的该第一体素的属性编码信息进行解码,得到该第一体素的第一颜色分量对应的属性信息。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.
解码器在得到该第一体素在第一颜色分量的属性信息后,就继续采用属性概率预测网络,结合该第一体素在第一颜色分量的属性信息,对该第一体素的属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定该第一体素在第二颜色分量下占用概率,以及该第一体素在第三颜色分量下的占用概率。继续采用该第一体素在第二颜色分量下占用概率,以及该第一体素在第三颜色分量下的占用概率进行第二颜色分量的属性信息的解码和第三颜色分量的属性信息下的解码,从而解码第一体素的属性信息。After obtaining the attribute information of the first voxel in the first color component, the decoder continues to use the attribute probability prediction network, combines the attribute information of the first voxel in the first color component, and performs probability prediction on the second color component and the third color component 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 probability of the first voxel in the second color component and the occupancy probability 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.
在本申请实施例中,解码器解码完每个第一体素的三个颜色分量的属性信息,即完成了第一尺度点云的解码,得到了第一尺度点云的属性信息。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.
在本申请实施例中,第一颜色分量为亮度分量,第二颜色分量和第三颜色分量为色度分量,例如,第一颜色分量为Y分量,第二颜色分量为Co分量,第三颜色分量为Cg分量,本申请实施例不作限制。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.
示例性的,如图11所示,在同一尺度内,将色彩空间从RGB转换到YCoCg空间,然后根据Scale p-1的第二尺度的已解码Y分量的属性信息,确定Scale p的Y分量的属性预测信息,采用SAPA预测Y通道(Y分量)的占用概率,基于占用概率解码Y分量下的属性信息。根据Scale p-1的第二尺度的已解码Co分量和Cg分量的属性信息,分别确定Scale p的Co分量和Cg分量的属性预测信息,结合Y分量下的属性信息,采用SAPA预测Co分量和Cg分量的占用概率,基于Co分量和Cg分量的占用概率,解码Co分量和Cg分量下的属性信息。Exemplarily, as shown in FIG11 , within the same scale, the color space is converted from RGB to YCoCg space, and then the attribute prediction information of the Y component of Scale p is determined based on the attribute information of the decoded Y component of the second scale of Scale p-1, and the occupancy probability of the Y channel (Y component) is predicted by SAPA, and the attribute information under the Y component is decoded based on the occupancy probability. According to the attribute information of the decoded Co component and Cg component of the second scale of Scale p-1, the attribute prediction information of the Co component and Cg component of Scale p is determined respectively, and the occupancy probability of the Co component and the Cg component is predicted by SAPA in combination with the attribute information under the Y component, and the attribute information under the Co component and the Cg component is decoded based on the occupancy probability of the Co component and the Cg component.
可以理解的是,本申请实施例中分颜色通道预测与解码的方式,相较于基于不分通道整理进行占用概率的预测与解码的方式,采用属性概率预测网络进行解码时,极大减小了解码复杂度,并且随着解码的进行,已经完成解码Y颜色分量的属性信息可以用于对应同一第一体素的未解码其他颜色分量的解码推测过程中,实现未解码第一体素的解码的进行,从而提高了解码的准确性和效率。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 decoding accuracy and efficiency.
针对第一尺度点云解码时,可以对第一尺度点云的多个第一体素进行分组,并针对每组第一体素进行不同颜色分量的处理来实现解码过程。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.
在本申请的一些实施例中,如图12所示,本申请实施例提供的解码方法还可以包括: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:
S401、解析码流,确定第一尺度点云对应的属性编码信息。S401, parsing a bit stream to determine attribute coding information corresponding to a first-scale point cloud.
需要说明的是,S401的实现与S101的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S401 is consistent with that of S101, and will not be repeated here.
S402、对第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据。S402, 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; 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.
需要说明的是,S402的实现与S102的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S402 is consistent with that of S102, and will not be repeated here.
S403、根据第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到第一尺度点云的属性预测信息。S403 . Determine attribute prediction information corresponding to n first voxels of the first scale according to the decoded attribute information of the second-scale point cloud, and then obtain attribute prediction information of the first-scale point cloud.
需要说明的是,基于第二尺度点云的已解码的不同颜色分量的属性信息进行第一尺度的预测,分别确定第一尺度n个第一体素各自在不同颜色分量的属性预测信息。其中,基于第二尺度点云的已解码的每个颜色分量的属性信息进行第一尺度的预测,分别确定第一尺度的每个第一体素在每个颜色分量的属性预测信息的实现原理与与S102的实现原理一致,此处不再赘述。It should be noted that the prediction of the first scale is performed based on the attribute information of different color components decoded in the second scale point cloud, and the attribute prediction information of each of the n first voxels in the first scale in different color components is determined respectively. The implementation principle of performing the prediction of the first scale based on the attribute information of each color component decoded in the second scale point cloud and determining the attribute prediction information of each first voxel in the first scale in each color component is consistent with the implementation principle of S102, and will not be repeated here.
S404、基于n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数。S404 , grouping 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.
需要说明的是,S404的实现与S204的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S404 is consistent with that of S204, and will not be repeated here.
S405、采用属性概率预测网络,在第一颜色分量下,对m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率。S405 , using an 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.
S406、根据第一颜色分量对应的m组占用概率,在第一颜色分量下,对m组第一体素的属性编码信息进行解码,确定m组第一体素各自第一颜色分量对应的属性信息。S406 , according to the m groups of occupancy probabilities corresponding to the first color component, decode the attribute encoding information of the m groups of first voxels under the first color component to determine the attribute information corresponding to the first color component of each of the m groups of first voxels.
其中,第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概率。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.
S407、采用属性概率预测网络,结合已解码的第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。S407, using an attribute probability prediction network, combined with the attribute information corresponding to the decoded first color component, respectively, under the second color component and the third color component, perform probability prediction on the m groups of first voxels in turn, and 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.
S408、根据第二颜色分量对应的m组占用概率,在第二颜色分量下,对m组第一体素的属性编码信息进行解码,确定m组第一体素各自第二颜色分量对应的属性信息。S408 . Decode 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 determine the attribute information corresponding to the second color component of each of the m groups of first voxels.
S409、根据第三颜色分量对应的m组占用概率,在第三颜色分量下,对m组第一体素的属性编码信息进行解码,确定m组第一体素各自第三颜色分量对应的属性信息。S409 , according to the m groups of occupancy probabilities corresponding to the third color component, decode the attribute encoding information of the m groups of first voxels 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.
需要说明的是,S405-S409的实现与S 303-S307的实现原理一致,此处不再赘述。It should be noted that the implementation principles of S405-S409 are consistent with those of S 303-S307, and will not be repeated here.
不同的是,第一体素为各组第一体素中的体素,解码器是基于m组第一体素依次进行解码的。使用上述S402-S404中的分组处理方法对Y通道进行解码;然后再以相同分组方式解码CoCg通道,已处理的Y通道会作为辅助信息帮助CoCg通道的解码。The difference is that the first voxel is a voxel in each group of first voxels, and the decoder decodes based on the m groups of first voxels in sequence. The Y channel is decoded using the group processing method in S402-S404 above; and then the CoCg channel is decoded in the same grouping manner, and the processed Y channel will serve as auxiliary information to help the decoding of the CoCg channel.
需要说明的是,解码器将待解码尺度点云划分为多层结构,包括:1)、下采样成多个尺度;2)、同一尺度的点云根据坐标或位置划分为多组体素(例如8组);3)、同一尺度点云按照颜色通道划分为亮度通道(Y)和两个色度通道(CoCg)。解码器从低尺度到高尺度、从第1组到第8组的顺序、从亮度通道到色度通道的顺序,递进式的依次预测每一层点云的概率分布并用于无损熵解码。在该递进式预测过程中,已解码的层是已知信息,可以作为上下文,基于稀疏张量神经网络的概率预测模型帮助预测剩余未解码的组。It should be noted that the decoder divides the scale point cloud to be decoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) the point cloud of the same scale is divided into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) the point cloud of the same scale is divided into a brightness 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 sequence from low scale to high scale, from group 1 to group 8, and from brightness channel to 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 sparse tensor neural network helps predict the remaining undecoded groups.
可以理解的是,基于学习的无损属性压缩算法,本申请实施例中分组,分通道预测与解码的方式,即针对点云数据和神经网络工具的特点,对点云进行了多种分层方式,例如尺度、组间以及通道间的解码,相较于基于每个体素的父节点和邻居节点,逐个体素进行占用概率的预测与解码的方式,采用属性概率预测网络进行解码时,一方面极大减小了解码复杂度,提高了解码速度与压缩性能;随着解码的进行,已经完成解码第一体素的属性信息可以用于对应同一第二体素的未解码第一体素的解码推测过程中,以及已经完成解码Y颜色分量的属性信息,输入属性概率预测网络可以用于对应同一第一体素的未解码其他颜色分量的解码推测过程中,帮助预测当前第一体素的占据概率,从而提高了解码的准确性和效率。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, according to the characteristics of point cloud data and neural network tools, the point cloud is layered in multiple ways, such as scale, group and 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.
下面说明本申请实施例提供的应用于编码器的编码方法。The following describes an encoding method applied to an encoder provided in an embodiment of the present application.
参见图13,图13是本申请实施例提供的编码方法的一个可选的流程示意图,方法包括: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:
S501、对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;多个尺度点云包括:第一尺度点云和第二尺度点云;第二尺度点云为第一尺度点云的前一尺度父节点的点云数据。S501, down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud.
在本申请实施例中,编码器的编码对象为点云或点云数据中的点或者节点。由于编码器在编码时,通过对点云数据进行空间划分,可以得到多个条带,即slice。对每个slice中的点云均进行本申请实施例提供的编码方法。In the embodiment of the present application, the encoding object of the encoder is a point cloud or a point or node in the point cloud data. Since the encoder can obtain multiple strips, i.e., slices, by spatially dividing the point cloud data during encoding, the encoding method provided in the embodiment of the present application is performed on the point cloud in each slice.
在本申请实施例中,由于编码器在编码时,是将每个slice或点云数据(不进行条带划分的时候)的待编码的点云,划分为属性信息对应的不同尺度的点云结构,针对不同尺度点云从尺度最小的点云开始逐尺度分别进行属性编码的。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.
在本申请实施例中,编码器在对点云数据进行编码时,先进行体素下采样,将待编码的点云数据逐次进行下一尺度的划分,得到多个尺度点云。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.
在本申请的一些实施例中,编码器在对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云的过程中,确定每次下采样到下一个尺度时的多个量化误差;多个量化误差包括:第一尺度点云下采样到第二尺度点云时的量化误差。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 when downsampling the point cloud data in sequence until it is divided into a single voxel, thereby obtaining point clouds of multiple scales; the multiple quantization errors include: the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud.
需要说明的是,编码器对点云数据进行体素下采样,得到第一个尺度点云,继续对第一个尺度点云进行体素下采样,得到下一个尺度点云,继续下采样直至剩下1个体素时为止,得到了多个尺度点云。It should be noted that the encoder performs voxel downsampling on the point cloud data to obtain a first-scale point cloud, continues to perform voxel downsampling on the first-scale point cloud to obtain a next-scale point cloud, and continues to perform downsampling until only one voxel remains, thereby obtaining multiple-scale point clouds.
在本申请实施例中,第一尺度点云和第二尺度点云为多个尺度点云中的相邻的两个尺度点云。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.
下面基于第一尺度点云划分为第二尺度点云的过程进行描述。The following describes a process of dividing a first-scale point cloud into a second-scale point cloud.
在本申请实施例中,编码器对第一尺度点云进行体素下采样,得到第二尺度的点云。第二尺度点云的每个第二体素的属性信息为第一尺度对应的下采样范围内的第一体素的属性均值。第一尺度对应的下采样范围内的第一体素的属性均值操作会产生小数,本申请实施例使用rounding(四舍五入)操作对其量化,产生的小数部分即为量化误差。因此,每个高尺度下采样和量化得到低尺度点云的属性信息的过程中,会产生一个量化误差。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.
示例性的,编码器可以对第一尺度点云采用2×2×2进行体素下采样,得到第二尺度点云。第二尺度点云的每个第二体素的属性信息为第一尺度对应的2×2×2范围内的第一体素的属性均值。由于每个2×2×2体素集合范围内点数量在1到8之间,相应的量化误差也仅有有限种情况:{{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}}。Exemplarily, the encoder can perform voxel downsampling of the first scale point cloud by 2×2×2 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 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 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}}.
在本申请实施例中,编码器在得到多个尺度点云的过程中,就相应产生了多个量化误差。In the embodiment of the present application, when the encoder obtains point clouds at multiple scales, multiple quantization errors are generated accordingly.
其中,本申请实施例中的每个量化误差为高尺度的体素的属性均值减去最终确定的低尺度的属性信息的值,可能为正也可能为负。In the embodiment of the present application, each quantization error is the value of the attribute mean of the high-scale voxels minus the value of the low-scale attribute information finally determined, which may be positive or negative.
需要说明的是,在本申请实施例中,由于编码器在进行属性编码时,可以将每个尺度点云体素化,通过体素网格的形式来表示点。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.
本申请实施例中,对于体素化过程,点云中的至少一个点可以对应一个被占用的体素(即非空体素或被占据的体素),而未被占用的体素(即空体素或未被占据的体素)表示该体素位置上没有落入点云中的点。在一些实施例中,可以将被占用的体素标记为不同的属性信息,将未被占用的体素则没有属性信息。如此,体素化后的不同尺度点云可以通过体素网格中,各个位置上体素的信息,来表示不同尺度点云的属性信息。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 may be marked with different attribute information, and unoccupied voxels may 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.
S502、在对第一尺度点云进行编码的过程中,基于第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。S502 . In a process of encoding the first-scale point cloud, predict the first scale based on the attribute information of the second-scale point cloud to determine attribute prediction information of the first-scale point cloud.
在本申请实施例中,编码器是基于从低尺度到高尺度的顺序进行尺度间的编码的,在编码器对第一尺度点云编码的过程中,表征已经完成了第二尺度点云的编码。其中,第二尺度点云为第一尺度点云的前一尺度父节点的已解码的点云数据,第二尺度小于第一尺度。In the embodiment of the present application, the encoder performs inter-scale encoding based on the order from low scale to high scale. In the process of encoding the first-scale point cloud by the encoder, the encoding of the second-scale point cloud is represented to have been completed. The second-scale point cloud is the decoded point cloud data of the previous scale parent node of the first-scale point cloud, and the second scale is smaller than the first scale.
在本申请的一些实施例中,编码器确定第一尺度点云的重建几何信息。In some embodiments of the present application, the encoder determines reconstructed geometric information of the first-scale point cloud.
需要说明的是,编码器在进行属性编码时,是已经完成了几何编码的过程,可以得到不同尺度点云的重建几何信息的。于是,在编码器进行属性编码的过程中,编码器是可以基于第一尺度点云的重建几何信息,在对第二尺度点云进行上采样的过程中,确定上采样得到的第一体素中哪些体素被占用,哪些体素未被占用的。It should be noted that when the encoder performs attribute encoding, it has already completed the geometric encoding process and can obtain the reconstructed geometric information of point clouds of different scales. Therefore, when the encoder performs attribute encoding, the encoder can determine which voxels in the first voxel obtained by upsampling the second scale point cloud are occupied and which voxels are not occupied based on the reconstructed geometric information of the first scale point cloud during the process of upsampling the second scale point cloud.
在本申请的一些实施例中,编码器采用量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;根据第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。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; predicts the first scale 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.
第一尺度点云的重建几何信息可以确定第一尺度点云中的点的分布位置,即确定第一尺度体素对应的点的位置信息,通过点的位置信息可以确定第一尺度点云对应的第一体素中包含的点的分布位置。这样在基于第二尺度点云进行体素上采样得到的n个第一体素中,就能确定哪些第一体素是被占用的。针对被占用的第一体素,可以根据第二尺度点云的修正属性信息,确定这些被占用的第一体素的属性预测信息,全部第一体素确定完成后,完成确定第一尺度点云的属性预测信息。The reconstructed geometric information of the first-scale point cloud can determine the distribution position of the points in the first-scale point cloud, that is, determine the position information of the points corresponding to the first-scale voxels. The distribution position of the points contained in the first voxels corresponding to the first-scale point cloud can be determined through the position information of the points. In this way, among the n first voxels obtained by upsampling the voxels based on the second-scale point cloud, it is possible to determine which first voxels are occupied. For the 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. After all the first voxels are determined, the attribute prediction information of the first-scale point cloud is determined.
在本申请的一些实施例中,编码器将多个量化误差写入码流。In some embodiments of the present application, the encoder writes multiple quantization errors into a bitstream.
在本申请的一些实施例中,编码器将第一尺度点云的重建几何信息写入码流。In some embodiments of the present application, the encoder writes the reconstructed geometric information of the first-scale point cloud into a bitstream.
需要说明的是,编码器可以采用第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息,其过程与解码器侧的S102中采用第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息的实现和说明过程一致,此处不再赘述。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.
S503、采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率。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.
在本申请的一些实施例中,编码器将各个第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为第一尺度点云对应的体素;根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率。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 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.
在本申请的一些实施例中,根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;根据每一第一体素的概率密度分布,以每一第一体素为中心的预设范围内进行积分运算,确定每一第一体素的占用概率,从而确定第一尺度点云的占用概 率。In some embodiments of the present application, the 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.
需要说明的是,编码器可以采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率,其过程与解码器侧的S103中采用采用属性概率预测网络,对属性预测信息进行概率预测,确定第一尺度点云的占用概率的实现和说明过程一致,此处不再赘述。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.
S504、基于占用概率对第一尺度点云的属性信息进行编码,确定第一尺度点云的属性编码信息。S504 : Encode the attribute information of the first-scale point cloud based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud.
在本申请实施例中,编码器得到了各个第一体素的占用概率息后,采用各个第一体素的占用概率,分别对应对第一尺度点云的各个第一体素对应的属性信息进行编码,确定出各个第一体素对应的属性编码信息。In the 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 respectively, and determines the attribute coding information corresponding to each first voxel.
在本申请的一些实施例中,编码器对第一尺度点云的编码可以以体素为单位进行,进一步的编码第一体素所包含的各个点的属性编码信息。In some embodiments of the present application, the encoder may encode the first-scale point cloud in units of voxels, and further encode attribute encoding information of each point contained in the first voxel.
需要说明的是,编码器是可以基于第一体素的占用概率来实现对每个第一体素的属性信息的编码的。第一尺度点云的属性信息包括各个第一体素对应的属性信息。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.
在本申请的一些实施例中,编码器继续进行第三尺度点云的编码,直至将多个尺度点云编码完时结束,得到多个尺度点云的属性编码信息。In some embodiments of the present application, the encoder continues to encode the third-scale point cloud until the encoding of multiple-scale point clouds is completed, thereby obtaining attribute encoding information of the multiple-scale point clouds.
在本申请实施例中,编码器将多个尺度点云的属性编码信息分别写入码流,供解码器在解码时使用。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.
在本申请的实施例中,编码器在尺度间处理的过程如前述实施例所述,除此之外,编码器在同一尺度间,可以按照体素之间的分组,分组进行组件处理进行编码,还可以按照不同颜色分量进行不同颜色通道的通道间处理,实现编码,也可以结合体素分组和不同颜色分量结合一起进行编码,本申请实施例不作限制,将在后面的实施例中进行描述。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 of voxels at the same scale, and can also perform channel-to-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.
可以理解的是,本申请实施例提供的编码方法可以重复应用于多个相邻尺度之间,且每组相邻尺度间的编码相互独立不依赖,因此可以灵活地实现尺度可伸缩的编码。It can be understood 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.
需要说明的是,上述编码器的每次编码过程都是将已编码的低尺度点云的属性信息作为已知信息,对高尺度点云的属性信息进行编码的。对于编码器的首个编码过程,其已知信息可以是编码器侧发送的未编码的预设数量个点云的属性信息。编码器可以将预设数量个点云信息,如点云中100个点的属性信息作为首个已知信息,以未编码的方式直接发送至解码端,以使解码器无需对首个已知信息进行解码,直接利用编码器发送的预设数量个点的属性信息,预测出相应尺度的点云,以继续之后的解码过程。It should be noted that each encoding process of the above 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, the known information may be the attribute information of a preset number of unencoded point clouds sent by the encoder side. The encoder may use a 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, so that the decoder does not need to decode the first known information, but directly uses 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.
可以理解的是,在编码器,通过尺度之间的处理,基于第二尺度点云的属性信息,预测第一尺度,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损编码过程中,那么在编码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少编码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性信息进行编码的话,可以提高编码效率与编码性能。It can be understood that, in the encoder, through processing between scales, based on the attribute information of the second-scale point cloud, the first scale is predicted, the first-scale point cloud and its attribute prediction information are predicted, and 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 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 and reduces the coding complexity. At the same time, it 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.
在本申请的一些实施例中,如图14所示,本申请实施例提供的编码方法还可以包括: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:
S601、对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;多个尺度点云包括:第一尺度点云和第二尺度点云;第二尺度点云为第一尺度点云的前一尺度父节点的点云数据。S601, down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
需要说明的是,S601的实现与S501的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S601 are consistent with those of S501, and will not be repeated here.
S602、对第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数。S602 , 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.
S603、根据第二尺度点云的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到第一尺度点云的属性预测信息。S603 . Determine attribute prediction information corresponding to n first voxels of the first scale according to the attribute information of the second-scale point cloud, and then obtain the attribute prediction information of the first-scale point cloud.
在本申请的一些实施例中,编码器采用量化误差,对第二尺度点云的属性信息进行反量化,确定第二尺度点云的修正属性信息;将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定为每个第一体素对应的属性预测信息。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 revised attribute information of the second-scale point cloud; the revised 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.
S604、基于n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数。S604 , grouping 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.
S605、采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,m组占用概率为第一尺度点云对应的占用概率。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 the m groups of occupancy probabilities, where the m groups of occupancy probabilities are the occupancy probabilities corresponding to the first scale point cloud.
需要说明的是,S602-S605的实现与S202-S205的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S602-S605 are consistent with those of S202-S205, and will not be repeated here.
S606、根据m组占用概率逐组对m组第一体素对应的属性信息进行编码,确定m组第一体素各自的属性编码信息。S606 , encoding the attribute information corresponding to the first voxels in the m groups one by one according to the m groups of occupancy probabilities, and determining the attribute encoding information of each of the first voxels in the m groups.
需要说明的是,在本申请实施例中,编码器将每个第二体素对应的多个第一体素均划分在m组第一体素中,最终实现将n个第一体素均划分在m组第一体素中。编码器可以按照分组顺序,从第1组到最后一组依次进行编码。It should be noted that, in the embodiment of the present application, the encoder divides the multiple first voxels corresponding to each second voxel into m groups of first voxels, and finally divides the n first voxels into m groups of first voxels. The encoder can encode in sequence from the first group to the last group in the order of grouping.
在本申请实施例中,编码器可以采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,编码器根据m组占用概率,分别对m组第一体素对应的属性信息进行编码,确定m组第一体素各自的属性编码信息,完成第一尺度点云的编码,继续进行下一尺度的编码,直至编码完整个尺度的点云。In an embodiment of the present application, the encoder may use an attribute probability prediction network to perform probability prediction on the attribute prediction information of the first voxels of the m groups in sequence to determine the occupancy probabilities of the m groups. The encoder encodes the attribute information corresponding to the first voxels of the m groups according to the occupancy probabilities of the m groups, determines the attribute coding information of each of the first voxels of the m groups, completes the encoding of the first-scale point cloud, and continues to encode the next scale until the point cloud of the entire scale is encoded.
在本申请的一些实施例中,编码器采用属性概率预测网络,对m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率。编码器对每组中的每个第一体素的概率预测过程包括:编码器可以依次对每组中的各个第一体素进行概率预测,编码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;根据当前第一体素的至少一种概率模型参数,确定当前第一体素的占用概率。继续进行本组中的下一第一体素的概率预测,直至所有组的所有第一体素预测结束时为止,得到第一尺度点云的m组中的各个第一体素的占用概率。或者,编码器将当前第一体素的属性预测信息输入至属性概率预测网络进行概率预测,确定当前第一体素的至少一种概率模型参数;继续进行本组中的下一第一体素的概率预测,直至所有组的所有第一体素预测结束时为止,得到第一尺度点云的m组中的各个第一体素的至少一种概率模型参数。根据m组中的各个第一体素的至少一种概率模型参数,分别确定各个第一体素的占用概率,从而完成确定第一尺度点云的m组第一体素的占用概率。即第一尺度点云的占用概率包括m组第一体素的各个第一体素的占用概率。In some embodiments of the present application, the encoder uses 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 probability of the m groups. The probability prediction process of the encoder for each first voxel in each group includes: the encoder can perform probability prediction on each first voxel in each group in sequence, 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 of the current first voxel; according to at least one probability model parameter of the current first voxel, the occupancy probability of the current first voxel is determined. Continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain the occupancy probability 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 of the current first voxel; continue to perform probability prediction on the next first voxel in this group until the prediction of all first voxels of all groups is completed, and obtain at least one probability model parameter of each first voxel in the m groups of the first scale point cloud. According to at least one probability model parameter of each first voxel in the m groups, the occupation probability of each first voxel is determined respectively, so as to complete the determination of the occupation probability of the m groups of first voxels of the first scale point cloud. That is, the occupation probability of the first scale point cloud includes the occupation probability of each first voxel of the m groups of first voxels.
需要说明的是,每组第一体素中的各个第一体素的占用概率的确定原理与S103中的实现原理一致,此处不再赘述。It should be noted that the principle for determining the occupation 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.
在本申请的一些实施例中,编码器根据第i组占用概率对第i组第一体素的属性信息进行编码,确定第i组第一体素的属性编码信息;i为大于或等于1,且小于或等于m的整数;基于第i+1组占用概率继续下一组编码,直至对第m组第一体素的属性信息进行编码完成时结束,确定m组第一体素各自的属性编码信息。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.
需要说明的是,在本申请实施例中,编码器对每组第一体素,采用第i组占用概率对其属性信息进行编码,来实现每组第一体素的属性信息的编码。但是在同一尺度的第一体素进行编码的过程中,同一个第二体素对应的不同组间的未编码第一体素的编码也是可以依根据已知信息实现。It should be noted that in the embodiment of the present application, the encoder encodes the attribute information of each group of first voxels using the ith group occupancy probability to achieve the encoding of the attribute information of each group of first voxels. However, in the process of encoding the first voxels of the same scale, the encoding of the unencoded first voxels between different groups corresponding to the same second voxel can also be achieved based on the known information.
在本申请的一些实施例中,第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;第i组第一体素包括:H个第一体素;第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数。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.
需要说明的是,预设数量与上采样或下采样的采样数量相关,例如,若进行2×2×2的上采样,则预设数量为8。本申请实施例不限制采样方式。It should be noted that the preset number is related to the sampling number of 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.
在本申请实施例中,根据分组方式的不同,每组第一体素中可以包含多个第二体素各自对应的第一体素。例如H个第一体素,所以第i组占用概率也对应H组子占用概率。In the embodiment of the present application, according to different grouping methods, 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.
在本申请的一些实施例中,编码器根据第i组占用概率对第i组第一体素的属性信息进行编码,确定第i组第一体素的属性编码信息,包括:In some embodiments of the present application, the encoder encodes the attribute information of the first voxel of the i-th group according to the i-th group occupancy probability, and determines the attribute encoding information of the first voxel of the i-th group, including:
若第j个第一体素所属的第二体素对应的未编码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行编码,得到第j第一个体素的属性编码信息;第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;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 child occupancy probability to obtain the attribute encoding 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;
继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息。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.
在本申请的一些实施例中,继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息之前,若第j个第一体素所属的第二体素对应的未编码第一体素的数量为1,则不进行第j个第一体素的编码。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.
在本申请实施例中,针对第i组中第j个第一体素的编码,第j个第一体素对应第二尺度的一个第二体素,一个第二体素对应第一尺度的多个第一体素,第j个第一体素属于其中的一个,若该多个第一体素中,包含第j个第一体素在内存在至少两个未编码的第二体素,则还是需要基于第j组子占用概率,对第j个第一体素进行编码,得到第j个第一体素的属性编码信息,这是因为第二体素对应的第一体素没有编码的还有多个,是没有办法通过直接推测来实现解码的,因此,还需要编码器继续根据子占用概率来进行第一体素的编码,以供解码时使用。若该多个第一体素中,只剩下第j个第一体素未编码,那么表征针对第二体素对应的第一体素只剩下一个没有编码了,此时解码器在解码该第一体素时就直接可以基于第二体素的属性信息和属于第二体素对应的已解码的第一体素推测出剩下的一个对应第二体素的第一体素的属性信息了,即此时第二体素对应的未解码第一体素的属性均值就是第j个第一体素的属性信息,不用再根据第j组子占用概率对第j个第一体素进行解码了,因此,在编码时也不用进行编码。继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息。In an embodiment of the present application, for the encoding of the jth first voxel in the ith group, the jth 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 jth first voxel belongs to one of them. If the multiple first voxels include at least two unencoded second voxels in the jth first voxel, it is still necessary to encode the jth first voxel based on the jth group sub-occupancy probability to obtain the attribute encoding information of the jth first voxel. This is because there are multiple first voxels corresponding to the second voxel that are not encoded, and there is no way to achieve decoding through direct inference. Therefore, the encoder is still required to continue to encode the first voxel according to the sub-occupancy probability for use in decoding. If only the jth first voxel is left uncoded among the multiple first voxels, then it means that only one first voxel corresponding to the second voxel is left uncoded. At this time, when decoding the 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, at this time, the attribute mean of the undecoded first voxel corresponding to the second voxel is the attribute information of the jth first voxel. It is no longer necessary to decode the jth first voxel according to the jth group sub-occupancy probability. Therefore, it is not necessary to encode it during encoding. Continue to encode the j+1th first voxel until j=H, and determine the attribute encoding information of the i-th group of first voxels.
需要说明的是,在本申请实施例中,若一个第二体素对应的多个第一体素中,存在部分编码的第一体素时,在对该未编码第一体素实现编码过程中,由于解码器是可以根据根据第二体素对应的已解码第 一体素的属性信息,以及第二体素的已解码属性信息,确定第二体素对应的未解码第一体素的属性均值的,那么,当第二体素对应的未编码第一体素只有一个时,由于解码器解码时可以推测出来,因此,不用再基于子占用概率进行编码。但是若第二体素对应的未编码第一体素不只有一个时,解码器是不能推测出来的,因此,还需要继续基于未编码第一体素的子占用概率进行编码,直至到只有一个未解码第一体素时不用编码,解码器能直接推出其属性信息。It should be noted that in the embodiment of the present application, if there is a partially encoded first voxel among the multiple first voxels corresponding to a second voxel, in the process of encoding the unencoded first voxel, since 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, when there is only one unencoded first voxel corresponding to the second voxel, since the decoder can infer it during decoding, it is not necessary to encode based on the sub-occupancy probability. However, if there is more than one unencoded first voxel corresponding to the second voxel, the decoder cannot infer it, and therefore, it is necessary to continue encoding based on the sub-occupancy probability of the unencoded first voxel until there is only one unencoded first voxel, and no encoding is required, and the decoder can directly infer its attribute information.
可以理解的是,本申请实施例中分组预测与编码的方式,相较于基于每个体素的父节点和邻居节点,逐个体素进行占用概率的预测与编码的方式,采用属性概率预测网络进行编码时,一方面极大减小了编码复杂度,提高了编码速度与压缩性能;另一方面,编码时的分组编码的方式,可以提高编码的准确性和效率。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 nodes 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.
在本申请的一些实施例中,如图15所示,本申请实施例提供的编码方法还可以包括: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:
S701、对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;多个尺度点云包括:第一尺度点云和第二尺度点云;第二尺度点云为第一尺度点云的前一尺度父节点的点云数据。S701, down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
需要说明的是,S701的实现与S501的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S701 are consistent with those of S501, and will not be repeated here.
S702、在对第一尺度点云进行编码的过程中,基于第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。S702: In the process of encoding the first-scale point cloud, predict the first scale based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud.
需要说明的是,S701的实现与S502的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S701 are consistent with those of S502, and will not be repeated here.
S703、采用属性概率预测网络,对属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。S703: Use an 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.
S704、基于第一颜色分量下的占用概率,对第一颜色分量下的属性信息进行编码,得到第一尺度点云的第一颜色分量对应的属性编码信息。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.
S705、采用属性概率预测网络,结合第一尺度点云的第一颜色分量对应的属性信息,对属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及在第三颜色分量下的占用概率。S705. Using an attribute probability prediction network, combined with the attribute information corresponding to the first color component of the first-scale point cloud, 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.
S706、基于第二颜色分量下的占用概率,对第二颜色分量下的属性信息进行编码,得到第一尺度点云的第二颜色分量对应的属性编码信息。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.
S707、基于第三颜色分量下的占用概率,对第三颜色分量下的属性信息进行编码,得到第一尺度点云的第三颜色分量对应的属性编码信息。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.
需要说明的是,S703-S707的实现与S 303-S307的实现原理一致,此处不再赘述。It should be noted that the implementation principles of S703-S707 are consistent with those of S 303-S307, and will not be repeated here.
不同的是,本申请实施例中,在确定了不同颜色分量下的占用概率后,是基于占用概率对对应的属性信息进行编码,得到属性编码信息的过程。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.
可以理解的是,本申请实施例中分颜色通道预测与编码的方式,相较于基于不分通道整理进行占用概率的预测与编码的方式,采用属性概率预测网络进行解码时,极大减小了解码复杂度,并且随着编码的进行,已经完成编码Y颜色分量的属性信息可以用于对应同一第一体素的未编码其他颜色分量的编码推测过程中,实现未编码第一体素的编码的进行,从而提高了编码的准确性和效率。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 method of predicting and encoding the occupancy probability 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.
在本申请的一些实施例中,如图16所示,本申请实施例提供的编码方法还可以包括: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:
S801、对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;多个尺度点云包括:第一尺度点云和第二尺度点云;第二尺度点云为第一尺度点云的前一尺度父节点的点云数据。S801, down-sampling the point cloud data in sequence until it is divided into a single voxel, to obtain 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 the point cloud data of the previous-scale parent node of the first-scale point cloud.
需要说明的是,S801的实现与S501的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S801 are consistent with those of S501, and will not be repeated here.
S802、对第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数。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.
需要说明的是,S802的实现与S602的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S802 are consistent with those of S602, and will not be repeated here.
S803、根据第二尺度点云的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到第一尺度点云的属性预测信息。S803 . Determine attribute prediction information corresponding to n first voxels at the first scale according to the attribute information of the second-scale point cloud, and then obtain the attribute prediction information of the first-scale point cloud.
需要说明的是,S803的实现与S603的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S803 are consistent with those of S603, and will not be repeated here.
S804、基于n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数。S804 , grouping 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.
需要说明的是,S804的实现与S604的实现原理和说明描述一致,此处不再赘述。It should be noted that the implementation principle and description of S804 are consistent with those of S604, and will not be repeated here.
S805、采用属性概率预测网络,在第一颜色分量下,对m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率。S805 , using an 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.
S806、根据第一颜色分量对应的m组占用概率,在第一颜色分量下,对m组第一体素的属性信息进行编码,确定m组第一体素各自第一颜色分量对应的属性编码信息。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.
第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概 率。The attribute information corresponding to the first color component is used to determine the m-group occupancy probability of the second color component and the m-group occupancy probability of the third color component.
S807、采用属性概率预测网络,结合第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。S807, using an attribute probability prediction network, combined with the attribute information corresponding to the first color component, respectively, under the second color component and the third color component, perform probability prediction on the m groups of first voxels in turn 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.
S808、根据第二颜色分量对应的m组占用概率,在第二颜色分量下,对m组第一体素的属性信息进行编码,确定m组第一体素各自第二颜色分量对应的属性编码信息。S808 . Encode the 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 determine the attribute coding information corresponding to the second color component of each of the m groups of first voxels.
S809、根据第三颜色分量对应的m组占用概率,在第三颜色分量下,对m组第一体素的属性信息进行编码,确定m组第一体素各自第三颜色分量对应的属性编码信息。S809 , encoding the 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 the attribute coding information corresponding to the third color component of each of the m groups of first voxels.
需要说明的是,S805-S809的实现与S 405-S409的实现原理一致,此处不再赘述。It should be noted that the implementation principle of S805-S809 is consistent with that of S 405-S409, which will not be repeated here.
不同的是,本申请实施例中,在确定了不同颜色分量下的占用概率后,是基于占用概率对对应的属性信息进行编码,得到属性编码信息的过程。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.
需要说明的是,编码器将待编码尺度点云划分为多层结构,包括:1)、下采样成多个尺度;2)、同一尺度的点云根据坐标或位置划分为多组体素(例如8组);3)、同一尺度点云按照颜色通道划分为亮度通道(Y)和两个色度通道(CoCg)。编码器从低尺度到高尺度、从第1组到第8组的顺序、从亮度通道到色度通道的顺序,递进式的依次预测每一层点云的概率分布并用于无损熵编码。在该递进式预测过程中,已编码的层是已知信息,可以作为上下文,基于稀疏张量神经网络的概率预测模型帮助预测剩余未编码的组。It should be noted that the encoder divides the scale point cloud to be encoded into a multi-layer structure, including: 1) downsampling into multiple scales; 2) the point cloud of the same scale is divided into multiple groups of voxels (for example, 8 groups) according to coordinates or positions; 3) the point cloud of the same scale is divided into a brightness channel (Y) and two chroma channels (CoCg) according to the color channel. The encoder progressively predicts the probability distribution of each layer of point cloud in sequence from low scale to high scale, from group 1 to group 8, and from brightness channel to chroma 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 sparse tensor neural network helps predict the remaining unencoded groups.
可以理解的是,基于学习的无损属性压缩算法,本申请实施例中分组,分通道预测与编码的方式,即针对点云数据和神经网络工具的特点,对点云进行了多种分层方式,例如尺度、组间以及通道间的编码,相较于基于每个体素的父节点和邻居节点,逐个体素进行占用概率的预测与编码的方式,采用属性概率预测网络进行编码时,一方面极大减小了编码复杂度,提高了编码速度与压缩性能;随着编码的进行,已经完成编码Y颜色分量的属性信息,输入属性概率预测网络可以用于对应同一第一体素的未编码其他颜色分量的编码推测过程中,帮助预测当前第一体素的占据概率,从而提高了编码的准确性和效率。It can be understood that the lossless attribute compression algorithm based on learning, 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, group and 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, to help predict the occupancy probability of the current first voxel, thereby improving the accuracy and efficiency of the encoding.
下面,结合图17,说明本申请实施例提供的编解码方法在实际场景中的应用。Below, in conjunction with Figure 17, the application of the encoding and decoding method provided in an embodiment of the present application in an actual scenario is explained.
以相邻尺度的Scale p-1、Scale p和Scale p+1为例来进行说明。Scale p+1进行下采样和量化后得到Scale p,并保存量化误差1,继续对Scale p进行下采样和量化,得到Scale p-1,并保存量化误差2,直至得到多个尺度时为止。Take the adjacent scales Scale p-1, Scale p, and Scale p+1 as examples for explanation. Scale p+1 is downsampled and quantized to obtain Scale p, and the quantization error 1 is saved. Scale p is further downsampled and quantized to obtain Scale p-1, and the quantization error 2 is saved until multiple scales are obtained.
从最低尺度的点云进行编码,在编码到Scale p时,Scale p-1已经编码完成。编码器可以根据Scale p-1的属性信息,根据量化误差2进行反量化,得到Scale p的修正属性预测信息8,7,7,7,4,4。编码器基于修正属性预测信息和属性概率预测网络进行概率预测,进而基于占用概率对Scale p的属性信息进行编码。继续对Scale p+1进行编码,编码器可以根据Scale p的属性信息,根据量化误差1进行反量化,得到Scale p+1的修正属性预测信息7.5,7.5,5,5,8.5,8.5,7,7,3.5,3.5,4.5,4.5。编码器基于修正属性预测信息和属性概率预测网络进行概率预测,进而基于占用概率对Scale p+1的属性信息进行编码,直至将所有尺度点云编码完成时为止,并将量化误差和属性编码信息写入码流。Encode from the lowest scale point cloud. When encoding to Scale p, Scale p-1 has been encoded. The encoder can perform dequantization based on the attribute information of Scale p-1 and the quantization error 2 to obtain the modified attribute prediction information of Scale p 8, 7, 7, 7, 4, 4. The encoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p based on the occupancy probability. Continue to encode Scale p+1. The encoder can perform dequantization based on the attribute information of Scale p and the quantization error 1 to obtain the modified 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 performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then encodes the attribute information of Scale p+1 based on the occupancy probability until all scale point clouds are encoded, and writes the quantization error and attribute encoding information into the bitstream.
在解码过程中,从最低尺度的点云进行解码,在解编码到Scale p时,Scale p-1已经解码完成。解码器可以根据Scale p-1的已解码的属性信息,根据量化误差2进行反量化,得到Scale p的修正属性预测信息8,7,7,7,4,4。解码器基于修正属性预测信息和属性概率预测网络进行概率预测,进而基于占用概率对从码流中获取的Scale p的属性编码信息进行解码。继续对Scale p+1进行解码,解码器可以根据Scale p的已解码的属性信息,根据量化误差1进行反量化,得到Scale p+1的修正属性预测信息7.5,7.5,5,5,8.5,8.5,7,7,3.5,3.5,4.5,4.5。解码器基于修正属性预测信息和属性概率预测网络进行概率预测,进而基于占用概率从码流中获取的Scale p+1的属性编码信息进行解码,直至将所有尺度点云解码完成时为止。In the decoding process, decoding is performed from the lowest scale point cloud. When decoding to Scale p, Scale p-1 has been decoded. The decoder can perform dequantization based on the decoded attribute information of Scale p-1 according to the quantization error 2 to obtain the modified attribute prediction information of Scale p 8, 7, 7, 7, 4, 4. The decoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then decodes the attribute coding information of Scale p obtained from the bitstream based on the occupancy probability. Continuing to decode Scale p+1, the decoder can perform dequantization based on the decoded attribute information of Scale p according to the quantization error 1 to obtain the modified 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 decoder performs probability prediction based on the modified attribute prediction information and the attribute probability prediction network, and then decodes the attribute coding information of Scale p+1 obtained from the bitstream based on the occupancy probability until all scale point clouds are decoded.
本申请实施例提供一种码流,码流是根据待编码信息进行比特编码生成的;其中,待编码信息至少包括:多个尺度点云的属性编码信息、多个量化误差和多个尺度点云的重建几何信息,其中,多个尺度点云的重建几何信息包括第一尺度点云的重建几何信息。An embodiment of the present application provides a code stream, which is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least: 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.
基于前述的发明构思,本申请实施例提供一种解码器1,如图18所示,包括:Based on the aforementioned inventive concept, an embodiment of the present application provides a decoder 1, as shown in FIG18 , comprising:
解码部分10,被配置为解析码流,确定第一尺度点云对应的属性编码信息;The decoding part 10 is configured to parse the code stream and determine the attribute coding information corresponding to the first scale point cloud;
第一预测部分11,被配置为基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,所述第二尺度点云为所述第一尺度点云的前一尺度父节点的已解码的点云数据;以及,The first prediction part 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 previous scale parent node 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;
所述解码部分10,还被配置为基于所述占用概率对所述属性编码信息进行解码,确定所述第一尺度点云的属性信息。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.
在本申请的一些实施例中,所述第一尺度点云包括:n个第一体素;n为大于1的整数;In some embodiments of the present application, the first-scale point cloud includes: n first voxels; n is an integer greater than 1;
所述第一预测部分11,还被配置为基于所述n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数;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;
采用所述属性概率预测网络,对所述m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,所述m组占用概率为第一尺度点云对应的所述占用概率。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.
在本申请的一些实施例中,所述解码部分10,还被配置为根据所述m组占用概率逐组对所述m组第一体素对应的属性编码信息进行解码,确定所述m组第一体素各自的属性信息。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, and determine the attribute information of each of the m groups of first voxels.
在本申请的一些实施例中,所述解码部分10,还被配置为根据第i组占用概率对第i组第一体素的属性编码信息进行解码,确定第i组第一体素的属性信息;i为大于或等于1,且小于或等于m的整数;In some embodiments of the present application, the decoding part 10 is further configured to decode the attribute encoding information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel of the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;
基于所述第i+1组占用概率继续下一组解码,直至对第m组第一体素的属性编码信息进行解码完成时结束,确定所述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 first voxels of the m groups is determined.
在本申请的一些实施例中,所述第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;所述第i组第一体素包括:H个第一体素;所述第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数;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;
所述解码部分10,还被配置为若第j个第一体素所属的第二体素对应的未解码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行解码,得到第j个第一体素的属性信息;所述第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;The decoding part 10 is further configured to decode the jth first voxel according to the jth group sub-occupancy probability to obtain the 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;
若第j个第一体素所属的第二体素对应的未解码第一体素的数量为1,则确定第二体素对应的未解码第一体素的属性均值,所述属性均值为第j个第一体素的属性信息;所述属性均值是根据所述第二体素对应的已解码第一体素的属性信息,以及第二体素的已解码属性信息确定的;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, wherein the attribute mean is the attribute information of the j-th first voxel; the attribute mean is determined according to the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel;
继续进行第j+1个第一体素的解码,直至j=H时,确定第i组第一体素的属性信息。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.
在本申请的一些实施例中,所述第一预测部分11,还被配置为所述采用属性概率预测网络,对所述属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。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.
在本申请的一些实施例中,所述解码部分10,还被配置为基于第一颜色分量下的占用概率,对第一颜色分量下的属性编码信息进行解码,得到所述第一尺度点云的第一颜色分量对应的属性信息。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 the attribute information corresponding to the first color component of the first-scale point cloud.
在本申请的一些实施例中,所述第一预测部分11,还被配置为所述采用属性概率预测网络,结合所述第一尺度点云的第一颜色分量对应的属性信息,对所述属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及在第三颜色分量下的占用概率;In some embodiments of the present application, the first prediction part 11 is further configured to adopt the attribute probability prediction network, 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;
所述解码部分10,还被配置为基于第二颜色分量下的占用概率,对第二颜色分量下的属性编码信息进行解码,得到所述第一尺度点云的第二颜色分量对应的属性信息;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 the 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.
在本申请的一些实施例中,所述第一预测部分11,还被配置为采用所述属性概率预测网络,在第一颜色分量下,对所述m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率;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;
采用所述属性概率预测网络,结合已解码的第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对所述m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。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 turn 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,还被配置为根据所述第一颜色分量对应的m组占用概率,在第一颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第一颜色分量对应的属性信息;所述第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概率;In some embodiments of the present application, the decoding part 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;
根据所述第二颜色分量对应的m组占用概率,在第二颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第二颜色分量对应的属性信息;According to the m groups of occupancy probabilities corresponding to the second color component, the attribute encoding information of the m groups of first voxels is decoded under the second color component to determine the attribute information corresponding to the second color component of each of the m groups of first voxels;
根据所述第三颜色分量对应的m组占用概率,在第三颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第三颜色分量对应的属性信息。According to the m groups of occupancy probabilities corresponding to the third color component, the attribute encoding 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,还被配置为将各个第一体素的所述属性预测信息输入至所述属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为所述第一尺度点云对应的体素;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 for 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;
根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率。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.
在本申请的一些实施例中,所述第一预测部分11,还被配置为根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;In some embodiments of the present application, the first prediction part 11 is further configured to determine the 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 occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
在本申请的一些实施例中,所述解码部分10,还被配置为确定第二尺度点云的已解码的属性信息;In some embodiments of the present application, the decoding part 10 is further configured to determine the decoded attribute information of the second scale point cloud;
从码流中,确定第一尺度点云下采样到第二尺度点云时的量化误差;Determine, from the bitstream, a quantization error when downsampling the first-scale point cloud to the second-scale point cloud;
从码流中,确定第一尺度点云的重建几何信息。From the bitstream, the reconstructed geometric information of the first scale point cloud is determined.
在本申请的一些实施例中,所述第一预测部分11,还被配置为采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;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;
根据所述第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。Prediction of the first scale is performed according to 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.
在本申请的一些实施例中,所述第一预测部分11,还被配置为对所述第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;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;
根据所述第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到所述第一尺度点云的属性预测信息。According to the decoded 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.
在本申请的一些实施例中,所述第一预测部分11,还被配置为采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;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;
将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定为每个第一体素对应的属性预测信息。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 the attribute prediction information corresponding to each first voxel.
本申请实施例提供一种解码器,如图19所示,包括:The embodiment of the present application provides a decoder, as shown in FIG19 , including:
第一存储器12,配置为存储可执行指令;A first memory 12, configured to store executable instructions;
第一处理器13,配置为执行所述第一存储器12中存储的可执行指令时,实现解码器的解码方法。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.
可以理解的是,在解码器,解码第一尺度点云时,采用已解码的第二尺度点云的属性信息对第一尺度预测,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损解码过程中,那么在解码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少解码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性编码信息进行解码的话,可以提高解码效率与解码性能。It can be understood that, 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 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, and improves 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.
本申请实施例提供一种编码器2,如图20所示,包括:The embodiment of the present application provides an encoder 2, as shown in FIG20 , including:
划分部分20,被配置为对点云数据依次进行体素下采样,直至划分到单个体素时为止,得到多个尺度点云;所述多个尺度点云包括:第一尺度点云和第二尺度点云;所述第二尺度点云为所述第一尺度点云的前一尺度父节点的点云数据;The division part 20 is configured to sequentially perform voxel downsampling on the point cloud data until a single voxel is divided to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud;
第二预测部分21,被配置为在对第一尺度点云进行编码的过程中,基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;以及,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
采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率;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;
编码部分22,被配置为基于所述占用概率对第一尺度点云的属性信息进行编码,确定所述第一尺度点云的属性编码信息。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.
在本申请的一些实施例中,所述第一尺度点云包括:n个第一体素;n为大于1的整数;In some embodiments of the present application, the first-scale point cloud includes: n first voxels; n is an integer greater than 1;
所述第二预测部分21,还被配置为基于所述n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数;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;
采用所述属性概率预测网络,对所述m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,所述m组占用概率为第一尺度点云对应的所述占用概率。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.
在本申请的一些实施例中,所述编码部分22,还被配置为根据所述m组占用概率逐组对所述m组第一体素对应的属性信息进行编码,确定所述m组第一体素各自的属性编码信息。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.
在本申请的一些实施例中,所述编码部分22,还被配置为根据第i组占用概率对第i组第一体素的属性信息进行编码,确定第i组第一体素的属性编码信息;i为大于或等于1,且小于或等于m的整数;In some embodiments of the present application, the encoding part 22 is further configured to encode the attribute information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel of the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;
基于所述第i+1组占用概率继续下一组编码,直至对第m组第一体素的属性信息进行编码完成时结束,确定所述m组第一体素各自的属性编码信息。The next group of encoding is continued based on the (i+1)th group of occupancy probabilities until the encoding of the attribute information of the first voxels of the mth group is completed, and the attribute encoding information of each of the first voxels of the m groups is determined.
在本申请的一些实施例中,所述第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;所述第i组第一体素包括:H个第一体素;所述第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数;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;
所述编码部分22,还被配置为若第j个第一体素所属的第二体素对应的未编码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行编码,得到第j个第一体素的属性编码信息;所述第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;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;
继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息。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,还被配置为所述继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息之前,若第j个第一体素所属的第二体素对应的未编码 第一体素的数量为1,则不进行第j个第一体素的编码。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, encoding of the j-th first voxel is not performed.
在本申请的一些实施例中,所述第二预测部分21,还被配置为所述采用属性概率预测网络,对所述属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。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 to determine the occupancy probability of the first scale point cloud under the first color component.
在本申请的一些实施例中,所述编码部分22,还被配置为基于第一颜色分量下的占用概率,对第一颜色分量下的属性信息进行编码,得到所述第一尺度点云的第一颜色分量对应的属性编码信息。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 the attribute encoding information corresponding to the first color component of the first-scale point cloud.
在本申请的一些实施例中,所述第二预测部分21,还被配置为所述采用属性概率预测网络,结合所述第一尺度点云的第一颜色分量对应的属性信息,对所述属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及在第三颜色分量下的占用概率;In some embodiments of the present application, the second prediction part 21 is further configured to adopt the attribute probability prediction network, 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;
所述编码部分22,还被配置为基于第二颜色分量下的占用概率,对第二颜色分量下的属性信息进行编码,得到所述第一尺度点云的第二颜色分量对应的属性编码信息;The encoding part 22 is further configured to encode the attribute information under the second color component based on the occupancy probability under the second color component to obtain the 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.
在本申请的一些实施例中,所述第二预测部分21,还被配置为采用所述属性概率预测网络,在第一颜色分量下,对所述m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率;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;
采用所述属性概率预测网络,结合第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对所述m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。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 turn 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.
在本申请的一些实施例中,所述编码部分22,还被配置为根据所述第一颜色分量对应的m组占用概率,在第一颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第一颜色分量对应的属性编码信息;所述第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概率;In some embodiments of the present application, the encoding part 22 is further configured to encode the 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 the 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;
根据所述第二颜色分量对应的m组占用概率,在第二颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第二颜色分量对应的属性编码信息;According to the m groups of occupancy probabilities corresponding to the second color component, encoding the attribute information of the m groups of first voxels under the second color component, and determining the attribute encoding information corresponding to the second color component of each of the m groups of first voxels;
根据所述第三颜色分量对应的m组占用概率,在第三颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第三颜色分量对应的属性编码信息。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 encoding information corresponding to the third color component of each of the m groups of first voxels is determined.
在本申请的一些实施例中,所述第二预测部分21,还被配置为将各个第一体素的所述属性预测信息输入至所述属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为所述第一尺度点云对应的体素;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 for 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;
根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率。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.
在本申请的一些实施例中,所述第二预测部分21,还被配置为根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;In some embodiments of the present application, the second prediction part 21 is further configured to determine the 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 occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
在本申请的一些实施例中,所述编码器2还包括:确定部分23;In some embodiments of the present application, the encoder 2 further includes: a determination part 23;
所述确定部分23,还被配置为在对所述点云数据依次进行体素下采样,直至划分到单个体素时为止,得到所述多个尺度点云的过程中,确定每次下采样到下一个尺度时的多个量化误差;所述多个量化误差包括:第一尺度点云下采样到第二尺度点云时的量化误差。The determination part 23 is also configured to determine multiple quantization errors each time the point cloud data is downsampled to the next scale in the process of sequentially downsampling the point cloud data until it is divided into a single voxel, thereby obtaining the multiple-scale point clouds; the multiple quantization errors include: the quantization error when the first-scale point cloud is downsampled to the second-scale point cloud.
在本申请的一些实施例中,所述编码器2还包括:确定部分23;In some embodiments of the present application, the encoder 2 further includes: a determination part 23;
所述确定部分23,还被配置为确定第一尺度点云的重建几何信息。The determining part 23 is further configured to determine the reconstructed geometric information of the first-scale point cloud.
在本申请的一些实施例中,所述第二预测部分21,还被配置为采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;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;
根据所述第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。Prediction of the first scale is performed according to 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.
在本申请的一些实施例中,所述编码部分22,还被配置为继续进行第三尺度点云的编码,直至将所述多个尺度点云编码完时结束,得到多个尺度点云的属性编码信息。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.
在本申请的一些实施例中,所述编码器2还包括:写入部分24;In some embodiments of the present application, the encoder 2 further includes: a writing part 24;
所述写入部分24,还被配置为将多个尺度点云的属性编码信息分别写入码流。The writing part 24 is further configured to write the attribute encoding information of the multiple scale point clouds into the code stream respectively.
在本申请的一些实施例中,所述编码器2还包括:写入部分24;In some embodiments of the present application, the encoder 2 further includes: a writing part 24;
所述写入部分24,还被配置为将所述多个量化误差写入码流。The writing part 24 is further configured to write the plurality of quantization errors into the bit stream.
在本申请的一些实施例中,所述编码器2还包括:写入部分24;In some embodiments of the present application, the encoder 2 further includes: a writing part 24;
所述写入部分24,还被配置为将所述第一尺度点云的重建几何信息写入码流。The writing part 24 is further configured to write the reconstructed geometric information of the first-scale point cloud into the bitstream.
在本申请的一些实施例中,所述第二预测部分21,还被配置为对所述第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;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;
根据所述第二尺度点云的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到所述第一尺度点云的属性预测信息。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, and then the attribute prediction information of the first-scale point cloud is obtained.
在本申请的一些实施例中,所述第二预测部分21,还被配置为采用所述量化误差,对第二尺度点云的属性信息进行反量化,确定第二尺度点云的修正属性信息;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;
将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定为每个第一体素对应的属性预测信息。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 the attribute prediction information corresponding to each first voxel.
本申请实施例提供一种编码器,如图21所示,包括:The embodiment of the present application provides an encoder, as shown in FIG21, including:
第二存储器25,配置为存储可执行指令;A second memory 25, configured to store executable instructions;
第二处理器26,配置为执行所述第二存储器25中存储的可执行指令时,实现编码器的编码方法。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.
可以理解的是,在编码器,通过尺度之间的处理,基于第二尺度点云的属性信息,预测第一尺度,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损编码过程中,那么在编码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少编码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性信息进行编码的话,可以提高编码效率与编码性能。It can be understood that, in the encoder, through processing between scales, based on the attribute information of the second-scale point cloud, the first scale is predicted, the first-scale point cloud and its attribute prediction information are predicted, and 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 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 and reduces the coding complexity. At the same time, it 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.
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,当可执行指令被第一处理器执行时,将引起第一处理器执行上述任一种本申请实施例提供的解码方法;或者,当可执行指令被第二处理器执行时,将引起第二处理器执行上述任一种本申请实施例提供的编码方法。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 be caused to execute any one of the decoding methods provided by the embodiments of the present application; or, when the executable instructions are executed by a second processor, the second processor will be caused to execute any one of the encoding methods provided by the embodiments of the present application.
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。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 it may be various devices including one or any combination of the above memories.
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。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.
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。As an example, executable instructions may, but do not necessarily, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, such as, for example, 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 coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。By way of example, executable instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one site, or on multiple computing devices distributed across multiple sites and interconnected by a communication network.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。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 in combination with software and hardware. Moreover, 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 disk storage and optical storage, etc.) that contain computer-usable program code.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to the flowchart 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 process and/or box in the flowchart and/or block diagram, and the combination of the process and/or box in the flowchart 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 processor 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 process or multiple processes in the flowchart and/or one box or multiple boxes in the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。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 work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured 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.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby 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.
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。The above is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent replacements and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
工业实用性Industrial Applicability
本申请实施例中,在解码器,解码第一尺度点云时,采用已解码的第二尺度点云的属性信息对第一尺度预测,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损解码过程中,那么在解 码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少解码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性编码信息进行解码的话,可以提高解码效率与解码性能。In an embodiment of the present application, at a decoder, when decoding a first-scale point cloud, attribute information of a 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 an attribute probability prediction network for probability prediction, and the occupancy probability of the first-scale point cloud is determined. The attribute probability prediction network is used in a lossless decoding process, and 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 decoding complexity, and 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.
在编码器,通过尺度之间的处理,基于第二尺度点云的属性信息,预测第一尺度,预测出第一尺度点云,及其属性预测信息,然后,输入属性预测信息至属性概率预测网络进行概率预测,确定第一尺度点云的占用概率,通过属性概率预测网络作用于无损编码过程中,那么在编码时通过属性概率预测网络进行占用概率的确定,属性概率预测网络的使用,避免了很多处理操作,减少编码复杂度,同时加快了占用概率的预测速度,提高了预测过程的处理效率,这样再使用占用概率对属性信息进行编码的话,可以提高编码效率与编码性能。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 is used in the lossless coding process. 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 and reduces the coding complexity. At the same time, it 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 (44)

  1. 一种解码方法,包括:A decoding method, comprising:
    解析码流,确定第一尺度点云对应的属性编码信息;Parse the bitstream 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, and determining 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;
    采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率;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. 根据权利要求1所述的方法,其中,所述第一尺度点云包括:n个第一体素;n为大于1的整数;The method according to claim 1, wherein the first-scale point cloud comprises: n first voxels; n is an integer greater than 1;
    所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The adopting the 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:
    基于所述n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数;Based on grouping voxels at the same position of each of the n first voxels, m groups of first voxels are determined; m is an integer greater than or equal to 1;
    采用所述属性概率预测网络,对所述m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,所述m组占用概率为第一尺度点云对应的所述占用概率。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. 根据权利要求2所述的方法,其中,所述基于所述占用概率对所述属性编码信息进行解码,确定所述第一尺度点云的属性信息,包括:The method according to claim 2, wherein the decoding of the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud comprises:
    根据所述m组占用概率逐组对所述m组第一体素对应的属性编码信息进行解码,确定所述m组第一体素各自的属性信息。The attribute encoding 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. 根据权利要求2或3所述的方法,其中,所述基于所述占用概率对所述属性编码信息进行解码,确定所述第一尺度点云的属性信息,包括:The method according to claim 2 or 3, wherein the decoding of the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud comprises:
    根据第i组占用概率对第i组第一体素的属性编码信息进行解码,确定第i组第一体素的属性信息;i为大于或等于1,且小于或等于m的整数;Decoding the attribute encoding information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel of the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;
    基于所述第i+1组占用概率继续下一组解码,直至对第m组第一体素的属性编码信息进行解码完成时结束,确定所述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 first voxels of the m groups is determined.
  5. 根据权利要求4所述的方法,其中,所述第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;所述第i组第一体素包括:H个第一体素;所述第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数;The method according to claim 4, wherein the second-scale point cloud comprises: 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 comprises: H first voxels; the i-th group of occupancy probabilities comprises: 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;
    所述根据第i组占用概率对第i组第一体素的属性编码信息进行解码,确定第i组第一体素的属性信息,包括:The step of decoding the attribute encoding information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute information of the first voxel of the i-th group includes:
    若第j个第一体素所属的第二体素对应的未解码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行解码,得到第j个第一体素的属性信息;所述第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;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;
    若第j个第一体素所属的第二体素对应的未解码第一体素的数量为1,则确定第二体素对应的未解码第一体素的属性均值,所述属性均值为第j个第一体素的属性信息;所述属性均值是根据所述第二体素对应的已解码第一体素的属性信息,以及第二体素的已解码属性信息确定的;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, wherein the attribute mean is the attribute information of the j-th first voxel; the attribute mean is determined according to the attribute information of the decoded first voxel corresponding to the second voxel and the decoded attribute information of the second voxel;
    继续进行第j+1个第一体素的解码,直至j=H时,确定第i组第一体素的属性信息。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. 根据权利要求1所述的方法,其中,所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The method according to claim 1, wherein the adopting 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 comprises:
    所述采用属性概率预测网络,对所述属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。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. 根据权利要求6所述的方法,其中,所述基于所述占用概率对所述属性编码信息进行解码,确定所述第一尺度点云的属性信息,包括:The method according to claim 6, wherein the decoding of the attribute encoding information based on the occupancy probability to determine the attribute information of the first-scale point cloud comprises:
    基于第一颜色分量下的占用概率,对第一颜色分量下的属性编码信息进行解码,得到所述第一尺度点云的第一颜色分量对应的属性信息。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. 根据权利要求7所述的方法,其中,所述方法还包括:The method according to claim 7, wherein the method further comprises:
    所述采用属性概率预测网络,结合所述第一尺度点云的第一颜色分量对应的属性信息,对所述属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及在第三颜色分量下的占用概率;The attribute probability prediction network is used to perform probability prediction on the second color component and the third color component of the attribute prediction information in combination with the attribute information corresponding to the first color component of the first scale point cloud, 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;
    基于第二颜色分量下的占用概率,对第二颜色分量下的属性编码信息进行解码,得到所述第一尺度点云的第二颜色分量对应的属性信息;Based on the occupancy probability of the second color component, the attribute encoding information of the second color component is decoded to obtain the 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. 根据权利要求2至4任一项所述的方法,其中,所述采用属性概率预测网络,对所述m组第一体 素依次进行概率预测,确定m组占用概率,包括:The method according to any one of claims 2 to 4, wherein the adopting 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 comprises:
    采用所述属性概率预测网络,在第一颜色分量下,对所述m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率;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;
    采用所述属性概率预测网络,结合已解码的第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对所述m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。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 turn 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. 根据权利要求9所述的方法,其中,所述根据所述m组占用概率逐组对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自的属性信息,包括:The method according to claim 9, wherein the step of decoding 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 comprises:
    根据所述第一颜色分量对应的m组占用概率,在第一颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第一颜色分量对应的属性信息;所述第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概率;According to the m groups of occupancy probabilities corresponding to the first color component, under the first color component, the attribute encoding information of the m groups of first voxels is decoded 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;
    根据所述第二颜色分量对应的m组占用概率,在第二颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第二颜色分量对应的属性信息;According to the m groups of occupancy probabilities corresponding to the second color component, the attribute encoding information of the m groups of first voxels is decoded under the second color component to determine the attribute information corresponding to the second color component of each of the m groups of first voxels;
    根据所述第三颜色分量对应的m组占用概率,在第三颜色分量下,对所述m组第一体素的属性编码信息进行解码,确定所述m组第一体素各自第三颜色分量对应的属性信息。According to the m groups of occupancy probabilities corresponding to the third color component, the attribute encoding 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. 根据权利要求1至7任一项所述的方法,其中,所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The method according to any one of claims 1 to 7, wherein the adopting 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 comprises:
    将各个第一体素的所述属性预测信息输入至所述属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为所述第一尺度点云对应的体素;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. 根据权利要求11所述的方法,其中,所述根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率,包括:The method according to claim 11, wherein 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 comprises:
    根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;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;
    根据每一第一体素的概率密度分布,以每一第一体素为中心的预设范围内进行积分运算,确定每一第一体素的占用概率,从而确定第一尺度点云的占用概率。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 occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
  13. 根据权利要求1至10任一项所述的方法,其中,所述方法还包括: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, from the bitstream, a quantization error when downsampling the first-scale point cloud to the second-scale point cloud;
    从码流中,确定第一尺度点云的重建几何信息。From the bitstream, the reconstructed geometric information of the first scale point cloud is determined.
  14. 根据权利要求13所述的方法,其中,所述基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息,包括:The method according to claim 13, wherein the predicting 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 comprises:
    采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;Dequantizing the decoded attribute information of the second scale point cloud using the quantization error to determine the corrected attribute information of the second scale point cloud;
    根据所述第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。Prediction of the first scale is performed according to 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. 根据权利要求1至10任一项所述的方法,其中,所述基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息,包括:The method according to any one of claims 1 to 10, wherein the predicting 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 comprises:
    对所述第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;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;
    根据所述第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到所述第一尺度点云的属性预测信息。According to the decoded 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.
  16. 根据权利要求15所述的方法,其中,所述根据所述第二尺度点云的已解码的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,包括:The method according to claim 15, wherein determining the 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 comprises:
    采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;Dequantizing the decoded attribute information of the second scale point cloud using the quantization error to determine the corrected attribute information of the second scale point cloud;
    将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定为每个第一体素对应的属性预测信息。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 the 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, 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 previous scale parent node of the first scale point cloud;
    在对第一尺度点云进行编码的过程中,基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;In the process of encoding the first-scale point cloud, performing a 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;
    采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率;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. 根据权利要求17所述的方法,其中,所述第一尺度点云包括:n个第一体素;n为大于1的整数;The method according to claim 17, wherein the first-scale point cloud comprises: n first voxels; n is an integer greater than 1;
    所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The adopting the 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:
    基于所述n个第一体素中的每个第一体素的相同位置的体素进行分组,确定m组第一体素;m为大于或等于1的整数;Based on grouping voxels at the same position of each of the n first voxels, m groups of first voxels are determined; m is an integer greater than or equal to 1;
    采用所述属性概率预测网络,对所述m组第一体素的属性预测信息依次进行概率预测,确定m组占用概率,所述m组占用概率为第一尺度点云对应的所述占用概率。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. 根据权利要求18所述的方法,其中,所述基于所述占用概率对所述属性信息进行编码,确定所述第一尺度点云的属性编码信息,包括:The method according to claim 18, wherein encoding the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud comprises:
    根据所述m组占用概率逐组对所述m组第一体素对应的属性信息进行编码,确定所述m组第一体素各自的属性编码信息。The 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 the attribute encoding information of each of the m groups of first voxels.
  20. 根据权利要求18或19所述的方法,其中,所述基于所述占用概率对所述属性信息进行编码,确定所述第一尺度点云的属性编码信息,包括:The method according to claim 18 or 19, wherein encoding the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud comprises:
    根据第i组占用概率对第i组第一体素的属性信息进行编码,确定第i组第一体素的属性编码信息;i为大于或等于1,且小于或等于m的整数;Encoding the attribute information of the first voxel of the i-th group according to the i-th group occupancy probability to determine the attribute encoding information of the first voxel of the i-th group; i is an integer greater than or equal to 1 and less than or equal to m;
    基于所述第i+1组占用概率继续下一组编码,直至对第m组第一体素的属性信息进行编码完成时结束,确定所述m组第一体素各自的属性编码信息。The next group of encoding is continued based on the (i+1)th group of occupancy probabilities until the encoding of the attribute information of the first voxels of the mth group is completed, and the attribute encoding information of each of the first voxels of the m groups is determined.
  21. 根据权利要求20所述的方法,其中,所述第二尺度点云包括:K个第二体素;K为大于或等于1,小于第一尺度点云的体素总数的整数;所述第i组第一体素包括:H个第一体素;所述第i组占用概率包括:H组子占用概率;H为大于或等于1,小于或等于预设数量的整数;The method according to claim 20, wherein the second-scale point cloud comprises: 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 comprises: H first voxels; the i-th group of occupancy probabilities comprises: 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;
    所述根据第i组占用概率对第i组第一体素的属性信息进行编码,确定第i组第一体素的属性编码信息,包括: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:
    若第j个第一体素所属的第二体素对应的未编码第一体素的数量大于1,则根据第j组子占用概率,对第j个第一体素进行编码,得到第j个第一体素的属性编码信息;所述第二体素为第j个第一体素中的点对应第二尺度的父节点所在的体素;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 encoding 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;
    继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息。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. 根据权利要求21所述的方法,其中,所述继续进行第j+1个第一体素的编码,直至j=H时,确定第i组第一体素的属性编码信息之前,所述方法还包括:The method according to claim 21, wherein the 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, the method further comprises:
    若第j个第一体素所属的第二体素对应的未编码第一体素的数量为1,则不进行第j个第一体素的编码。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 encoded.
  23. 根据权利要求17所述的方法,其中,所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The method according to claim 17, wherein the adopting 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 comprises:
    所述采用属性概率预测网络,对所述属性预测信息的第一颜色分量进行概率预测,确定第一尺度点云在第一颜色分量下的占用概率。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. 根据权利要求23所述的方法,其中,所述基于所述占用概率对所述属性信息进行编码,确定所述第一尺度点云的属性编码信息,包括:The method according to claim 23, wherein encoding the attribute information based on the occupancy probability to determine the attribute encoding information of the first-scale point cloud comprises:
    基于第一颜色分量下的占用概率,对第一颜色分量下的属性信息进行编码,得到所述第一尺度点云的第一颜色分量对应的属性编码信息。Based on the occupancy probability of the first color component, the 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. 根据权利要求23所述的方法,其中,所述方法还包括:The method according to claim 23, wherein the method further comprises:
    所述采用属性概率预测网络,结合所述第一尺度点云的第一颜色分量对应的属性信息,对所述属性预测信息的第二颜色分量和第三颜色分量进行概率预测,确定第一尺度点云在第二颜色分量下占用概率,以及在第三颜色分量下的占用概率;The attribute probability prediction network is used to perform probability prediction on the second color component and the third color component of the attribute prediction information in combination with the attribute information corresponding to the first color component of the first scale point cloud, 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;
    基于第二颜色分量下的占用概率,对第二颜色分量下的属性信息进行编码,得到所述第一尺度点云的第二颜色分量对应的属性编码信息;Based on the occupancy probability of the second color component, the attribute information of the second color component is encoded to obtain the 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. 根据权利要求18至20任一项所述的方法,其中,所述采用属性概率预测网络,对所述m组第一体素依次进行概率预测,确定m组占用概率,包括:The method according to any one of claims 18 to 20, wherein the adopting 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 comprises:
    采用所述属性概率预测网络,在第一颜色分量下,对所述m组第一体素依次进行概率预测,确定第一颜色分量对应的m组占用概率;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;
    采用所述属性概率预测网络,结合第一颜色分量对应的属性信息,在第二颜色分量和第三颜色分量下,分别对所述m组第一体素依次进行概率预测,确定第二颜色分量对应的m组占用概率,以及第三颜色分量对应的m组占用概率。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 turn 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. 根据权利要求26所述的方法,其中,所述根据所述m组占用概率逐组对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自的属性编码信息,包括:The method according to claim 26, wherein encoding 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 comprises:
    根据所述第一颜色分量对应的m组占用概率,在第一颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第一颜色分量对应的属性编码信息;所述第一颜色分量对应的属性信息用于确定第二颜色分量的m组占用概率和第三颜色分量的m组占用概率;According to the m groups of occupancy probabilities corresponding to the first color component, under the first color component, the attribute information of the m groups of first voxels is encoded to determine the 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;
    根据所述第二颜色分量对应的m组占用概率,在第二颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第二颜色分量对应的属性编码信息;According to the m groups of occupancy probabilities corresponding to the second color component, encoding the attribute information of the m groups of first voxels under the second color component, and determining the attribute encoding information corresponding to the second color component of each of the m groups of first voxels;
    根据所述第三颜色分量对应的m组占用概率,在第三颜色分量下,对所述m组第一体素的属性信息进行编码,确定所述m组第一体素各自第三颜色分量对应的属性编码信息。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 encoding information corresponding to the third color component of each of the m groups of first voxels is determined.
  28. 根据权利要求17至24任一项所述的方法,其中,所述采用属性概率预测网络,对所述属性预测信息进行概率预测,确定第一尺度点云的占用概率,包括:The method according to any one of claims 17 to 24, wherein the adopting 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 comprises:
    将各个第一体素的所述属性预测信息输入至所述属性概率预测网络进行概率预测,确定第一尺度点云的各个第一体素的至少一种概率模型参数;第一体素为所述第一尺度点云对应的体素;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. 根据权利要求28所述的方法,其中,所述根据第一尺度点云的各个第一体素的至少一种概率模型参数,确定第一尺度点云的占用概率,包括:The method of claim 28, wherein determining the occupancy probability of the first-scale point cloud based on at least one probability model parameter of each first voxel of the first-scale point cloud comprises:
    根据第一尺度点云的每一第一体素所包含的至少一个点各自的至少一种概率模型参数,确定每一第一体素的概率密度分布;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;
    根据每一第一体素的概率密度分布,以每一第一体素为中心的预设范围内进行积分运算,确定每一第一体素的占用概率,从而确定第一尺度点云的占用概率。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 occupation probability of each first voxel, thereby determining the occupation probability of the first-scale point cloud.
  30. 根据权利要求17至27任一项所述的方法,其中,所述方法还包括: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, a plurality of quantization errors are determined each time the point cloud is downsampled to the next scale; the plurality of quantization errors include: a quantization error when a first-scale point cloud is downsampled to a second-scale point cloud.
  31. 根据权利要求17至27任一项所述的方法,其中,所述方法还包括: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. 根据权利要求31所述的方法,其中,所述基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息,包括:The method according to claim 31, wherein the predicting the first scale based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud comprises:
    采用所述量化误差,对第二尺度点云的已解码的属性信息进行反量化,确定第二尺度点云的修正属性信息;Dequantizing the decoded attribute information of the second scale point cloud using the quantization error to determine the corrected attribute information of the second scale point cloud;
    根据所述第二尺度点云的修正属性信息和第一尺度点云的重建几何信息进行第一尺度的预测,确定第一尺度点云的属性预测信息。Prediction of the first scale is performed according to 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. 根据权利要求17所述的方法,其中,所述方法还包括:The method according to 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. 根据权利要求17或32所述的方法,所述方法还包括:The method according to claim 17 or 32, further comprising:
    将多个尺度点云的属性编码信息分别写入码流。The attribute encoding information of point clouds at multiple scales is written into the bitstream respectively.
  35. 根据权利要求30所述的方法,所述方法还包括:The method according to claim 30, further comprising:
    将所述多个量化误差写入码流。The multiple quantization errors are written into a bitstream.
  36. 根据权利要求31所述的方法,所述方法还包括:The method according to claim 31, further comprising:
    将所述第一尺度点云的重建几何信息写入码流。The reconstructed geometric information of the first-scale point cloud is written into the bitstream.
  37. 根据权利要求17至27任一项所述的方法,其中,所述基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息,包括:The method according to any one of claims 17 to 27, wherein the predicting the first scale based on the attribute information of the second-scale point cloud to determine the attribute prediction information of the first-scale point cloud comprises:
    对所述第二尺度点云进行体素上采样,确定第一尺度的n个第一体素;n为大于1的整数;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;
    根据所述第二尺度点云的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,进而得到所述第一尺度点云的属性预测信息。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, and then the attribute prediction information of the first-scale point cloud is obtained.
  38. 根据权利要求17至27任一项所述的方法,其中,所述根据所述第二尺度点云的属性信息,确定第一尺度的n个第一体素对应的属性预测信息,包括:The method according to any one of claims 17 to 27, wherein determining the attribute prediction information corresponding to the n first voxels at the first scale according to the attribute information of the second-scale point cloud comprises:
    采用所述量化误差,对第二尺度点云的属性信息进行反量化,确定第二尺度点云的修正属性信息;Dequantizing the attribute information of the second-scale point cloud using the quantization error to determine the corrected attribute information of the second-scale point cloud;
    将第一尺度的n个第一体素的每个第一体素所属的第二尺度点云的第二体素的修正属性信息,确定 为每个第一体素对应的属性预测信息。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.
  39. 一种解码器,包括:A decoder, comprising:
    解码部分,被配置为解析码流,确定第一尺度点云对应的属性编码信息;A decoding part, configured to parse the bitstream and determine attribute encoding information corresponding to the first scale point cloud;
    第一预测部分,被配置为基于第二尺度点云的已解码的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;其中,所述第二尺度点云为所述第一尺度点云的前一尺度父节点的已解码的点云数据;以及,A first prediction part 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 previous scale parent node 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 perform voxel downsampling on the point cloud data until a single voxel is divided to obtain 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 the point cloud data of the previous scale parent node of the first scale point cloud;
    第二预测部分,被配置为在对第一尺度点云进行编码的过程中,基于所述第二尺度点云的属性信息进行第一尺度的预测,确定第一尺度点云的属性预测信息;以及,A second prediction part is configured to perform a prediction of the first scale 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, including:
    所述码流是根据待编码信息进行比特编码生成的;其中,所述待编码信息至少包括:多个尺度点云的属性编码信息、多个量化误差和多个尺度点云的重建几何信息,其中,所述多个尺度点云的重建几何信息包括第一尺度点云的重建几何信息。The code stream is generated by bit encoding according to 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;
    第一处理器,配置为执行所述第一存储器中存储的可执行指令时,实现权利要求1至16任一项所述的方法。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;
    第二处理器,配置为执行所述第二存储器中存储的可执行指令时,实现权利要求17至38任一项所述的方法。The second processor is configured to implement the method described in any one of claims 17 to 38 when executing the executable instructions stored in the second memory.
  44. 一种计算机可读存储介质,存储有可执行指令,用于引起第一处理器执行时,实现权利要求1至16任一项所述的方法,或者,用于引起第二处理器执行时,权利要求17至38任一项所述的方法。A computer-readable storage medium storing executable instructions for causing a first processor to execute the method described in any one of claims 1 to 16, or for causing a second processor to execute the method described in any one of claims 17 to 38.
PCT/CN2022/125722 2022-10-17 2022-10-17 Encoding method, decoding method, decoder, encoder, code stream, and storage medium WO2024082101A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125722 WO2024082101A1 (en) 2022-10-17 2022-10-17 Encoding method, decoding method, decoder, encoder, code stream, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125722 WO2024082101A1 (en) 2022-10-17 2022-10-17 Encoding method, decoding method, decoder, encoder, code stream, and storage medium

Publications (1)

Publication Number Publication Date
WO2024082101A1 true WO2024082101A1 (en) 2024-04-25

Family

ID=90736567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/125722 WO2024082101A1 (en) 2022-10-17 2022-10-17 Encoding method, decoding method, decoder, encoder, code stream, and storage medium

Country Status (1)

Country Link
WO (1) WO2024082101A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184840A (en) * 2020-09-22 2021-01-05 上海交通大学 3D point cloud compression system based on multi-scale structured dictionary learning
WO2021029575A1 (en) * 2019-08-14 2021-02-18 엘지전자 주식회사 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN113613010A (en) * 2021-07-07 2021-11-05 南京大学 Point cloud geometric lossless compression method based on sparse convolutional neural network
CN113766228A (en) * 2020-06-05 2021-12-07 Oppo广东移动通信有限公司 Point cloud compression method, encoder, decoder, and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021029575A1 (en) * 2019-08-14 2021-02-18 엘지전자 주식회사 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN113766228A (en) * 2020-06-05 2021-12-07 Oppo广东移动通信有限公司 Point cloud compression method, encoder, decoder, and storage medium
CN112184840A (en) * 2020-09-22 2021-01-05 上海交通大学 3D point cloud compression system based on multi-scale structured dictionary learning
CN113613010A (en) * 2021-07-07 2021-11-05 南京大学 Point cloud geometric lossless compression method based on sparse convolutional neural network

Similar Documents

Publication Publication Date Title
CN113615181B (en) Method and device for point cloud encoding and decoding
JP7233561B2 (en) Method for point cloud compression and its apparatus and computer program
WO2022121648A1 (en) Point cloud data encoding method, point cloud data decoding method, device, medium, and program product
US20220292730A1 (en) Method and apparatus for haar-based point cloud coding
JP2022531110A (en) Methods and devices for point cloud coding
JP2023543752A (en) Point cloud codec method and system, and point cloud encoder and point cloud decoder
WO2024082101A1 (en) Encoding method, decoding method, decoder, encoder, code stream, and storage medium
CN115086660B (en) Decoding and encoding method based on point cloud attribute prediction, decoder and encoder
US20220180567A1 (en) Method and apparatus for point cloud coding
WO2024082105A1 (en) Encoding method, decoding method, decoder, encoder and computer-readable storage medium
WO2024060161A1 (en) Encoding method, decoding method, encoder, decoder and storage medium
JP7470211B2 (en) Method and apparatus for computing distance-based weighted averages for point cloud coding
US11611775B2 (en) Method and apparatus for point cloud coding
RU2778864C1 (en) Implicit geometric division based on a quad-tree or binary tree for encoding a point cloud
WO2024011417A1 (en) Encoding method, decoding method, decoder, encoder and computer readable storage medium
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN117178299A (en) Convolution method for fast and compact packing of 3D meshes into 2D maps
CN116438797A (en) Point cloud encoding and decoding method and system, point cloud encoder and point cloud decoder
CN115914651A (en) Point cloud coding and decoding method, device, equipment and storage medium
CN115914650A (en) Point cloud encoding and decoding method, encoder, decoder and storage medium
CN116635905A (en) Detection of boundary loops in non-manifold grids
CN117461054A (en) Grid compression with derived texture coordinates
CN115733990A (en) Point cloud coding and decoding method, device and storage medium
CN116648909A (en) Method and device for encoding or decoding image by using neural network