Point cloud coding method, code stream, encoder, decoder and storage medium

CN122122902APending Publication Date: 2026-05-29GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
Filing Date
2023-10-09
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In the existing point cloud encoding and decoding technology, the limited reference range limits the point cloud encoding and decoding performance.

Method used

By constructing a reference list at the decoding end, including multiple decoded units, determining the reference unit of the current RAHT layer, and using the reference blocks in the reference unit to perform attribute prediction transformation, the reference range of inter prediction is expanded.

Benefits of technology

Improve the prediction effect of point cloud attribute information and improve point cloud compression performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122122902A_ABST
    Figure CN122122902A_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a point cloud coding and decoding method, a code stream, an encoder, a decoder and a storage medium. The method comprises the following steps: at the decoding end, decoding the code stream, determining the prediction mode identification information corresponding to the current RAHT layer; in the case that the prediction mode identification information indicates that the current RAHT layer uses the inter-prediction transform decoding mode, decoding the code stream, and determining the reference identification number corresponding to the current RAHT layer; determining the reference unit corresponding to the current RAHT layer in the reference list according to the reference identification number; wherein the reference list comprises K decoded units, K is an integer greater than or equal to 1; determining the reference block corresponding to the current block according to the geometric information of the current block in the current RAHT layer and the reference unit; and determining the attribute transform value corresponding to the current block according to the attribute prediction transform value of the reference block.
Need to check novelty before this filing date? Find Prior Art

Description

Point cloud encoding and decoding method, code stream, encoder, decoder and storage medium Technical Field

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

[0002] In the Point Cloud Compression (PCC) framework, for the Geometry-based Point Cloud Compression (G-PCC) encoding and decoding framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately. Currently, the G-PCC encoding framework includes three attribute encoding methods: Predicting Transform (PT), Lifting Transform (LT), and Region Adaptive Hierarchical Transform (RAHT). Among them, the first two predict the point cloud based on the generation order of LOD, while RAHT adaptively transforms the attribute information from bottom to top based on the construction level of the octree.

[0003] In the process of region-adaptive hierarchical inter-frame prediction transform coding, the previous frame of the current frame is generally used as a reference point cloud sequence frame. However, the limited reference range will limit the performance of point cloud encoding and decoding to a certain extent.

[0004] Summary of the Invention

[0005] The embodiments of the present application provide a point cloud encoding and decoding method, code stream, encoder, decoder and storage medium, which can effectively improve the performance of point cloud encoding and decoding.

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

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

[0008] Decode the code stream and determine the prediction mode identification information corresponding to the current RAHT layer;

[0009] When the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decoding the code stream to determine a reference identification number corresponding to the current RAHT layer;

[0010] Determining, in a reference list according to the reference identifier, a reference unit corresponding to the current RAHT layer; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1;

[0011] Determining, according to the geometric information of the current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block;

[0012] The attribute transformation value corresponding to the current block is determined according to the attribute prediction transformation value of the reference block.

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

[0014] Determining prediction mode identification information corresponding to the current RAHT layer according to a rate-distortion optimization algorithm, and writing the prediction mode identification information into a bitstream; wherein the prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-frame prediction transform coding mode or an intra-frame prediction transform coding mode;

[0015] Wherein, when the current RAHT layer uses the inter-frame prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream; a reference block corresponding to the current block is determined based on geometric information of the current block in the current RAHT layer and the reference unit; an attribute transform residual value corresponding to the current block is determined based on the attribute prediction transform value of the reference block, and the attribute transform residual value is written into the bitstream; the reference list includes K coded units, where K is an integer greater than or equal to 1.

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

[0017] Prediction mode identification information corresponding to the current RAHT layer, attribute transformation residual value corresponding to the current block, multi-reference prediction identification information, and reference identification number corresponding to the current RAHT layer.

[0018] In a fourth aspect, an embodiment of the present application provides an encoder, comprising: a first determining unit and an encoding unit; wherein,

[0019] The first determining unit is configured to determine prediction mode identification information corresponding to the current RAHT layer according to a rate-distortion optimization algorithm; wherein the prediction mode identification information is used to indicate that the current RAHT layer uses an inter-frame prediction transform coding mode or an intra-frame prediction transform coding mode;

[0020] The encoding unit is configured to write the prediction mode identification information into a bitstream;

[0021] The first determining unit is further configured to, when the current RAHT layer uses an inter-frame prediction transform coding mode, determine a reference unit corresponding to the current RAHT layer in a reference list, and determine a reference identifier corresponding to the current RAHT layer based on the reference unit; the reference list includes K coded units, where K is an integer greater than or equal to 1;

[0022] The encoding unit is further configured to write the reference identification number into the code stream;

[0023] The first determining unit is further configured to determine a reference block corresponding to the current block based on the geometric information of the current block in the current RAHT layer and the reference unit; and determine an attribute transformation residual value corresponding to the current block based on the attribute prediction transformation value of the reference block;

[0024] The encoding unit is further configured to write the attribute transformation residual value into the bitstream.

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

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

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

[0028] In a sixth aspect, an embodiment of the present application provides a decoder, comprising: a decoding unit, a second determining unit; wherein,

[0029] The decoding unit is configured to decode the bitstream and determine prediction mode identification information corresponding to the current RAHT layer; if the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decode the bitstream and determine the reference identification number corresponding to the current RAHT layer;

[0030] The second determining unit is configured to determine, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; determine, based on geometric information of a current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block; and determine, based on a property prediction transform value of the reference block, a property transform value corresponding to the current block.

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

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

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

[0034] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program, which implements the method described in the first aspect when executed by a first processor, or implements the method described in the second aspect when executed by a second processor.

[0035] Embodiments of the present application provide a point cloud encoding and decoding method, bitstream, encoder, decoder, and storage medium. At a decoding end, the bitstream is decoded to determine prediction mode identification information corresponding to the current RAHT layer; when the prediction mode identification information indicates that the current RAHT layer uses an inter-frame prediction transform decoding mode, the bitstream is decoded to determine a reference identification number corresponding to the current RAHT layer; a reference unit corresponding to the current RAHT layer is determined in a reference list based on the reference identification number; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; a reference block corresponding to the current block is determined based on geometric information and a reference unit of the current block in the current RAHT layer; and an attribute transform value corresponding to the current block is determined based on an attribute prediction transform value of the reference block. At the encoding end, prediction mode identification information corresponding to the current RAHT layer is determined based on a rate-distortion optimization algorithm, and the prediction mode identification information is written into a bitstream. The prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, and a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] FIG1 is a schematic diagram of a three-dimensional point cloud image;

[0037] FIG2 is a partial enlarged view of a three-dimensional point cloud image;

[0038] FIG3 is a schematic diagram of six viewing angles of a point cloud image;

[0039] FIG4 is a schematic diagram of a data storage format corresponding to a point cloud image;

[0040] FIG5 is a schematic diagram of a composition framework of a G-PCC encoder;

[0041] FIG6 is a schematic diagram of a composition framework of a G-PCC decoder;

[0042] FIG7 is a schematic diagram of a RAHT transformation process along the x, y, and z directions;

[0043] FIG8 is a schematic diagram of a RAHT transformation structure;

[0044] FIG9 is a schematic diagram of a RAHT forward conversion process;

[0045] FIG10 is a schematic diagram of a RAHT inverse transformation process;

[0046] FIG11 is a schematic diagram of the structure of an attribute coding block;

[0047] FIG12 is a schematic diagram of the overall process of RAHT attribute prediction transform coding;

[0048] FIG13 is a schematic diagram of a neighborhood prediction relationship of a current block;

[0049] FIG14 is a schematic diagram of a calculation process of an attribute transformation coefficient;

[0050] FIG15 is a schematic diagram of the structure of a RAHT attribute inter-frame prediction coding;

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

[0052] FIG17 is a first schematic diagram of an implementation flow of the point cloud decoding method proposed in an embodiment of the present application;

[0053] FIG18 is a second schematic diagram of the implementation flow of the point cloud decoding method proposed in an embodiment of the present application;

[0054] FIG19 is a third schematic diagram of the implementation flow of the point cloud decoding method proposed in an embodiment of the present application;

[0055] FIG20 is a schematic diagram of an implementation flow of a point cloud encoding method proposed in an embodiment of the present application;

[0056] FIG21 is a schematic diagram of point cloud encoding and decoding proposed in an embodiment of the present application;

[0057] FIG22 is a schematic diagram of the first structure of an encoder proposed in an embodiment of the present application;

[0058] FIG23 is a second schematic diagram of the structure of an encoder proposed in an embodiment of the present application;

[0059] FIG24 is a schematic diagram of the first structure of a decoder according to an embodiment of the present application;

[0060] FIG25 is a second schematic diagram of the composition structure of a decoder proposed in an embodiment of the present application. DETAILED DESCRIPTION

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

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

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

[0064] It should also be pointed out that the terms "first\second\third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.

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

[0066] A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene. Figure 1 shows a three-dimensional point cloud image and Figure 2 shows a partially enlarged view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.

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

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

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

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

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

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

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

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

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

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

[0077] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Moreover, since point clouds are obtained by directly sampling real objects, they can provide a strong sense of reality while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.

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

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

[0080] That is to say, since the point cloud is a collection of massive points, storing the point cloud not only consumes a lot of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, the point cloud needs to be compressed.

[0081] Currently, the point cloud coding framework that can compress point clouds can be the geometry-based Point Cloud Compression (G-PCC) codec framework or the video-based Point Cloud Compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Standard (AVS).

[0082] The following describes the related technologies using the G-PCC encoding and decoding framework as an example.

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

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

[0085] Figure 6 shows a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 6, for the acquired binary bit stream, the geometric bit stream and attribute bit stream in the binary bit stream are first decoded independently. When decoding the geometric bit stream, the geometric information of the point cloud is obtained through arithmetic decoding-reconstruction of the octree / reconstruction of the prediction tree-reconstruction of the geometry-coordinate inverse conversion; when decoding the attribute bit stream, the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD partitioning / RAHT-color inverse conversion, and the point cloud data to be encoded (i.e., the output point cloud) is restored based on the geometric information and attribute information.

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

[0087] It should also be noted that the current G-PCC encoding framework includes three attribute encoding methods: Predicting Transform (PT), Lifting Transform (LT), and Region Adaptive Hierarchical Transform (RAHT). The first two predictively encode point clouds based on the LOD generation order, while RAHT adaptively transforms attribute information from the bottom up based on the octree construction hierarchy.

[0088] The Regional Adaptive Hierarchical Transform (RAHT) is a Haar wavelet transform that transforms point cloud attribute information from the spatial domain to the frequency domain, further reducing the correlation between point cloud attributes. Its main concept is to transform the nodes in each layer in the X, Y, and Z dimensions in a bottom-up manner according to the octree structure (as shown in Figure 7), and iterate until the root node of the octree. As shown in Figure 8, the basic idea is to perform a wavelet transform based on the hierarchical structure of the octree, associate attribute information with the octree nodes, and recursively transform the attributes of occupied nodes under the same parent node in a bottom-up manner, transforming the nodes in each layer in the X, Y, and Z dimensions until the root node of the octree is reached. During the hierarchical transformation process, the low-pass / low-frequency (DC) coefficients obtained after the transformation of the nodes in the same layer are passed to the nodes in the next layer for further transformation, while all high-pass / high-frequency (AC) coefficients can be encoded using an arithmetic coder.

[0089] During the transformation process, the DC coefficients (direct current components) of the transformed nodes at the same layer are passed to the previous layer for further transformation, while the AC coefficients (alternating current components) of each layer are quantized and encoded. The main transformation processes are described below.

[0090] Figure 9 is a schematic diagram of a RAHT forward transformation process, and Figure 10 is a schematic diagram of a RAHT inverse transformation process. For the transformation and inverse transformation process corresponding to RAHT, assume that g′ L,2x,y,z And g′L, 2x+1, y, z are the DC coefficients of two attributes of neighboring points in the L layer. After linear transformation, the information of the L-1 layer is the AC coefficient f′ L-1,x,y,z and DC coefficient g′ L-1,x,y,z ; Then, f′ L-1,x,y,z No more transformation will be performed, and quantization coding will be performed directly, g′ L-1,x,y,z The nearest neighbor will continue to be searched for transformation. If no neighbor is found, it will be directly passed to the L-2 layer. That is, the RAHT transformation is only effective for nodes with neighbor points. Nodes without neighbor points will be directly passed to the previous layer. In the above transformation process, g′ L,2x,y,zThe weights (the number of non-empty child nodes in the node) corresponding to g′L, 2x+2, y, and z are w′ respectively. L,2x,y,z and w′L, 2x+1, y, z (abbreviated as w′0 and w′1), g′ L-1,x,y,z The weight is w′ L-1,x,y,z , then the general transformation formula is:

[0091] Among them, T w0,w1 is the transformation matrix:

[0092] The transformation matrix will be updated as the weights corresponding to each point change adaptively. The above process will be iterated and updated continuously according to the partitioning structure of the octree until the root node of the octree is reached.

[0093] In a specific implementation, for regional adaptive hierarchical intra-frame prediction transform coding, prediction can be performed based on RAHT transform coding. As shown in Figure 8, RAHT attribute transform is based on the order of the octree hierarchy, and the transformation is continuously performed from the voxel level until the root node is obtained, thereby completing the hierarchical transform coding of the entire attribute. In predictive transform coding, attribute prediction transform coding is also performed based on the hierarchical order of the octree, but the transformation is continuously performed from the root node to the voxel level. In each RAHT attribute transformation process, attribute prediction transform coding is performed based on a 2×2×2 block. The details are shown in Figure 11. As shown in Figure 11, it can be seen that the grid filling block is the current block to be encoded, and the diagonal filling block is some neighboring blocks that are coplanar and colinear with the current block to be encoded. Among them, the attributes of the current block are normalized in the following way: A node =∑ p∈node attribute(p) (3) w node =∑ pεnode 1={p∈node} (4) a node =A node / w node (5)

[0094] First, the attributes of the current block can be obtained by the attributes of the points contained in the current block, namely: A node By simply adding the attributes of the points in the current block, and then normalizing the attributes of the current block with the number of points in the current block, the mean value a of the current block attribute is obtained. node The attribute transform coding is performed using the mean value of the current block attribute. The specific coding process is shown in Figure 12.

[0095] As shown in Figure 12, the overall process of RAHT attribute prediction transform coding is shown. (a) is the current block and some coplanar and colinear neighboring blocks, (b) is the normalized block, (c) is the upsampled block, (d) is the attribute of the current block, and (e) is the attribute of the predicted block obtained by linear weighted fitting using the neighboring attributes of the current block. Finally, attribute transformation is performed on both to obtain DC and AC coefficients, and the AC coefficients are predictively coded.

[0096] The predicted attributes of the current block can be obtained by linear fitting as shown in Figure 13. As shown in Figure 13, 19 neighboring blocks of the current block are first obtained. Then, the attributes of each sub-block of the current block are linearly weighted using the spatial geometric distance between the neighboring blocks and each sub-block of the current block. Finally, the predicted block attributes obtained using the linear weighting are transformed. The specific attribute transformation is shown in Figure 14.

[0097] In Figure 14, (d) represents the original value of the attribute, and the corresponding attribute transformation coefficient is as follows:

[0098] (e) represents the attribute prediction value, and the corresponding attribute transformation coefficient is as follows:

[0099] By subtracting the original value of the attribute from the predicted value of the attribute, the prediction residual can be obtained as follows:

[0100] In another specific implementation, for region-adaptive hierarchical inter-frame prediction transform coding, the G-PCC attribute inter-frame prediction coding scheme follows a similar process to intra-frame prediction coding. First, a RAHT attribute transform coding structure is constructed based on geometric information. Specifically, transformations are continuously performed at the voxel level until the root node is reached, completing the hierarchical transform coding of the entire attribute. In this manner, both the intra-frame coding structure and the inter-frame coding structure are constructed. The inter-frame coding structure for the RAHT attribute can be seen in Figure 15.

[0101] As shown in FIG15 , firstly, the geometric information of the current node to be coded is used to obtain the co-located predicted node of the node to be coded in the reference frame, and then the geometric information and attribute information of the reference node are used to obtain the predicted attribute of the current node to be coded.

[0102] The attribute prediction value of the current node to be encoded is obtained in the following two different ways:

[0103] ① The inter-frame prediction node of the current node is valid: that is, if the same-position node exists, the attribute of the predicted node is directly used as the attribute prediction value of the current node to be encoded;

[0104] ② The inter-frame prediction node of the current node is invalid: that is, the co-located node does not exist, then the attribute prediction value of the adjacent node in the frame is used as the attribute prediction value of the node to be encoded.

[0105] Finally, the attribute prediction value is used to predict the attribute of the current node to be encoded, thereby completing the predictive coding of the entire attribute.

[0106] In another specific implementation method, for adaptive regional adaptive hierarchical inter-frame / intra-frame prediction transform coding, for each layer of RAHT transform, the encoding end will first calculate the codewords required for the current layer to simply use regional adaptive hierarchical intra-frame prediction transform coding, as well as the codewords required for regional adaptive hierarchical inter-frame prediction transform coding, select a mode with smaller rate distortion, and encode the flag bit.

[0107] Correspondingly, at the decoding end, the decoding flag obtains the mode mode. If the selected mode is region adaptive layered intra-frame prediction transform coding, the decoding end adopts region adaptive layered intra-frame prediction transform coding; if the selected mode is region adaptive layered inter-frame prediction transform coding, the decoding end adopts region adaptive layered inter-frame prediction transform coding.

[0108] However, when common technologies perform region-adaptive hierarchical inter-frame prediction transform coding, the reference point cloud sequence frame is only the frame before the current frame, and the reference range is limited, so the performance is limited.

[0109] To solve the above problems, an embodiment of the present application provides a point cloud encoding and decoding method. At the decoding end, the code stream is decoded to determine the prediction mode identification information corresponding to the current RAHT layer; when the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, the code stream is decoded to determine the reference identification number corresponding to the current RAHT layer; the reference unit corresponding to the current RAHT layer is determined in a reference list based on the reference identification number; wherein the reference list includes K decoded units, K is an integer greater than or equal to 1; the reference block corresponding to the current block is determined based on the geometric information and reference unit of the current block in the current RAHT layer; and the attribute transformation value corresponding to the current block is determined based on the attribute prediction transformation value of the reference block. At the encoding end, prediction mode identification information corresponding to the current RAHT layer is determined based on a rate-distortion optimization algorithm, and the prediction mode identification information is written into a bitstream. The prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, and a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance.

[0110] It can be understood that the embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method. Figure 16 is a schematic diagram of a network architecture for point cloud encoding and decoding. As shown in Figure 16, the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01. During implementation, the electronic devices can be various types of devices with point cloud encoding and decoding functions. For example, the electronic devices can include mobile phones, tablet computers, personal computers, personal digital assistants, navigators, digital phones, video phones, televisions, sensor devices, servers, etc., and the embodiments of the present application are not limited thereto.

[0111] Among them, the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device. In other words, the electronic device in the embodiment of the present application has point cloud encoding and decoding functions, generally including a point cloud encoder (i.e., encoder) and a point cloud decoder (i.e., decoder).

[0112] The following describes in detail the various embodiments of the present application with reference to the accompanying drawings.

[0113] In one embodiment of the present application, referring to FIG17 , which shows a flowchart of a decoding method provided by an embodiment of the present application. As shown in FIG17 , the method for performing point cloud decoding by the decoder may include the following steps:

[0114] Step 101: Decode the code stream and determine the prediction mode identification information corresponding to the current RAHT layer.

[0115] In the embodiment of the present application, prediction mode identification information corresponding to the current RAHT layer may be determined first.

[0116] It should be noted that the decoding method of the embodiment of the present application is applied to a point cloud decoder (hereinafter referred to as "decoder"). The method may refer to a point cloud decoding method, specifically a point cloud attribute decoding method.

[0117] It should be noted that in the embodiment of the present application, in the RAHT attribute transformation, the order of the RAHT attribute transformation is to divide the points from the root node in sequence until the voxel level is reached. Specifically, the division is stopped when the unit cube of size 1×1×1 is reached, thereby completing the encoding and reconstruction of the entire point cloud attribute. Here, each layer obtained by downsampling along the Z direction, Y direction, and X direction is a RAHT transformation layer, that is, a layer. Then, when the unit cube of size 1×1×1 is reached, it means that the points have been divided into voxel levels.

[0118] It can be understood that, in the embodiment of the present application, the current RAHT layer may be a RAHT transformation layer corresponding to the current point cloud.

[0119] Furthermore, in an embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer can be used to determine the prediction mode used by the current RAHT layer. The prediction mode corresponding to the current RAHT layer can include an inter-frame prediction transform decoding mode and an intra-frame prediction transform decoding mode.

[0120] It is understood that in the embodiments of the present application, if the prediction mode corresponding to the current RAHT layer is the intra-prediction transform decoding mode, then for any transform block in the current RAHT layer, the corresponding prediction mode is the intra-prediction transform decoding mode. In other words, the intra-prediction transform decoding mode can be applied to all transform blocks in the current RAHT layer.

[0121] It should be understood that in the embodiments of the present application, if the prediction mode corresponding to the current RAHT layer is the inter-frame prediction transform decoding mode, then for at least one transform block in the current RAHT layer, the corresponding prediction mode is the inter-frame prediction transform decoding mode. In other words, the inter-frame prediction transform decoding mode can be applied to all transform blocks in the current RAHT layer, or to some transform blocks in the current RAHT layer.

[0122] Furthermore, in an embodiment of the present application, when determining the prediction mode corresponding to the current RAHT layer, the prediction mode identification information corresponding to the current RAHT layer can be determined by decoding the code stream, and then the prediction mode corresponding to the current RAHT layer can be determined according to the prediction mode identification information.

[0123] It should be noted that, in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer may be a syntax element corresponding to the attribute header information.

[0124] For example, in some embodiments, the prediction mode identification information can be placed in a vector array in the attribute header. Each RAHT layer corresponds to a prediction mode identification information. For example, if the current point cloud corresponds to 10 RAHT layers, then the vector needs to include 10 prediction mode identification information.

[0125] For example, in some embodiments, the prediction mode identification information may be determined by an attribute header corresponding to a slice, or may be determined by an attribute header corresponding to a frame, which is not specifically limited in this application.

[0126] It can be understood that in the embodiment of the present application, the current RAHT layer can be any RAHT transformation layer corresponding to the current point cloud. Accordingly, the prediction mode of the current RAHT layer can be determined through the prediction mode identification information corresponding to the current RAHT layer.

[0127] It should be noted that, in an embodiment of the present application, when determining the prediction mode corresponding to the current RAHT layer based on the prediction mode identification information, the value of the current prediction mode identification information can be determined first, and then the prediction mode corresponding to the current RAHT layer can be further determined based on the value of the prediction mode identification.

[0128] Exemplarily, in some embodiments, when the value of the prediction mode identification information is a first value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the intra-frame prediction transform decoding mode, that is, the prediction mode corresponding to the current RAHT layer is the intra-frame prediction transform decoding mode; when the value of the prediction mode identification information is a second value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, that is, the prediction mode corresponding to the current RAHT layer is the inter-frame prediction transform decoding mode.

[0129] It should also be noted that, in the embodiment of the present application, the first value is different from the second value, and the first value and the second value can be in parameter form or in digital form. Specifically, the first prediction mode identification information and the second prediction mode identification information can be parameters written in the profile, or can be the value of a flag, which is not specifically limited here. In addition, for the first value and the second value, the first value can be set to 1 and the second value can be set to 0; or, the first value can be set to 0 and the second value can be set to 1; or, the first value can be set to true and the second value can be set to false; or, the first value can be set to false and the second value can be set to true. Among them, in the embodiment of the present application, the first value is set to 0 and the second value is set to 1, but it is not specifically limited.

[0130] Step 102: When the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decode the code stream to determine the reference identification number corresponding to the current RAHT layer.

[0131] In an embodiment of the present application, after determining the prediction mode identification information corresponding to the current RAHT layer, if the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, the code stream can be further decoded to determine the reference identification number corresponding to the current RAHT layer.

[0132] It should be noted that, in the embodiment of the present application, the reference identification number can be used to determine the decoded reference unit corresponding to the current RAHT layer.

[0133] Step 103: Determine a reference unit corresponding to the current RAHT layer in a reference list according to the reference identification number; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1.

[0134] In an embodiment of the present application, if the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, then after determining the reference identification number corresponding to the current RAHT layer, the reference unit corresponding to the current RAHT layer can be further determined in the reference list according to the reference identification number.

[0135] It should be noted that, in the embodiment of the present application, the reference list may include K decoded units, where K is an integer greater than or equal to 1;

[0136] It is understood that in the embodiments of the present application, the decoded unit may include at least any one of a decoded frame, a block corresponding to the decoded frame, and a slice corresponding to the decoded frame. Accordingly, the K decoded units include at least: K decoded frames corresponding to the current frame, or K blocks corresponding to the K decoded frames, or K slices corresponding to the K decoded frames.

[0137] Exemplarily, in some embodiments, the reference list may include K frame point cloud sequences decoded before the current frame, that is, the reference list includes K decoded frames corresponding to the current frame.

[0138] Exemplarily, in some embodiments, the reference list may include K blocks in the K-frame point cloud sequence decoded before the current frame, corresponding to the block where the current block is located, that is, the reference list includes K blocks corresponding to the K decoded frames corresponding to the current frame.

[0139] Exemplarily, in some embodiments, the reference list may include K slices corresponding to the block where the current block is located in the K-frame point cloud sequence decoded before the current frame, that is, the reference list includes K slices corresponding to the K decoded frames corresponding to the current frame.

[0140] Furthermore, in an embodiment of the present application, the K decoded units include at least N decoded frames corresponding to the current frame and a fused frame generated based on the N decoded frames, or N blocks corresponding to the N decoded frames and a fused block generated based on the N blocks, or N slices corresponding to the N decoded frames and a fused slice generated based on the N slices; wherein N is greater than 0 and less than or equal to K.

[0141] That is to say, in an embodiment of the present application, the K frames / slices / blocks in the reference list are not limited to the first K frames / slices / blocks corresponding to the current frame, but can also include the first N frames / slices / blocks corresponding to the current frame and fused frames / slices / blocks generated based on the first N frames / slices / blocks.

[0142] It should be noted that in an embodiment of the present application, based on the first N decoded frames / slices / blocks, one frame / slice / block is selected, and the nearest point is selected from the other N-1 frames / slices / blocks other than the one frame / slice / block, and the geometric value and attribute value are averaged to obtain a new fused frame / slice / block. The selection of the nearest point can include at least one of the nearest point under the spatial Morton code distance, the nearest point under the spatial Hilbert code distance, and the nearest point under the spatial Manhattan distance.

[0143] For example, in some embodiments, assume that the first three decoded units corresponding to the current RAHT layer are A0, A1, and A2, respectively, where A0 represents the 0th frame / slice / block, A1 represents the 1st frame / slice / block, and A2 represents the 2nd frame / slice / block. One implementation of the reference list corresponding to the current RAHT layer may include the three decoded units A0, A1, and A2. Another implementation of the reference list corresponding to the current RAHT layer may include the two decoded units A0 and A, where A is a new fused frame / slice / block generated by fusing A1 and A2.

[0144] Furthermore, in an embodiment of the present application, the K decoded units include at least a fused frame generated by N decoded frames corresponding to the current frame, or a fused block generated by N blocks corresponding to N decoded frames, or a fused slice generated by N slices corresponding to N decoded frames; wherein N is greater than 0 and less than or equal to K.

[0145] It should be noted that in an embodiment of the present application, when a fused frame / slice / block is generated based on N frames / slices / blocks, a fused frame / slice / block can be determined based on the geometric information and / or attribute information of the N frames / slices / blocks.

[0146] It can be understood that in an embodiment of the present application, based on the first N decoded frames / slices / blocks, one frame / slice / block is selected, and the geometric information of the one frame / slice / block is retained as the geometric information of the new fused frame / slice / block. At the same time, the attribute information of the new fused frame / slice / block can be determined based on the attribute information of the first N frames / slices / blocks.

[0147] It can be understood that in an embodiment of the present application, based on the first N decoded frames / slices / blocks, one frame / slice / block is selected, and the attribute information of the one frame / slice / block is retained as the attribute information of the new fused frame / slice / block. At the same time, the geometric information of the new fused frame / slice / block can be determined based on the geometric information of the first N frames / slices / blocks.

[0148] It can be understood that in an embodiment of the present application, based on the first N decoded frames / slices / blocks, the geometric information of the new fused frame / slice / block can be determined according to the geometric information of the first N frames / slices / blocks, and the attribute information of the new fused frame / slice / block can be determined according to the attribute information of the first N frames / slices / blocks.

[0149] It can be understood that in the embodiment of the present application, when K is greater than 1, the frames, blocks, and slices referenced when performing inter-frame attribute prediction on the transform block in the current RAHT layer are no longer limited to the previous frame of the current frame, but can include a wider range of choices of other decoded frames.

[0150] It should be noted that, in the embodiment of the present application, the number K of decoded units may be determined according to a preset threshold.

[0151] That is to say, in the embodiment of the present application, the number K of decoded plane units in the reference list is not infinite, but the number K of decoded units can be limited by a preset threshold.

[0152] For example, in some embodiments, if the number K of decoded face units in the reference list reaches a certain threshold, such as a preset threshold, the first one put in can be discarded and the next one can be added to maintain a range that does not exceed the preset threshold.

[0153] For example, in some embodiments, if the number K of decoded face units in the reference list reaches a certain threshold, such as a preset threshold, the reference list can be directly reset to 0 and then accumulated.

[0154] Furthermore, in an embodiment of the present application, the reference list may correspond to the current RAHT layer, and the reference list may be constructed while performing prediction processing of the attribute information of the current RAHT layer.

[0155] It should be noted that in the embodiments of the present application, the arrangement order and traversal order of the decoded units in the reference list are not specifically limited. That is, in the process of performing attribute prediction on the current RAHT layer, the decoded units in the constructed reference list can refer to the division order of the RAHT layer, or can be any other order.

[0156] Furthermore, in an embodiment of the present application, when the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, the code stream can be further decoded to determine the reference sequence number corresponding to the current RAHT layer.

[0157] It should be noted that, in the embodiment of the present application, the reference serial number may be used to determine the serial number of the decoded unit in the reference list corresponding to the current RAHT layer.

[0158] It can be understood that in the embodiment of the present application, since the order of the decoded units in the reference list is not limited, the corresponding reference serial number can be used to determine the serial number of the decoded unit in the reference list.

[0159] It should be noted that, in the embodiment of the present application, the sequence number of the decoded unit may represent the absolute decoding order or the relative decoding order of the decoded unit.

[0160] Exemplarily, in some embodiments, assuming that the decoded unit is a decoded frame, the sequence number of the decoded unit may be the absolute sequence of the decoded frame, or the relative sequence between the decoded frame and the current frame.

[0161] That is to say, in the embodiment of the present application, the reference frame list is used to store the display order of the reference frames (i.e., the absolute order), that is, the absolute value of the display order is directly put in; the second is to store the relative order of the reference frames, that is, the difference in display order between the reference frame and the current frame is put in.

[0162] Furthermore, in an embodiment of the present application, the code stream is decoded to determine the prediction mode identification information corresponding to the current decoding unit; wherein the current decoding unit includes the current RAHT layer, or the current frame, or the slice in the current frame, or the block in the current frame; when the prediction mode identification information indicates that the current decoding unit uses the inter-frame prediction transform decoding mode, the code stream can be further decoded to determine the reference sequence number corresponding to the current RAHT layer.

[0163] That is, in the embodiments of the present application, the decoding of the sequence number of the decoded unit in the reference list may be not only decoding of the current RAHT layer, but also decoding of the current frame, or a slice in the current frame, or a block in the current frame. This application makes specific restrictions.

[0164] Furthermore, in an embodiment of the present application, when determining a reference unit corresponding to a current RAHT layer in a reference list according to a reference identification number, when the value of the reference identification number is i, the i-th decoded unit in the reference list is determined as the reference unit; where i is an integer less than or equal to K.

[0165] It is understood that in the embodiment of the present application, the reference identification number corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer, wherein the reference identification number can determine the order and position of the corresponding reference unit in the reference list.

[0166] Furthermore, in an embodiment of the present application, when determining the reference unit corresponding to the current RAHT layer in the reference list according to the reference identification number, when the value of the reference identification number is i, the i-th decoded unit before the current frame in the reference list is determined as the reference unit; where i is an integer less than or equal to K.

[0167] It is understood that in the embodiments of the present application, the reference identification number corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The reference identification number can determine the relationship between the reference unit corresponding to the current RAHT layer in the reference list and the current frame.

[0168] Step 104: Determine a reference block corresponding to the current block according to the geometric information and reference unit of the current block in the current RAHT layer.

[0169] In an embodiment of the present application, after determining the reference unit corresponding to the current RAHT layer in the reference list according to the reference identification number, the reference block corresponding to the current block can be further determined according to the geometric information and reference unit of the current block in the current RAHT layer.

[0170] It should be noted that in an embodiment of the present application, if it is determined based on the prediction mode identification information that the current RAHT layer uses the inter-frame prediction transform decoding mode, then the reference block corresponding to the current block can be further determined based on the geometric information corresponding to the current block to be decoded in the current RAHT layer and the reference unit corresponding to the current RAHT layer.

[0171] It can be understood that, in the embodiment of the present application, the current block may be a transform block to be decoded in the current RAHT layer.

[0172] Furthermore, in an embodiment of the present application, when determining a reference block corresponding to the current block based on the geometric information of the current block and the reference unit in the current RAHT layer, the reference block can be determined in the reference unit according to a preset search strategy based on the geometric information of the current block.

[0173] It should be noted that, in the embodiment of the present application, the geometric information includes at least any one of the following information: spatial Morton code information, spatial Hilbert code information, spatial coordinate information, spherical coordinate information, and polar coordinate information.

[0174] It should be noted that, in the embodiment of the present application, a preset search strategy may be used to search and determine an inter-frame reference transform block, wherein the preset search strategy may include any transform block search method.

[0175] It can be understood that, in the embodiment of the present application, when determining the reference block, the reference unit corresponding to the current RAHT layer can be searched according to a preset search strategy.

[0176] Furthermore, in an embodiment of the present application, when determining a reference block in a reference unit according to a preset search strategy based on the geometric information of the current block, first position information can be first determined based on the geometric information of the current block; and then the reference block can be determined in the reference unit according to the preset search strategy based on the first position information.

[0177] It should be noted that, in an embodiment of the present application, the first position information may at least include: geometric information of the current block, and / or geometric information of the parent block of the current block corresponding to the current block, and / or placeholder information of the current block, and / or placeholder information of the parent block of the current block.

[0178] That is to say, in an embodiment of the present application, when determining a reference block, a search process can be performed in combination with one or more of the geometric information of the current block, the geometric information of the parent block of the current block, the placeholder information of the current block, and the placeholder information of the parent block of the current block.

[0179] It should be noted that, in the embodiments of the present application, the preset search strategy at least includes: searching the reference unit for a transform block having the same geometric information as the current block, and determining the transform block as the reference block; and / or searching the reference unit for a parent transform block having the same geometric information as the parent block of the current block, and determining the parent transform block as the reference block; and / or searching the reference unit for a transform block having the same geometric information as the current block and satisfying a first correlation condition with the placeholder information of the current block, and determining the transform block as the reference block; and / or searching the reference unit for a parent transform block having the same geometric information as the current block and satisfying a first correlation condition with the placeholder information of the current block, and determining the transform block as the reference block; The method further comprises searching a parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the placeholder information of the corresponding parent transform block and the parent block of the current block, and determining the transform block as the reference block; and / or searching a reference unit for a transform block having the same geometric information as the parent block of the current block and satisfying a first correlation condition between the placeholder information of the current block and the parent transform block, and determining the transform block as the reference block; and / or searching a reference unit for a parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the placeholder information of the parent block of the current block and the parent transform block, and determining the parent transform block as the reference.

[0180] It should be noted that, in an embodiment of the present application, the first correlation condition includes: the absolute value of the difference between the occupancy information of the current block and the occupancy information of the transformed block is less than or equal to a first threshold; wherein the first threshold is greater than or equal to 0 and less than or equal to 8.

[0181] It should be noted that, in an embodiment of the present application, the second correlation condition includes: the absolute value of the difference between the placeholder information of the parent block of the current block and the placeholder information of the parent transformation block is less than or equal to the second threshold; wherein the second threshold is greater than or equal to 0 and less than or equal to 8.

[0182] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position (geometric information) in a reference frame / block / slice (decoded unit) is the same as the geometric position of the current transform block (current block) can be selected as the corresponding reference block.

[0183] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block (the parent block of the current block) can be selected as the corresponding reference block.

[0184] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position in the reference frame / block / slice is the same as the geometric position of the current transform block, and whose occupancy information in the reference frame / block / slice differs from the occupancy information of the current transform block by less than or equal to J (a first threshold) (J is 0-8) can be selected as the corresponding reference block.

[0185] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position in the reference frame / block / slice is the same as the geometric position of the current transform block, and a transform block (Q is 0-8) whose occupancy information of the parent transform block in the reference frame / block / slice and the occupancy information of the parent transform block of the current transform block differ by less than or equal to Q (the second threshold) can be selected as the corresponding reference block.

[0186] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block, and whose placeholder information in the reference frame / block / slice has a difference of less than or equal to J (J is 0-8) with the placeholder information of the current transform block, can be selected as the corresponding reference block.

[0187] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block and whose occupancy information of the parent transform block in the reference frame / block / slice differs from the occupancy information of the parent transform block of the current transform block by less than or equal to Q (a second threshold) (Q is 0-8) can be selected as the corresponding reference block.

[0188] It should be noted that, in the embodiments of the present application, when determining the reference block, based on a preset search strategy, one search method may be used to search the reference units in the reference list, or a combination of multiple search methods may be used to search the reference units in the reference list. This application does not specifically limit this.

[0189] Step 105: Determine the attribute transformation value corresponding to the current block according to the attribute prediction transformation value of the reference block.

[0190] In an embodiment of the present application, after determining the reference block corresponding to the current block based on the geometric information and reference unit of the current block in the current RAHT layer, the attribute transformation value corresponding to the current block can be further determined based on the attribute prediction transformation value of the reference block.

[0191] Furthermore, in an embodiment of the present application, the code stream may be decoded to determine the attribute transformation residual value corresponding to the current block.

[0192] Furthermore, in an embodiment of the present application, when determining the attribute transformation value corresponding to the current block based on the attribute prediction transformation value of the reference block, the attribute prediction transformation value of the current block can be first determined based on the attribute prediction transformation value of the reference block; and then the attribute transformation value corresponding to the current block can be determined based on the attribute transformation residual value and the attribute prediction transformation value of the current block.

[0193] It should be noted that, in the embodiment of the present application, the attribute transformation value of the current block may be determined by the sum of the attribute transformation residual value of the current block and the attribute prediction transformation value of the current block.

[0194] Furthermore, in an embodiment of the present application, when there is no reference block in the reference unit, the adjacent transform block corresponding to the current block is determined; then, the attribute prediction transform value of the current block is determined based on the attribute transform value of the adjacent transform block; finally, the attribute transform value corresponding to the current block can be determined based on the attribute transform residual value and the attribute prediction transform value of the current block.

[0195] It should be noted that in the embodiments of the present application, if a reference block does not exist in the reference unit, that is, after searching the reference unit in the reference list according to the preset search strategy, no reference block corresponding to the current block is found, it can be determined that the inter-frame prediction transform block of the current block is invalid, and it is necessary to use the attribute prediction transform value of the adjacent transform block in the intra frame to determine the attribute prediction transform value of the current block. For example, the attribute prediction transform value of the adjacent transform block is determined as the attribute prediction transform value of the current block.

[0196] Furthermore, in an embodiment of the present application, FIG18 is a second schematic diagram of an implementation flow of the point cloud decoding method proposed in an embodiment of the present application. As shown in FIG18 , after decoding the bitstream and determining the prediction mode identification information corresponding to the current RAHT layer, that is, after step 101, the method for performing point cloud decoding by the decoder may further include the following steps:

[0197] Step 106: When the prediction mode identification information indicates that the current RAHT layer uses the intra prediction transform decoding mode, determine a neighboring transform block corresponding to the current block.

[0198] Step 107: Determine the attribute prediction transform value of the current block according to the attribute prediction transform values ​​of the adjacent transform blocks.

[0199] Step 108: Determine the attribute transformation value corresponding to the current block according to the attribute transformation residual value and the attribute prediction transformation value of the current block.

[0200] In an embodiment of the present application, after determining the prediction mode identification information corresponding to the current RAHT layer, when the prediction mode identification information indicates that the current RAHT layer uses the intra-frame prediction transform decoding mode, the adjacent transform blocks corresponding to the current block can be determined first, and then the attribute prediction transform value of the current block can be determined based on the attribute prediction transform values ​​of the adjacent transform blocks. Finally, the attribute transform value corresponding to the current block can be determined based on the attribute transform residual value and the attribute prediction transform value of the current block.

[0201] It should be noted that, in an embodiment of the present application, if the prediction mode identification information indicates that the current RAHT layer uses the intra-frame prediction transform decoding mode, then for any transform block in the current RAHT layer, the intra-prediction transform decoding mode can be used to determine the corresponding attribute transform value.

[0202] Furthermore, in an embodiment of the present application, FIG19 is a third schematic diagram of an implementation flow of the point cloud decoding method proposed in an embodiment of the present application. As shown in FIG19 , after decoding the bitstream and determining the prediction mode identification information corresponding to the current RAHT layer, that is, after step 101, and before determining the reference block corresponding to the current block based on the geometric information and reference unit of the current block in the current RAHT layer, that is, before step 104, the method for performing point cloud decoding by the decoder may further include the following steps:

[0203] Step 109: When the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, determine a reference unit in the reference list according to the prediction mode identification information.

[0204] In an embodiment of the present application, after determining the prediction mode identification information corresponding to the current RAHT layer, when the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, the reference unit can be further determined in the reference list according to the prediction mode identification information.

[0205] It should be noted that, in the embodiment of the present application, the reference unit may also be determined by determining the corresponding decoded unit in the reference list based on the prediction mode identification information corresponding to the current RAHT layer.

[0206] That is, in an embodiment of the present application, it is possible to either determine the decoded reference unit corresponding to the current RAHT layer by using the reference identification number corresponding to the current RAHT layer, or directly determine the decoded reference unit by using the prediction mode identification information corresponding to the current RAHT layer. In this case, there is no need to transmit the reference identification number.

[0207] Further, in an embodiment of the present application, when the value of the prediction mode identification information is the first value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the intra-frame prediction transform decoding mode; when the value of the prediction mode identification information is not the first value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode.

[0208] Exemplarily, in some embodiments, when the value of the prediction mode identification information is the first value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the intra-frame prediction transform decoding mode, that is, the prediction mode corresponding to the current RAHT layer is the intra-frame prediction transform decoding mode; when the value of the prediction mode identification information is not the first value, on the one hand, it can be determined that the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, that is, the prediction mode corresponding to the current RAHT layer is the inter-frame prediction transform decoding mode, and on the other hand, the reference unit corresponding to the current RAHT layer can also be determined in the reference list based on the prediction mode identification information.

[0209] Further, in an embodiment of the present application, when determining a reference unit in a reference list based on prediction mode identification information, when the value of the prediction mode identification information is j, the j-th decoded unit in the reference list is determined as the reference unit; wherein j is different from the first value, and j is an integer less than or equal to K.

[0210] It is understood that in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The prediction mode identification information can determine the order and position of the corresponding reference unit in the reference list.

[0211] Further, in an embodiment of the present application, when determining a reference unit in a reference list according to prediction mode identification information, when the value of the reference identification number is j, the j-th decoded unit before the current frame in the reference list is determined as the reference unit; wherein j is different from the first value, and j is an integer less than or equal to K.

[0212] It is understood that in the embodiment of the present application, the prediction mode identification signal corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The prediction mode identification signal can determine the relationship between the reference unit corresponding to the current RAHT layer in the reference list and the current frame.

[0213] Furthermore, in an embodiment of the present application, the code stream can also be decoded to determine the multi-reference prediction identification information. When the multi-reference prediction identification information indicates that the current RAHT layer uses a multi-reference prediction mode, and the prediction mode identification information indicates that the current RAHT layer uses an inter-frame prediction transform decoding mode, the reference block can be determined through a reference list.

[0214] Accordingly, in an embodiment of the present application, after decoding the code stream and determining the multi-reference prediction identification information, when the multi-reference prediction identification information indicates that the current RAHT layer does not use the multi-reference prediction mode and the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, the reference block is no longer determined through the reference list, but the reference block corresponding to the current block is determined in the previous decoded frame of the current frame; then, the attribute transform value corresponding to the current block is determined according to the attribute prediction transform value of the reference block.

[0215] It should be noted that, in the embodiment of the present application, the multi-reference prediction identification information is used to determine whether to use multiple decoded units for inter-frame prediction. The multi-reference prediction identification information can be determined by the encoder and transmitted to the decoder via the bitstream.

[0216] It should be noted that in an embodiment of the present application, when judging whether to use a reference list to determine a reference block based on multi-reference prediction identification information, it is possible to first determine the value of the multi-reference prediction identification information, and then further determine whether to use the reference list for inter-frame prediction processing based on the value of the multi-reference prediction identification information.

[0217] Exemplarily, in some embodiments, when the value of the multi-reference prediction identification information is a first value, it is determined that the multi-reference prediction identification information indicates the use of a reference list for inter-frame prediction processing; when the value of the multi-reference prediction identification information is a second value, it is determined that the multi-reference prediction identification information indicates the non-use of a reference list for inter-frame prediction processing.

[0218] It should also be noted that, in the embodiment of the present application, the first value is different from the second value, and the first value and the second value can be in parameter form or in digital form. Specifically, the first prediction mode identification information and the second prediction mode identification information can be parameters written in the profile, or can be the value of a flag, which is not specifically limited here. In addition, for the first value and the second value, the first value can be set to 1 and the second value can be set to 0; or, the first value can be set to 0 and the second value can be set to 1; or, the first value can be set to true and the second value can be set to false; or, the first value can be set to false and the second value can be set to true. Among them, in the embodiment of the present application, the first value is set to 0 and the second value is set to 1, but it is not specifically limited.

[0219] Exemplarily, in some embodiments, a 1-bit flag can be used to represent multi-reference prediction identification information, and the multi-reference prediction identification information can be used to determine whether to use the reference list, that is, to determine whether to enable multi-frame prediction. This flag can be placed in the header information of a high-level syntax element, such as an attribute header. This flag is conditionally enabled under certain specific conditions. If this flag does not appear in the bitstream, its default value is a fixed value, such as the first value or the second value.

[0220] Accordingly, in some embodiments, the decoding end needs to decode the flag bit. If the flag bit does not appear in the code stream, it is not decoded. The default value is a fixed value, such as the first value or the second value.

[0221] It should be noted that, in the embodiment of the present application, the flag, i.e., the multi-reference prediction identification information, may mean whether to enable the region-adaptive hierarchical inter-frame prediction transform coding technology for adaptively selecting different prediction frames.

[0222] It should also be noted that, in the embodiment of the present application, before the current RAHT layer performs attribute decoding, the geometric information of the nodes in the current point cloud has been completely decoded.

[0223] In summary, in this embodiment of the present application, through the point cloud decoding method proposed in steps 101 to 109 above, when using the inter-frame prediction transform decoding mode for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through a reference list, and then the reference block of the current block is determined from the reference unit, and the attribute prediction transform value of the current block is determined using the attribute prediction transform value of the reference block. The reference list includes multiple decoded units, that is, during the inter-frame attribute prediction process of the current block, more attribute prediction information can be referenced, thereby improving the prediction effect of the attribute information.

[0224] It can be seen that the decoding method proposed in the embodiment of the present application, by using a reference list including at least one decoded unit, can use more reference units to perform inter-frame attribute prediction on the current RAHT layer, that is, in the process of decoding the regional adaptive hierarchical inter-frame prediction transform, the search range of the prediction frame is expanded, thereby generating more accurate prediction values, improving the prediction effect, and thus improving the compression performance of the point cloud.

[0225] It should be noted that the encoding and decoding method proposed in the embodiment of the present application, based on a preset search strategy, can propose different search methods in the process of searching for a reference block corresponding to the current block to optimize the search accuracy.

[0226] For example, in some embodiments, the solution proposed in the embodiment of the present application is verified under condition 1: lossless geometry, lossy attributes, and Cat3-frame. The verification results are shown in Table 1:

[0227] Table 1

[0228] It can be seen that the point cloud compression solution proposed in the embodiment of the present application can bring about a huge performance improvement, and the highest data set can achieve a performance improvement of 5% in end-to-end attribute rate distortion.

[0229] This embodiment provides a decoding method. At a decoding end, a bitstream is decoded to determine prediction mode identification information corresponding to a current RAHT layer. If the prediction mode identification information indicates that the current RAHT layer uses an inter-prediction transform decoding mode, the bitstream is decoded to determine a reference identification number corresponding to the current RAHT layer. A reference unit corresponding to the current RAHT layer is determined from a reference list based on the reference identification number. The reference list includes K decoded units, where K is an integer greater than or equal to 1. A reference block corresponding to the current block is determined based on geometric information and a reference unit of the current block in the current RAHT layer. An attribute transform value corresponding to the current block is determined based on an attribute prediction transform value of the reference block. In other words, in this embodiment of the present application, when the inter-prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined using the reference list. The reference block for the current block is determined from the reference unit. Because the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during inter-frame attribute prediction for the current RAHT layer. This makes the attribute transform value of the current block determined based on the reference block more accurate, thereby improving the prediction of attribute information and enhancing point cloud compression performance.

[0230] In yet another embodiment of the present application, FIG19 is a schematic diagram of an implementation flow of a point cloud encoding method proposed in an embodiment of the present application. As shown in FIG19 , the method for performing point cloud encoding by an encoder may include the following steps:

[0231] Step 201: Determine prediction mode identification information corresponding to the current RAHT layer based on a rate-distortion optimization algorithm, and write the prediction mode identification information into a bitstream. The prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. If the current RAHT layer uses the inter-prediction transform coding mode, determine a reference unit corresponding to the current RAHT layer in a reference list, determine a reference identification number corresponding to the current RAHT layer based on the reference unit, and write the reference identification number into the bitstream. Determine a reference block corresponding to the current block based on geometric information and the reference unit of the current block in the current RAHT layer. Determine an attribute transform residual value corresponding to the current block based on an attribute predictive transform value of the reference block, and write the attribute transform residual value into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1.

[0232] In an embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer may be determined first, wherein the prediction mode identification information corresponding to the current RAHT layer may be determined according to a rate-distortion optimization algorithm.

[0233] It should be noted that the encoding method of the embodiment of the present application is applied to a point cloud encoder (hereinafter referred to as "encoder"). The method may refer to a point cloud encoding method, specifically a point cloud attribute encoding method.

[0234] It should be noted that in the embodiment of the present application, in the RAHT attribute transformation, the order of the RAHT attribute transformation is to divide the points from the root node in sequence until the voxel level is reached. Specifically, the division is stopped when the unit cube of size 1×1×1 is reached, thereby completing the encoding and reconstruction of the entire point cloud attribute. Here, each layer obtained by downsampling along the Z direction, Y direction, and X direction is a RAHT transformation layer, that is, a layer. Then, when the unit cube of size 1×1×1 is reached, it means that the points have been divided into voxel levels.

[0235] It can be understood that, in the embodiment of the present application, the current RAHT layer may be a RAHT transformation layer corresponding to the current point cloud.

[0236] It should be noted that, in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer can be used to indicate whether the current RAHT layer uses the inter-frame prediction transform coding mode or the intra-frame prediction transform coding mode.

[0237] Furthermore, in an embodiment of the present application, when determining the prediction mode identification information corresponding to the current RAHT layer according to the rate-distortion optimization algorithm, the first-generation value corresponding to the intra-frame prediction transform coding mode and the second-generation value corresponding to the inter-frame prediction transform coding mode can be determined according to the rate-distortion optimization algorithm; and then the prediction mode identification information corresponding to the current RAHT layer is determined based on the first-generation value and the second-generation value.

[0238] It should be noted that in an embodiment of the present application, at the encoding end, the encoder can utilize a rate-distortion optimization algorithm and use two prediction modes (intra-frame prediction transform coding mode and inter-frame prediction transform coding mode) to predict and encode the attribute information of the current RAHT layer. Finally, the rate-distortion optimization algorithm is used to obtain the prediction mode of the current RAHT layer, and then the prediction mode identification information corresponding to the previous RAHT layer can be determined.

[0239] That is to say, in an embodiment of the present application, for each layer of the RAHT transform, the encoding end will first calculate the codewords required for directly using the regional adaptive hierarchical intra-frame prediction transform encoding of the current RAHT layer, and the codewords required for directly using the regional adaptive hierarchical inter-frame prediction transform encoding, and then select the mode with smaller rate distortion, encode the flag bit, that is, encode the prediction mode identification information corresponding to the current RAHT layer.

[0240] Furthermore, in an embodiment of the present application, after determining the first generation value corresponding to the intra-frame prediction transform coding mode and the second generation value corresponding to the inter-frame prediction transform coding mode, the prediction mode identification information corresponding to the current RAHT layer can be determined based on the first generation value and the second generation value.

[0241] Furthermore, in an embodiment of the present application, when determining prediction mode identification information corresponding to the current RAHT layer based on the first and second generation values, if the current RAHT layer is determined to use an intra-frame prediction transform coding mode based on the first and second generation values, the prediction mode identification information is set to a first value; and if the current RAHT layer is determined to use an inter-frame prediction transform coding mode based on the first and second generation values, the prediction mode identification information is set to a second value. Finally, the prediction mode identification information can be written into the bitstream and transmitted to the decoding end.

[0242] Exemplarily, in some embodiments, when determining the prediction mode identification information corresponding to the current RAHT layer based on the first generation value and the second generation value, if the first generation value is greater than or equal to the second generation value, then the prediction mode corresponding to the current point can be determined as the intra-frame prediction transform coding mode, and accordingly, the value of the prediction mode identification information can be set to the first value.

[0243] Exemplarily, in some embodiments, when determining the prediction mode identification information corresponding to the current RAHT layer based on the first generation value and the second generation value, if the first generation value is less than the second generation value, then the prediction mode corresponding to the current point can be determined as the inter-frame prediction transform coding mode, and accordingly, the value of the prediction mode identification information can be set to the second value.

[0244] It should be noted that in an embodiment of the present application, after determining the prediction mode identification information corresponding to the current RAHT layer, the prediction mode identification information corresponding to the current RAHT layer can be further transmitted to the decoding end, so that the decoding end can use the prediction mode identification information obtained by parsing to determine the prediction coding mode corresponding to the current RAHT layer, and use the corresponding prediction coding mode to reconstruct and restore the attribute information of the current RAHT layer.

[0245] It should be noted that, in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer may be a syntax element corresponding to the attribute header information.

[0246] For example, in some embodiments, the prediction mode identification information can be placed in a vector array in the attribute header. Each RAHT layer corresponds to a prediction mode identification information. For example, if the current point cloud corresponds to 10 RAHT layers, then the vector needs to include 10 prediction mode identification information.

[0247] For example, in some embodiments, the prediction mode identification information may be determined by an attribute header corresponding to a slice, or may be determined by an attribute header corresponding to a frame, which is not specifically limited in this application.

[0248] It can be understood that in the embodiment of the present application, the current RAHT layer can be any RAHT transformation layer corresponding to the current point cloud. Accordingly, the prediction mode of the current RAHT layer can be determined through the prediction mode identification information corresponding to the current RAHT layer.

[0249] It should be noted that, in an embodiment of the present application, when determining the prediction mode corresponding to the current RAHT layer based on the prediction mode identification information, the value of the current prediction mode identification information can be determined first, and then the prediction mode corresponding to the current RAHT layer can be further determined based on the value of the prediction mode identification.

[0250] It should also be noted that, in the embodiment of the present application, the first value is different from the second value, and the first value and the second value can be in parameter form or in digital form. Specifically, the first prediction mode identification information and the second prediction mode identification information can be parameters written in the profile, or can be the value of a flag, which is not specifically limited here. In addition, for the first value and the second value, the first value can be set to 1 and the second value can be set to 0; or, the first value can be set to 0 and the second value can be set to 1; or, the first value can be set to true and the second value can be set to false; or, the first value can be set to false and the second value can be set to true. Among them, in the embodiment of the present application, the first value is set to 1 and the second value is set to 0, but it is not specifically limited.

[0251] Furthermore, in an embodiment of the present application, when the current RAHT layer uses the inter-frame prediction transform coding mode, the reference unit corresponding to the current RAHT layer can be determined in the reference list, and the reference identification number corresponding to the current RAHT layer can be determined based on the reference unit, and the reference identification number is written into the code stream.

[0252] It should be noted that, in the embodiment of the present application, the reference list may include K coded units, where K is an integer greater than or equal to 1;

[0253] It is understood that in the embodiments of the present application, the coded unit may include at least any one of a coded frame, a block corresponding to the coded frame, and a slice corresponding to the coded frame. Accordingly, the K coded units include at least: K coded frames corresponding to the current frame, or K blocks corresponding to the K coded frames, or K slices corresponding to the K coded frames.

[0254] Exemplarily, in some embodiments, the reference list may include K frame point cloud sequences encoded before the current frame, that is, the reference list includes K encoded frames corresponding to the current frame.

[0255] Exemplarily, in some embodiments, the reference list may include K blocks in the K-frame point cloud sequence encoded before the current frame, corresponding to the block where the current block is located, that is, the reference list includes K blocks corresponding to the K encoded frames corresponding to the current frame.

[0256] Exemplarily, in some embodiments, the reference list may include K slices corresponding to the block where the current block is located in the K-frame point cloud sequence encoded before the current frame, that is, the reference list includes K slices corresponding to the K encoded frames corresponding to the current frame.

[0257] Furthermore, in an embodiment of the present application, the K coded units include at least N coded frames corresponding to the current frame and a fused frame generated based on the N coded frames, or N blocks corresponding to the N coded frames and a fused block generated based on the N blocks, or N slices corresponding to the N coded frames and a fused slice generated based on the N slices; wherein N is greater than 0 and less than or equal to K.

[0258] That is to say, in an embodiment of the present application, the K frames / slices / blocks in the reference list are not limited to the first K frames / slices / blocks corresponding to the current frame, but can also include the first N frames / slices / blocks corresponding to the current frame and fused frames / slices / blocks generated based on the first N frames / slices / blocks.

[0259] It should be noted that in an embodiment of the present application, based on the first N encoded frames / slices / blocks, one of the frames / slices / blocks is selected, and the nearest point is selected from the other N-1 frames / slices / blocks other than the one frame / slice / block, and the geometric value and attribute value are averaged to obtain a new fused frame / slice / block. The selection of the nearest point can include at least one of the nearest point under the spatial Morton code distance, the nearest point under the spatial Hilbert code distance, and the nearest point under the spatial Manhattan distance.

[0260] For example, in some embodiments, assume that the first three coded units corresponding to the current RAHT layer are A0, A1, and A2, respectively, where A0 represents the 0th frame / slice / block, A1 represents the 1st frame / slice / block, and A2 represents the 2nd frame / slice / block. One implementation of the reference list corresponding to the current RAHT layer may include the three coded units A0, A1, and A2. Another implementation of the reference list corresponding to the current RAHT layer may include the two coded units A0 and A, where A is a new fused frame / slice / block generated by fusing A1 and A2.

[0261] Furthermore, in an embodiment of the present application, the K coded units include at least a fused frame generated by N coded frames corresponding to the current frame, or a fused block generated by N blocks corresponding to N coded frames, or a fused slice generated by N slices corresponding to N coded frames; wherein N is greater than 0 and less than or equal to K.

[0262] It should be noted that in an embodiment of the present application, when a fused frame / slice / block is generated based on N frames / slices / blocks, a fused frame / slice / block can be determined based on the geometric information and / or attribute information of the N frames / slices / blocks.

[0263] It can be understood that in an embodiment of the present application, based on the first N frames / slices / blocks that have been encoded, one frame / slice / block is selected, and the geometric information of the frame / slice / block is retained as the geometric information of the new fused frame / slice / block. At the same time, the attribute information of the new fused frame / slice / block can be determined based on the attribute information of the first N frames / slices / blocks.

[0264] It can be understood that in an embodiment of the present application, based on the first N frames / slices / blocks that have been encoded, one frame / slice / block is selected, and the attribute information of the one frame / slice / block is retained as the attribute information of the new fused frame / slice / block. At the same time, the geometric information of the new fused frame / slice / block can be determined based on the geometric information of the first N frames / slices / blocks.

[0265] It can be understood that in an embodiment of the present application, based on the first N encoded frames / slices / blocks, the geometric information of the new fused frame / slice / block can be determined according to the geometric information of the first N frames / slices / blocks, and the attribute information of the new fused frame / slice / block can be determined according to the attribute information of the first N frames / slices / blocks.

[0266] It can be understood that in the embodiment of the present application, when K is greater than 1, the frames, blocks, and slices referenced when performing inter-frame attribute prediction on the transform block in the current RAHT layer are no longer limited to the previous frame of the current frame, but can include a wider range of selections of other encoded frames.

[0267] It should be noted that, in the embodiment of the present application, the number K of coded units may be determined according to a preset threshold.

[0268] That is to say, in the embodiment of the present application, the number K of the surface coded units in the reference list is not infinite, but the number K of the coded units can be limited by a preset threshold.

[0269] Exemplarily, in some embodiments, for the number K of surface coded units in the reference list, if it reaches a certain threshold, such as a preset threshold, the first one put in can be discarded and the next one can be added to maintain a range that does not exceed the preset threshold.

[0270] For example, in some embodiments, if the number K of surface coded units in the reference list reaches a certain threshold, such as a preset threshold, the reference list can be directly reset to 0 and then accumulated.

[0271] Furthermore, in an embodiment of the present application, the reference list may correspond to the current RAHT layer, and the reference list may be constructed while performing prediction processing of the attribute information of the current RAHT layer.

[0272] It should be noted that in the embodiments of the present application, the arrangement order and traversal order of the coded units in the reference list are not specifically limited. That is, in the process of performing attribute prediction on the current RAHT layer, the coded units in the constructed reference list can refer to the division order of the RAHT layer, or can be any other order.

[0273] Furthermore, in an embodiment of the present application, when the current RAHT layer uses the inter-frame prediction transform coding mode, the reference number corresponding to the current RAHT layer can also be determined, and the reference number is written into the bitstream and transmitted to the decoding end.

[0274] It should be noted that, in the embodiment of the present application, the reference serial number can be used to determine the serial number of the coded unit in the reference list corresponding to the current RAHT layer.

[0275] It can be understood that in the embodiment of the present application, since the order of the encoded units in the reference list is not limited, the corresponding reference serial number can be used to determine the serial number of the encoded unit in the reference list.

[0276] It should be noted that, in the embodiments of the present application, the sequence number of the encoded unit may represent the absolute encoding order or the relative encoding order of the encoded unit.

[0277] For example, in some embodiments, assuming that the coded unit is a coded frame, the sequence number of the coded unit may be the absolute sequence of the coded frame, or the relative sequence between the coded frame and the current frame.

[0278] That is to say, in the embodiment of the present application, the reference frame list is used to store the display order of the reference frames (i.e., the absolute order), that is, the absolute value of the display order is directly put in; the second is to store the relative order of the reference frames, that is, the difference in display order between the reference frame and the current frame is put in.

[0279] Furthermore, in an embodiment of the present application, when the current coding unit uses an inter-frame prediction transform coding mode, the reference number corresponding to the coding unit is determined, and the reference number is written into the bitstream; wherein the current coding unit includes the current RAHT layer, or the current frame, or the slice in the current frame, or the block in the current frame.

[0280] That is, in the embodiments of the present application, the coding of the sequence number of the coded unit in the reference list may not only be the current RAHT layer coding, but also the current frame, or the slice in the current frame, or the block in the current frame. This application makes specific restrictions.

[0281] Furthermore, in an embodiment of the present application, when determining the reference unit corresponding to the current RAHT layer in the reference list, for any transform block in the current RAHT layer and the first coded unit in the reference list, a search process can be performed on the arbitrary transform block in the first coded unit according to a preset search strategy to determine a first cost corresponding to the first coded unit; the K coded units in the reference list are traversed to obtain K costs corresponding to the K coded units; finally, the reference unit corresponding to the current RAHT layer can be determined in the reference list based on the rate-distortion optimization algorithm and the K costs.

[0282] It should be noted that in the embodiment of the present application, for each layer of the RAHT transform, if the regional adaptive hierarchical inter-frame prediction transform coding is selected, it is necessary to use the rate-distortion method to select a frame / block / slice with the smallest rate distortion in the inter-frame prediction coding layer from the reference list as the reference unit.

[0283] It can be understood that in the embodiment of the present application, the first cost corresponding to the first coded unit can be the sum of the cost values ​​obtained after performing search processing on all transform blocks in the current RAHT layer in the first coded unit, that is, the first cost is the cost corresponding to the current RAHT layer.

[0284] That is, in the embodiment of the present application, for each coded unit in the reference list, a sum of cost values ​​corresponding to all transform blocks of the current RAHT layer can be determined, that is, K costs corresponding to K coded units are determined. Finally, based on the K costs, the reference unit corresponding to the current RAHT layer can be determined in the reference list.

[0285] Furthermore, in an embodiment of the present application, when determining a reference identification number corresponding to a current RAHT layer based on a reference unit, when the reference unit is the i-th coded unit in a reference list, a value of the reference identification number is set to i; where i is an integer less than or equal to K.

[0286] It is understood that in the embodiment of the present application, the reference identification number corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer, wherein the reference identification number can determine the order and position of the corresponding reference unit in the reference list.

[0287] Furthermore, in an embodiment of the present application, when determining a reference identification number corresponding to a current RAHT layer based on a reference unit, when the reference unit is the i-th coded unit before the current frame in a reference list, the value of the reference identification number is set to i; where i is an integer less than or equal to K.

[0288] It is understood that in the embodiments of the present application, the reference identification number corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The reference identification number can determine the relationship between the reference unit corresponding to the current RAHT layer in the reference list and the current frame.

[0289] It should be noted that, in the embodiment of the present application, after the reference identification number corresponding to the current RAHT layer is determined, the reference identification number can be written into the code stream and transmitted to the decoding end.

[0290] It should be noted that, in the embodiment of the present application, the reference identification number can be used to determine the encoded reference unit corresponding to the current RAHT layer.

[0291] Furthermore, in an embodiment of the present application, after determining the reference unit corresponding to the current RAHT layer in the reference list, the reference block corresponding to the current block can be further determined based on the geometric information and reference unit of the current block in the current RAHT layer; and the attribute transformation residual value corresponding to the current block is determined based on the attribute prediction transformation value of the reference block.

[0292] It should be noted that in an embodiment of the present application, if it is determined based on the prediction mode identification information that the current RAHT layer uses the inter-frame prediction transform coding mode, then the reference block corresponding to the current block can be further determined based on the geometric information corresponding to the current block to be encoded in the current RAHT layer and the reference unit corresponding to the current RAHT layer.

[0293] It can be understood that, in the embodiment of the present application, the current block may be a transform block to be encoded in the current RAHT layer.

[0294] Furthermore, in an embodiment of the present application, when determining a reference block corresponding to the current block based on the geometric information of the current block and the reference unit in the current RAHT layer, the reference block can be determined in the reference unit according to a preset search strategy based on the geometric information of the current block.

[0295] It should be noted that, in the embodiment of the present application, the geometric information includes at least any one of the following information: spatial Morton code information, spatial Hilbert code information, spatial coordinate information, spherical coordinate information, and polar coordinate information.

[0296] It should be noted that, in the embodiment of the present application, a preset search strategy may be used to search and determine an inter-frame reference transform block, wherein the preset search strategy may include any transform block search method.

[0297] It can be understood that, in the embodiment of the present application, when determining the reference block, the reference unit corresponding to the current RAHT layer can be searched according to a preset search strategy.

[0298] Furthermore, in an embodiment of the present application, when determining a reference block in a reference unit according to a preset search strategy based on the geometric information of the current block, first position information can be first determined based on the geometric information of the current block; and then the reference block can be determined in the reference unit according to the preset search strategy based on the first position information.

[0299] It should be noted that, in an embodiment of the present application, the first position information may at least include: geometric information of the current block, and / or geometric information of the parent block of the current block corresponding to the current block, and / or placeholder information of the current block, and / or placeholder information of the parent block of the current block.

[0300] That is to say, in an embodiment of the present application, when determining a reference block, a search process can be performed in combination with one or more of the geometric information of the current block, the geometric information of the parent block of the current block, the placeholder information of the current block, and the placeholder information of the parent block of the current block.

[0301] It should be noted that, in the embodiments of the present application, the preset search strategy at least includes: searching the reference unit for a transform block having the same geometric information as the current block, and determining the transform block as the reference block; and / or searching the reference unit for a parent transform block having the same geometric information as the parent block of the current block, and determining the parent transform block as the reference block; and / or searching the reference unit for a transform block having the same geometric information as the current block and satisfying a first correlation condition with the placeholder information of the current block, and determining the transform block as the reference block; and / or searching the reference unit for a parent transform block having the same geometric information as the current block and satisfying a first correlation condition with the placeholder information of the current block, and determining the transform block as the reference block; The method further comprises searching a parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the placeholder information of the corresponding parent transform block and the parent block of the current block, and determining the transform block as the reference block; and / or searching a reference unit for a transform block having the same geometric information as the parent block of the current block and satisfying a first correlation condition between the placeholder information of the current block and the parent transform block, and determining the transform block as the reference block; and / or searching a reference unit for a parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the placeholder information of the parent block of the current block and the parent transform block, and determining the parent transform block as the reference.

[0302] It should be noted that, in an embodiment of the present application, the first correlation condition includes: the absolute value of the difference between the occupancy information of the current block and the occupancy information of the transformed block is less than or equal to a first threshold; wherein the first threshold is greater than or equal to 0 and less than or equal to 8.

[0303] It should be noted that, in an embodiment of the present application, the second correlation condition includes: the absolute value of the difference between the placeholder information of the parent block of the current block and the placeholder information of the parent transformation block is less than or equal to the second threshold; wherein the second threshold is greater than or equal to 0 and less than or equal to 8.

[0304] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position (geometric information) in the reference frame / block / slice (encoded unit) is the same as the geometric position of the current transform block (current block) can be selected as the corresponding reference block.

[0305] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block (the parent block of the current block) can be selected as the corresponding reference block.

[0306] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position in the reference frame / block / slice is the same as the geometric position of the current transform block, and whose occupancy information in the reference frame / block / slice differs from the occupancy information of the current transform block by less than or equal to J (a first threshold) (J is 0-8) can be selected as the corresponding reference block.

[0307] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position in the reference frame / block / slice is the same as the geometric position of the current transform block, and a transform block (Q is 0-8) whose occupancy information of the parent transform block in the reference frame / block / slice and the occupancy information of the parent transform block of the current transform block differ by less than or equal to Q (the second threshold) can be selected as the corresponding reference block.

[0308] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block, and whose placeholder information in the reference frame / block / slice has a difference of less than or equal to J (J is 0-8) with the placeholder information of the current transform block, can be selected as the corresponding reference block.

[0309] Exemplarily, in some embodiments, when searching for a reference block based on a preset search strategy, a transform block whose geometric position of the parent transform block in the reference frame / block / slice is the same as the geometric position of the parent transform block of the current transform block and whose occupancy information of the parent transform block in the reference frame / block / slice differs from the occupancy information of the parent transform block of the current transform block by less than or equal to Q (a second threshold) (Q is 0-8) can be selected as the corresponding reference block.

[0310] It should be noted that, in the embodiments of the present application, when determining the reference block, based on a preset search strategy, one search method may be used to search the reference units in the reference list, or a combination of multiple search methods may be used to search the reference units in the reference list. This application does not specifically limit this.

[0311] Furthermore, in an embodiment of the present application, after determining the reference block corresponding to the current block based on the geometric information and reference unit of the current block in the current RAHT layer, the attribute transformation residual value corresponding to the current block can be further determined based on the attribute prediction transformation value of the reference block.

[0312] Furthermore, in an embodiment of the present application, when determining the attribute transformation residual value corresponding to the current block based on the attribute prediction transformation value of the reference block, the attribute prediction transformation value of the current block can be first determined based on the attribute prediction transformation value of the reference block; then, the attribute transformation residual value corresponding to the current block can be determined based on the attribute prediction transformation value of the reference block, and the attribute transformation residual value can be written into the bitstream.

[0313] It should be noted that, in the embodiment of the present application, the attribute transformation residual value of the current block can be determined by the difference between the attribute transformation value of the current block and the attribute prediction transformation value of the current block.

[0314] Furthermore, in an embodiment of the present application, when there is no reference block in the reference unit, the adjacent transform block corresponding to the current block is determined; then, the attribute prediction transform value of the current block is determined based on the attribute transform value of the adjacent transform block; finally, the attribute transform value corresponding to the current block can be determined based on the attribute transform residual value and the attribute prediction transform value of the current block.

[0315] It should be noted that in the embodiments of the present application, if a reference block does not exist in the reference unit, that is, after searching the reference unit in the reference list according to the preset search strategy, no reference block corresponding to the current block is found, it can be determined that the inter-frame prediction transform block of the current block is invalid, and it is necessary to use the attribute prediction transform value of the adjacent transform block in the intra frame to determine the attribute prediction transform value of the current block. For example, the attribute prediction transform value of the adjacent transform block is determined as the attribute prediction transform value of the current block.

[0316] Furthermore, in an embodiment of the present application, when the current RAHT layer uses an intra-frame prediction transform coding mode, an adjacent transform block corresponding to the current block is determined; then, the attribute prediction transform value of the current block is determined based on the attribute prediction transform value of the adjacent transform block; finally, an attribute transformation residual value can be determined based on the attribute transformation value corresponding to the current block and the attribute prediction transform value of the current block, and the attribute transformation residual value is written into the bitstream.

[0317] It can be understood that in an embodiment of the present application, if the current RAHT layer uses the intra-frame prediction transform coding mode, the adjacent transform block corresponding to the current block can be determined first, and then the attribute prediction transform value of the current block can be determined based on the attribute prediction transform value of the adjacent transform block. Finally, the attribute transform residual value can be determined based on the attribute transform value corresponding to the current block and the attribute prediction transform value of the current block.

[0318] It should be noted that, in the embodiment of the present application, if the current RAHT layer uses the intra-frame prediction transform coding mode, then for any transform block in the current RAHT layer, the intra-prediction transform coding mode can be used to determine the corresponding attribute transform value.

[0319] Furthermore, in an embodiment of the present application, when the current RAHT layer uses the intra-frame prediction transform coding mode, prediction mode identification information corresponding to the current RAHT layer may be set, and the prediction mode identification information may be written into the bitstream.

[0320] Furthermore, in an embodiment of the present application, when the current RAHT layer uses the inter-frame prediction transform coding mode, after determining the reference unit corresponding to the current RAHT layer in the reference list, prediction mode identification information corresponding to the current RAHT layer can also be determined based on the reference unit, and the prediction mode identification information is written into the bitstream; then, based on the geometric information and reference unit of the current block in the current RAHT layer, the reference block corresponding to the current block is determined; finally, based on the attribute prediction transform value of the reference block, the attribute transform residual value corresponding to the current block is determined, and the attribute transform residual value is written into the bitstream.

[0321] It should be noted that, in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer may also be determined based on the reference units in the reference list.

[0322] That is, in an embodiment of the present application, the encoded reference unit corresponding to the current RAHT layer can determine the reference identification number corresponding to the current RAHT layer, or the encoded reference unit corresponding to the current RAHT layer can be directly used to set the prediction mode identification information corresponding to the current RAHT layer. In this case, there is no need to determine and transmit the reference identification number.

[0323] Furthermore, in an embodiment of the present application, when it is determined that the current RAHT layer uses the intra-frame prediction transform coding mode, the value of the prediction mode identification information is set to a first value; when it is determined that the current RAHT layer uses the inter-frame prediction transform coding mode, the value of the prediction mode identification information is set according to the reference unit.

[0324] That is to say, in an embodiment of the present application, when the value of the prediction mode identification information is not the first value, on the one hand, it can be determined that the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform coding mode, that is, the prediction mode corresponding to the current RAHT layer is the inter-frame prediction transform coding mode. On the other hand, the reference unit corresponding to the current RAHT layer can also be determined in the reference list based on the prediction mode identification information.

[0325] Further, in an embodiment of the present application, when setting the value of the prediction mode identification information according to the reference unit, when the reference unit is the j-th encoded unit in the reference list, the value of the prediction mode identification information is set to j; wherein j is different from the first value, and j is an integer less than or equal to K.

[0326] It is understood that in the embodiment of the present application, the prediction mode identification information corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The prediction mode identification information can determine the order and position of the corresponding reference unit in the reference list.

[0327] Further, in an embodiment of the present application, when setting the value of the prediction mode identification information according to the reference unit, when the reference unit is the j-th encoded unit before the current frame in the reference list, the value of the prediction mode identification information is set to j; wherein j is different from the first value, and j is an integer less than or equal to K.

[0328] It is understood that in the embodiment of the present application, the prediction mode identification signal corresponding to the current RAHT layer can be used to determine the reference unit corresponding to the current RAHT layer. The prediction mode identification signal can determine the relationship between the reference unit corresponding to the current RAHT layer in the reference list and the current frame.

[0329] Furthermore, in the embodiment of the present application, multi-reference prediction identification information may be determined, and the multi-reference prediction identification information may be written into the bitstream and transmitted to the decoding end.

[0330] It should be noted that, in an embodiment of the present application, when the multi-reference prediction identification information indicates that the current RAHT layer uses a multi-reference prediction mode and the current RAHT layer uses an inter-frame prediction transform coding mode, the reference block can be determined through a reference list.

[0331] Accordingly, in an embodiment of the present application, after determining the multi-reference prediction identification information, when the multi-reference prediction identification information indicates that the current RAHT layer does not use the multi-reference prediction mode and the current RAHT layer uses the inter-frame prediction transform coding mode, the reference block is no longer determined through the reference list, but the reference block corresponding to the current block is determined in the previous coded frame of the current frame; then, the attribute transform value corresponding to the current block is determined according to the attribute prediction transform value of the reference block.

[0332] It should be noted that, in the embodiment of the present application, the multi-reference prediction identification information is used to determine whether to use multiple coded units for inter-frame prediction. The multi-reference prediction identification information can be determined by the encoder and transmitted to the decoder via the bitstream.

[0333] It should be noted that in an embodiment of the present application, when determining the multi-reference prediction identification information, it is possible to first determine whether to use the reference list for inter-frame prediction processing, determine the reference block, and then set the value of the multi-reference prediction identification information based on the determination result.

[0334] Exemplarily, in some embodiments, when it is determined that a reference list is used for inter-frame prediction processing, the value of the multi-reference prediction identification information is set to a first value; when it is determined that a reference list is not used for inter-frame prediction processing, the value of the multi-reference prediction identification information is set to a second value.

[0335] It should also be noted that, in the embodiment of the present application, the first value is different from the second value, and the first value and the second value can be in parameter form or in digital form. Specifically, the first prediction mode identification information and the second prediction mode identification information can be parameters written in the profile, or can be the value of a flag, which is not specifically limited here. In addition, for the first value and the second value, the first value can be set to 1 and the second value can be set to 0; or, the first value can be set to 0 and the second value can be set to 1; or, the first value can be set to true and the second value can be set to false; or, the first value can be set to false and the second value can be set to true. Among them, in the embodiment of the present application, the first value is set to 0 and the second value is set to 1, but it is not specifically limited.

[0336] Exemplarily, in some embodiments, a 1-bit flag can be used to represent multi-reference prediction identification information, and the multi-reference prediction identification information can be used to determine whether to use the reference list, that is, to determine whether to enable multi-frame prediction. This flag can be placed in the header information of a high-level syntax element, such as an attribute header. This flag is conditionally enabled under certain specific conditions. If this flag does not appear in the bitstream, its default value is a fixed value, such as the first value or the second value.

[0337] Accordingly, in some embodiments, the decoding end needs to decode the flag bit. If the flag bit does not appear in the code stream, it is not decoded. The default value is a fixed value, such as the first value or the second value.

[0338] It should be noted that, in the embodiment of the present application, the flag, i.e., the multi-reference prediction identification information, may mean whether to enable the region-adaptive hierarchical inter-frame prediction transform coding technology for adaptively selecting different prediction frames.

[0339] It should also be noted that, in the embodiment of the present application, before the current RAHT layer performs attribute encoding, the geometric information of the nodes in the current point cloud has been fully encoded.

[0340] In summary, in this embodiment of the present application, through the point cloud coding method proposed in step 201 above, when using the inter-frame prediction transform coding mode for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through a reference list, and then the reference block of the current block is determined in the reference unit, and the attribute prediction transform value of the current block is determined using the attribute prediction transform value of the reference block. The reference list includes multiple coded units, that is, during the inter-frame attribute prediction process of the current block, more attribute prediction information can be referenced, thereby improving the prediction effect of the attribute information.

[0341] It can be seen that the encoding method proposed in the embodiment of the present application, by using a reference list including at least one coded unit, can use more reference units to perform inter-frame attribute prediction on the current RAHT layer, that is, in the process of regional adaptive hierarchical inter-frame prediction transform coding, the search range of the prediction frame is expanded, thereby generating more accurate prediction values, improving the prediction effect, and thus improving the compression performance of the point cloud.

[0342] It should be noted that the encoding method proposed in the embodiment of the present application, based on a preset search strategy, can propose different search methods in the process of searching for a reference block corresponding to the current block to optimize the search accuracy.

[0343] For example, in some embodiments, the solution proposed in the embodiment of the present application is verified under condition 1: lossless geometric position, lossy attributes, and Cat3-frame, and the verification results shown in Table 1 can be obtained.

[0344] It can be seen that the point cloud compression solution proposed in the embodiment of the present application can bring about a huge performance improvement, and the highest data set can achieve a performance improvement of 5% in end-to-end attribute rate distortion.

[0345] This embodiment provides a coding method. At an encoding end, prediction mode identification information corresponding to a current RAHT layer is determined based on a rate-distortion optimization algorithm, and the prediction mode identification information is written into a bitstream. The prediction mode identification information indicates whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance.

[0346] Based on the above embodiments, in another embodiment of the present application, considering that conventional techniques for performing region-adaptive hierarchical inter-frame prediction transform coding only reference point cloud sequence frames to the frame immediately preceding the current frame, the reference range is limited, and therefore performance is limited, the present embodiment proposes a point cloud encoding and decoding method that uses multi-frame prediction technology to expand the reference range, thereby improving prediction performance.

[0347] For example, in some embodiments, a 1-bit flag (multi-reference prediction identification information) can be used to indicate whether it is enabled or not. This flag is placed in the header information of a high-level syntax element, such as an attribute header. This flag is conditionally enabled under certain conditions. If this flag does not appear in the bitstream, its default value is a fixed value.

[0348] Similarly, the decoder needs to decode this flag. If this flag does not appear in the bitstream, decoding is not performed. The default value is a fixed value. The meaning of this flag can be whether to enable multi-frame prediction technology.

[0349] Exemplarily, in some embodiments, at the encoding end, a reference list can be first constructed; for a point cloud sequence, the reference list stores the K-frame point cloud sequence encoded before the current encoding frame (current frame), or the reference list stores the K blocks or K slices corresponding to the K-frame point cloud sequence encoded before the block where the current encoding transformation block (current block) of the current encoding frame is located.

[0350] It should be noted that, in the embodiment of the present application, for each transform block in each layer of the RAHT transform (each layer may have many transform blocks), when regional adaptive hierarchical inter-frame prediction transform coding is adopted, a rate-distortion optimization method can be used to determine a corresponding reference unit in the reference list, that is, the reference frame / block / slice of the current point cloud can only be the S1th frame / block / slice or the S1th frame / block / slice in the reference list. K Frame / block / slice.

[0351] For example, in some embodiments, a reference block may be searched and determined in each frame / block / slice in the reference list according to a preset search strategy. After repeating K times, a corresponding reference unit is selected using a rate-distortion optimization method. The preset search strategy may include one or more of the following search methods:

[0352] 1. Find a transform block in the reference frame / block / slice whose geometric position (geometric information) is the same as the geometric position of the current transform block;

[0353] 2. Find a transform block in the reference frame / block / slice whose parent transform block has the same geometric position as the parent transform block of the current transform block;

[0354] 3. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the current transform block and whose placeholder information difference between the reference frame / block / slice and the current transform block is less than or equal to J (J is 0-8);

[0355] 4. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the current transform block and whose placeholder information difference between the parent transform block in the reference frame / block / slice and the parent transform block of the current transform block is less than or equal to J (J is 0-8);

[0356] 5. Find a transform block whose parent transform block in the reference frame / block / slice has the same geometric position as the parent transform block of the current transform block and whose placeholder information difference between the reference frame / block / slice and the placeholder information of the current transform block is less than or equal to J (J is 0-8);

[0357] 6. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the parent transform block of the current transform block, and whose placeholder information difference between the parent transform block in the reference frame / block / slice and the placeholder information of the parent transform block of the current transform block is less than or equal to J (J is 0-8).

[0358] Exemplarily, in some embodiments, if no inter-frame prediction transform block is found, the inter-frame prediction transform block of the current transform block is invalid, and the attribute prediction transform value of the intra-frame adjacent transform block is used as the attribute prediction transform value of the transform block to be encoded.

[0359] Exemplarily, in some embodiments, if an inter-frame prediction transform block can be found, the attribute transform value of the inter-frame prediction transform block is used as the attribute prediction transform value of the current transform block.

[0360] It should be noted that in the embodiment of the present application, for each layer of the RAHT transform, the encoding end will first calculate the codeword required for directly using the regional adaptive hierarchical intra-frame prediction transform encoding of the current RAHT layer, and the codeword required for directly using the regional adaptive hierarchical inter-frame prediction transform encoding, select the mode with smaller rate distortion, and encode the flag bit (prediction mode identification information corresponding to the current RAHT layer).

[0361] Accordingly, in the embodiment of the present application, if the region adaptive hierarchical inter-frame prediction transform coding is selected, the rate-distortion method can be continued to be used to select the Sth layer with the smallest rate-distortion in the inter-frame prediction coding layer. i Frame / block / slice is used as a reference frame / block / slice, and the sequence number (reference identification number) of the reference frame / block / slice is encoded, and the Sth frame / block / slice is selected. i The inter-frame prediction value (region-adaptive hierarchical inter-frame transform coding value) of the frame / block / slice as the reference frame / block / slice.

[0362] It should be noted that in the embodiment of the present application, at the encoding end, a residual value of the attribute transformation value (attribute transformation residual value) can be calculated and written into the bitstream. The attribute transformation residual value can be the difference between the attribute transformation value and the attribute prediction transformation value.

[0363] Exemplarily, in some embodiments, at the decoding end, a reference list can be constructed first; for a point cloud sequence, the reference list stores the K-frame point cloud sequence encoded before the current coding frame (current frame), or the reference list stores the K blocks or K slices corresponding to the K-frame point cloud sequence encoded before the block where the current coding transformation block (current block) of the current coding frame is located.

[0364] It should be noted that in the embodiment of the present application, for each layer of the RAHT transform, the decoding end can decode the flag (prediction mode identification information corresponding to the current RAHT layer) to obtain the corresponding mode mode, which is the mode selected for decoding the current RAHT layer.

[0365] It should be noted that, in the embodiment of the present application, the attribute transformation residual value is decoded.

[0366] Exemplarily, in some embodiments, if the mode selected by the current RAHT layer is regional adaptive hierarchical intra-frame prediction transform decoding (intra-frame prediction transform decoding mode), the decoding end adopts regional adaptive hierarchical intra-frame prediction transform decoding, that is, all transform blocks in this layer of the current RAHT transform adopt regional adaptive hierarchical intra-frame prediction transform decoding.

[0367] Exemplarily, in some embodiments, if the mode selected by the current RAHT layer is region-adaptive hierarchical inter-frame prediction transform decoding (inter-frame prediction transform decoding mode), the decoding end adopts region-adaptive hierarchical inter-frame prediction transform decoding, that is, all transform blocks in this layer of the current RAHT transform adopt region-adaptive hierarchical inter-frame prediction transform decoding.

[0368] For example, in some embodiments, if the current RAHT layer adopts regional adaptive hierarchical inter-frame prediction transform decoding, the frame / block / slice sequence number (reference identification number) is continuously decoded to obtain the frame / block / slice sequence number, that is, the Sth i The frame / block / slice is used as the prediction frame of the current frame, i.e. the reference unit.

[0369] For each block in the current RAHT layer, the geometric information of the current transform block to be coded (current block) can be used in the S i Search for inter-frame prediction transform blocks (reference blocks) in frames / blocks / slices (reference units).

[0370] For example, in some embodiments, the reference block may be searched and determined according to a preset search strategy, wherein the preset search strategy may include one or more of the following search methods:

[0371] 1. Find a transform block in the reference frame / block / slice whose geometric position (geometric information) is the same as the geometric position of the current transform block;

[0372] 2. Find a transform block in the reference frame / block / slice whose parent transform block has the same geometric position as the parent transform block of the current transform block;

[0373] 3. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the current transform block and whose placeholder information difference between the reference frame / block / slice and the current transform block is less than or equal to J (J is 0-8);

[0374] 4. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the current transform block and whose placeholder information difference between the parent transform block in the reference frame / block / slice and the parent transform block of the current transform block is less than or equal to J (J is 0-8);

[0375] 5. Find a transform block whose parent transform block in the reference frame / block / slice has the same geometric position as the parent transform block of the current transform block and whose placeholder information difference between the reference frame / block / slice and the placeholder information of the current transform block is less than or equal to J (J is 0-8);

[0376] 6. Find a transform block whose geometric position in the reference frame / block / slice is the same as that of the parent transform block of the current transform block, and whose placeholder information difference between the parent transform block in the reference frame / block / slice and the placeholder information of the parent transform block of the current transform block is less than or equal to J (J is 0-8).

[0377] Exemplarily, in some embodiments, if no inter-frame prediction transform block is found, the inter-frame prediction transform block of the current transform block is invalid, and the attribute prediction transform value of the intra-frame adjacent transform block is used as the attribute prediction transform value of the transform block to be encoded.

[0378] Exemplarily, in some embodiments, if an inter-frame prediction transform block can be found, the attribute transform value of the inter-frame prediction transform block is used as the attribute prediction transform value of the current transform block.

[0379] It should be noted that, in the embodiment of the present application, at the decoding end, the attribute transformation value may be the sum of the attribute transformation residual value and the attribute prediction transformation value.

[0380] Exemplarily, in some embodiments, Figure 21 is a schematic diagram of the point cloud encoding and decoding proposed in an embodiment of the present application. As shown in Figure 21, based on the construction and use of the reference list, when predicting the attribute information of the current frame, the K reference frames 1-K can be used, that is, the K point cloud frames in the reference list that have been encoded and decoded can be used.

[0381] It can be seen that the encoding method proposed in the embodiment of the present application, through the use of a reference list including at least one encoded unit, can use more reference frames to perform inter-frame attribute prediction on the current frame, that is, in the process of regional adaptive hierarchical inter-frame prediction transform encoding, the search range of the prediction frame is expanded, thereby generating more accurate prediction values, improving the prediction effect, and thereby improving the compression performance of the point cloud.

[0382] It should be noted that the encoding method proposed in the embodiment of the present application, based on a preset search strategy, can propose different search methods in the process of searching for a reference block corresponding to the current block to optimize the search accuracy.

[0383] For example, in some embodiments, the solution proposed in the embodiment of the present application is verified under condition 1: lossless geometric position, lossy attributes, and Cat3-frame, and the verification results shown in Table 1 can be obtained.

[0384] It can be seen that the point cloud compression solution proposed in the embodiment of the present application can bring about a huge performance improvement, and the highest data set can achieve a performance improvement of 5% in end-to-end attribute rate distortion.

[0385] This embodiment provides a coding and decoding method. At a decoding end, a bitstream is decoded to determine prediction mode identification information corresponding to a current RAHT layer. When the prediction mode identification information indicates that the current RAHT layer uses an inter-frame prediction transform decoding mode, the bitstream is decoded to determine a reference identification number corresponding to the current RAHT layer. A reference unit corresponding to the current RAHT layer is determined in a reference list based on the reference identification number. The reference list includes K decoded units, where K is an integer greater than or equal to 1. A reference block corresponding to the current block is determined based on geometric information and a reference unit of the current block in the current RAHT layer. An attribute transform value corresponding to the current block is determined based on an attribute prediction transform value of the reference block. At the encoding end, prediction mode identification information corresponding to the current RAHT layer is determined based on a rate-distortion optimization algorithm, and the prediction mode identification information is written into a bitstream. The prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, and a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance.

[0386] In yet another embodiment of the present application, based on the same inventive concept as the aforementioned embodiment, FIG22 is a schematic diagram of a composition structure of an encoder proposed in an embodiment of the present application. As shown in FIG22 , the encoder 100 may include: a first determining unit 111, an encoding unit 112; wherein,

[0387] The first determining unit 111 is configured to determine prediction mode identification information corresponding to the current RAHT layer according to a rate-distortion optimization algorithm; wherein the prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-frame prediction transform coding mode or an intra-frame prediction transform coding mode;

[0388] The encoding unit 112 is configured to write the prediction mode identification information into the bitstream;

[0389] The first determining unit 111 is further configured to, when the current RAHT layer uses an inter-prediction transform coding mode, determine a reference unit corresponding to the current RAHT layer in a reference list, and determine a reference identifier corresponding to the current RAHT layer based on the reference unit; the reference list includes K coded units, where K is an integer greater than or equal to 1;

[0390] The encoding unit 112 is further configured to write the reference identification number into the code stream;

[0391] The first determining unit 111 is further configured to determine a reference block corresponding to the current block based on the geometric information of the current block in the current RAHT layer and the reference unit; and determine an attribute transformation residual value corresponding to the current block based on the attribute prediction transformation value of the reference block;

[0392] The encoding unit 112 is further configured to write the attribute transformation residual value into the bitstream.

[0393] It should be noted that, in the embodiment of the present application, the encoder 100 can also be regarded as a data processing mode (or "entropy encoder"), which is used to encode the values ​​of the syntax elements to be encoded.

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

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

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

[0397] Based on the composition of the above-mentioned encoder 100 and the computer-readable storage medium, Figure 23 is a second schematic diagram of the composition structure of an encoder proposed in an embodiment of the present application. As shown in Figure 23, the encoder 100 may include: a first memory 121 and a first processor 122, a first communication interface 123 and a first bus system 124. The first memory 121, the first processor 122, and the first communication interface 123 are coupled together through the first bus system 124. It can be understood that the first bus system 124 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 124 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, various buses are labeled as the first bus system 124 in Figure 10. Among them,

[0398] The first communication interface 123 is used to receive and send signals during the process of sending and receiving information between other external network elements;

[0399] The first memory 121 is used to store computer programs that can be run on the first processor;

[0400] The first processor 122 is configured to, when executing the computer program, determine prediction mode identification information corresponding to a current RAHT layer according to a rate-distortion optimization algorithm, and write the prediction mode identification information into a bitstream. The prediction mode identification information indicates whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. If the current RAHT layer uses the inter-prediction transform coding mode, determine a reference unit corresponding to the current RAHT layer in a reference list, determine a reference identification number corresponding to the current RAHT layer based on the reference unit, and write the reference identification number into the bitstream. Determine a reference block corresponding to the current block based on geometric information of the current block in the current RAHT layer and the reference unit. Determine a property transform residual value corresponding to the current block based on a property predictive transform value of the reference block, and write the property transform residual value into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1.

[0401] It is understood that the first memory 121 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The first memory 121 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

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

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

[0404] Optionally, as another embodiment, the first processor 122 is further configured to execute the method described in any one of the aforementioned embodiments when running the computer program.

[0405] This embodiment provides an encoder that determines prediction mode identification information corresponding to a current RAHT layer based on a rate-distortion optimization algorithm and writes the prediction mode identification information into a bitstream. The prediction mode identification information indicates whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance.

[0406] In yet another embodiment of the present application, based on the same inventive concept as the aforementioned embodiment, FIG. 24 is a schematic diagram of a first structure of a decoder proposed in an embodiment of the present application. As shown in FIG. 24 , the decoder 200 may include: a decoding unit 211 and a second determining unit 212; wherein,

[0407] The decoding unit 211 is configured to decode the bitstream and determine prediction mode identification information corresponding to the current RAHT layer; if the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decode the bitstream and determine the reference identification number corresponding to the current RAHT layer;

[0408] The second determining unit 212 is configured to determine, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; determine, based on geometric information of a current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block; and determine, based on a property prediction transform value of the reference block, a property transform value corresponding to the current block.

[0409] It should be noted that, in the embodiment of the present application, the decoder 200 can also be regarded as a data processing mode (or "entropy decoder"), which is used to decode the values ​​of the syntax elements to be decoded.

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

[0411] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer-readable storage medium, which is applied to the decoder 200 and stores a computer program. When the computer program is executed by the second processor, it implements any of the methods in the aforementioned embodiments.

[0412] Based on the composition of the above-mentioned decoder 200 and the computer-readable storage medium, Figure 25 is a second schematic diagram of the composition structure of a decoder proposed in an embodiment of the present application. As shown in Figure 25, the decoder 200 may include: a second memory 221 and a second processor 222, a second communication interface 223 and a second bus system 224. The second memory 221 and the second processor 222, and the second communication interface 223 are coupled together through the second bus system 224. It can be understood that the second bus system 224 is used to realize the connection and communication between these components. In addition to the data bus, the second bus system 224 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the second bus system 224 in Figure 12. Among them,

[0413] The second communication interface 223 is used to receive and send signals during the process of sending and receiving information between other external network elements;

[0414] The second memory 221 is used to store computer programs that can be run on the second processor;

[0415] The second processor 222 is configured to, when running the computer program, decode a bitstream and determine prediction mode identification information corresponding to a current RAHT layer; if the prediction mode identification information indicates that the current RAHT layer uses an inter-prediction transform decoding mode, decode the bitstream and determine a reference identification number corresponding to the current RAHT layer; determine a reference unit corresponding to the current RAHT layer in a reference list based on the reference identification number; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; determine a reference block corresponding to the current block based on geometric information of the current block in the current RAHT layer and the reference unit; and determine a property transform value corresponding to the current block based on a property prediction transform value of the reference block.

[0416] It is understood that the second memory 221 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The second memory 221 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

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

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

[0419] Optionally, as another embodiment, the second processor 222 is further configured to execute the method described in any one of the aforementioned embodiments when running the computer program.

[0420] This embodiment provides a decoder that decodes a bitstream to determine prediction mode identification information corresponding to a current RAHT layer; if the prediction mode identification information indicates that the current RAHT layer uses an inter-prediction transform decoding mode, decodes the bitstream to determine a reference identification number corresponding to the current RAHT layer; determines a reference unit corresponding to the current RAHT layer in a reference list based on the reference identification number; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; determines a reference block corresponding to the current block based on geometric information and a reference unit of a current block in the current RAHT layer; and determines an attribute transform value corresponding to the current block based on an attribute prediction transform value of the reference block. In other words, in this embodiment of the present application, when the inter-prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined using the reference list, and the reference block of the current block determined from the reference unit can be used. Because the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during inter-frame attribute prediction of the current RAHT layer, making the attribute transform value of the current block determined based on the reference block more accurate, thereby improving the prediction effect of the attribute information and enhancing point cloud compression performance.

[0421] Furthermore, an embodiment of the present application further proposes a code stream, wherein the code stream is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least:

[0422] Prediction mode identification information corresponding to the current RAHT layer, attribute transformation residual value corresponding to the current block, multi-reference prediction identification information, and reference identification number corresponding to the current RAHT layer.

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

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

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

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

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

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

[0429] Embodiments of the present application provide a coding and decoding method, a bitstream, an encoder, a decoder, and a storage medium. At a decoding end, the bitstream is decoded to determine prediction mode identification information corresponding to a current RAHT layer; when the prediction mode identification information indicates that the current RAHT layer uses an inter-frame prediction transform decoding mode, the bitstream is decoded to determine a reference identification number corresponding to the current RAHT layer; a reference unit corresponding to the current RAHT layer is determined in a reference list based on the reference identification number; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; a reference block corresponding to the current block is determined based on geometric information and a reference unit of the current block in the current RAHT layer; and an attribute transform value corresponding to the current block is determined based on an attribute prediction transform value of the reference block. At the encoding end, prediction mode identification information corresponding to the current RAHT layer is determined based on a rate-distortion optimization algorithm, and the prediction mode identification information is written into a bitstream. The prediction mode identification information is used to indicate whether the current RAHT layer uses an inter-prediction transform coding mode or an intra-prediction transform coding mode. When the current RAHT layer uses the inter-prediction transform coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, and a reference identification number corresponding to the current RAHT layer is determined based on the reference unit, and the reference identification number is written into the bitstream. A reference block corresponding to the current block is determined based on geometric information and the reference unit of the current block in the current RAHT layer. An attribute transform residual value corresponding to the current block is determined based on an attribute predictive transform value of the reference block, and the attribute transform residual value is written into the bitstream. The reference list includes K coded units, where K is an integer greater than or equal to 1. That is, in an embodiment of the present application, when the inter-frame prediction transform decoding mode is used for the current RAHT layer, the reference unit corresponding to the current RAHT layer can be determined through the reference list, and the reference block of the current block can be determined in the reference unit. Since the constructed reference list includes multiple decoded units, more attribute prediction information can be referenced during the inter-frame attribute prediction of the current RAHT layer, so that the attribute transform value of the current block determined based on the reference block is more accurate, thereby improving the prediction effect of the attribute information and improving the point cloud compression performance.

Claims

1. A point cloud decoding method, applied to a decoder, the method comprising: Decode the bitstream and determine the prediction mode identification information corresponding to the current regional adaptive hierarchical transform (RAHT) layer; When the prediction mode identification information indicates that the current RAHT layer uses an inter-frame prediction transform decoding mode, decoding a bitstream to determine a reference identification number corresponding to the current RAHT layer; Determining, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer; wherein the reference list includes K decoded units, where K is an integer greater than or equal to 1; Determining a reference block corresponding to the current block according to the geometric information of the current block in the current RAHT layer and the reference unit; The attribute transformation value corresponding to the current block is determined according to the attribute prediction transformation value of the reference block.

2. The method according to claim 1, wherein: The K decoded units at least include: K decoded frames corresponding to the current frame, or K blocks corresponding to the K decoded frames, or K slices corresponding to the K decoded frames; or, The K decoded units include at least: N decoded frames corresponding to the current frame and a fused frame generated based on the N decoded frames, or N blocks corresponding to the N decoded frames and a fused block generated based on the N blocks, or N slices corresponding to the N decoded frames and a fused slice generated based on the N slices; wherein N is greater than 0 and less than or equal to K.

3. The method according to claim 2, wherein: The determining, according to the geometric information of the current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block includes: Based on the geometric information of the current block, the reference block is determined in the reference unit according to a preset search strategy.

4. The method according to claim 3, wherein: The determining the reference block in the reference unit according to a preset search strategy based on the geometric information of the current block includes: Determining first position information according to geometric information of a current block in the current RAHT layer; Based on the first position information, the reference block is determined in the reference unit according to a preset search strategy.

5. The method according to claim 4, wherein: The first position information includes at least: geometric information of the current block, and / or geometric information of a parent block of the current block corresponding to the current block, and / or placeholder information of the current block, and / or placeholder information of the parent block of the current block.

6. The method according to claim 5, wherein: The preset search strategy at least includes: searching the reference unit for a transform block having the same geometric information as the current block, and determining the transform block as the reference block; and / or, searching the reference unit for a parent transform block having the same geometric information as that of a parent block of the current block, and determining the parent transform block as the reference block; and / or, searching, in the reference unit, for a transform block having the same geometric information as the current block and satisfying a first correlation condition between the transform block and the placeholder information of the current block, and determining the transform block as the reference block; and / or, Searching the reference unit for a transform block having the same geometric information as the current block and whose corresponding parent transform block and placeholder information of the parent block of the current block satisfy a second correlation condition, and determining the transform block as the reference block; and / or, Searching the reference unit for a transform block having the same geometric information as that of a parent block of the current block and satisfying a first correlation condition between the transform block and the placeholder information of the current block, and determining the transform block as the reference block; and / or, A parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the parent transform block and the parent block of the current block is searched in the reference unit, and the parent transform block is determined as the reference.

7. The method according to claim 6, wherein: The first correlation condition includes: an absolute value of a difference between the placeholder information of the current block and the placeholder information of the transformed block is less than or equal to a first threshold; wherein the first threshold is greater than or equal to 0 and less than or equal to 8.

8. The method according to claim 6, wherein: The second correlation condition includes: an absolute value of a difference between the placeholder information of the parent block of the current block and the placeholder information of the parent transformation block is less than or equal to a second threshold; wherein the second threshold is greater than or equal to 0 and less than or equal to 8.

9. The method according to any one of claims 1 to 8, wherein: The geometric information includes at least any one of the following information: spatial Morton code information, spatial Hilbert code information, spatial coordinate information, spherical coordinate information, and polar coordinate information.

10. The method according to any one of claims 1 to 8, wherein: The method further comprises: The code stream is decoded to determine a property transformation residual value corresponding to the current block.

11. The method according to claim 10, wherein: The method also includes: In the case that the reference block does not exist in the reference unit, determining an adjacent transform block corresponding to the current block; Determining a property prediction transformation value of the current block according to the property transformation value of the adjacent transformation block; The attribute transformation value corresponding to the current block is determined according to the attribute transformation residual value and the attribute prediction transformation value of the current block.

12. The method according to claim 10, wherein: The determining the attribute transformation value corresponding to the current block according to the attribute prediction transformation value of the reference block includes: Determining an attribute prediction transformation value of the current block according to the attribute prediction transformation value of the reference block; The attribute transformation value corresponding to the current block is determined according to the attribute transformation residual value and the attribute prediction transformation value of the current block.

13. The method according to claim 1, wherein: The determining, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer comprises: When the value of the reference identification number is i, the i-th encoded unit in the reference list is determined as the reference unit; wherein i is an integer less than or equal to K.

14. The method according to claim 2, wherein: The determining, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer comprises: When the value of the reference identification number is i, the i-th encoded unit before the current frame in the reference list is determined as the reference unit; wherein i is an integer less than or equal to K.

15. The method according to claim 1, wherein: The method further comprises: When the value of the prediction mode identification information is the first value, determining that the prediction mode identification information indicates that the current RAHT layer uses an intra prediction transform decoding mode; When the value of the prediction mode identification information is the second value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode.

16. The method according to claim 2, wherein: The method further comprises: When the value of the prediction mode identification information is the first value, determining that the prediction mode identification information indicates that the current RAHT layer uses an intra prediction transform decoding mode; When the value of the prediction mode identification information is not the first value, it is determined that the prediction mode identification information indicates that the current RAHT layer uses an inter-prediction transform decoding mode.

17. The method according to claim 16, wherein: The method further comprises: When the prediction mode identification information indicates that the current RAHT layer uses the inter-prediction transform decoding mode, the reference unit is determined in the reference list according to the prediction mode identification information.

18. The method according to claim 17, wherein: The determining the reference unit in the reference list according to the prediction mode identification information comprises: When the value of the prediction mode identification information is j, the j-th encoded unit in the reference list is determined as the reference unit; wherein j is different from the first value, and j is an integer less than or equal to K.

19. The method according to claim 17, wherein: The determining, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer comprises: When the value of the reference identification number is j, the j-th encoded unit before the current frame in the reference list is determined as the reference unit; wherein j is different from the first value, and j is an integer less than or equal to K.

20. The method according to claim 1, wherein: The method further comprises: Construct the reference list.

21. The method according to claim 16, wherein: The method further comprises: When the prediction mode identification information indicates that the current RAHT layer uses an intra prediction transform decoding mode, determining a neighboring transform block corresponding to the current block; Determining a property prediction transformation value of the current block according to the property transformation value of the adjacent transformation block; The attribute transformation value corresponding to the current block is determined according to the attribute transformation residual value and the attribute prediction transformation value of the current block.

22. The method according to claim 2, wherein: The method further comprises: Decode the bitstream and determine the multi-reference prediction identification information; When the multi-reference prediction identification information indicates that the current RAHT layer uses a multi-reference prediction mode, and the prediction mode identification information indicates that the current RAHT layer uses an inter-prediction transform decoding mode, the reference block is determined through the reference list.

23. The method according to claim 20, wherein: The method further comprises: When the multi-reference prediction identification information indicates that the current RAHT layer does not use the multi-reference prediction mode, and the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, determining a reference block corresponding to the current block in a previous decoded frame of the current frame; The attribute transformation value corresponding to the current block is determined according to the attribute prediction transformation value of the reference block.

24. The method according to claim 1, wherein: The method further comprises: When the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decode the code stream to determine the reference number corresponding to the current RAHT layer; wherein the reference number is used to determine the sequence number of the decoded unit in the reference list; the sequence number of the decoded unit represents an absolute decoding order or a relative decoding order of the decoded unit.

25. The method according to claim 24, wherein: The method further comprises: Decoding a bitstream to determine prediction mode identification information corresponding to a current decoding unit; wherein the current decoding unit includes the current RAHT layer, or the current frame, or the slice in the current frame, or the block in the current frame; When the prediction mode identification information indicates that the current decoding unit uses the inter-frame prediction transformation decoding mode, the code stream is decoded to determine the reference sequence number corresponding to the current decoding unit.

26. The method according to claim 2, wherein: The method further comprises: The number K of the decoded units is determined according to a preset threshold.

27. A point cloud encoding method, applied to an encoder, the method comprising: Determine prediction mode identification information corresponding to the current RAHT layer according to the rate-distortion optimization algorithm, and write the prediction mode identification information into the bitstream; wherein the prediction mode identification information is used to indicate that the current RAHT layer uses an inter-frame prediction transform coding mode or an intra-frame prediction transform coding mode; Wherein, when the current RAHT layer uses the inter-frame prediction transformation coding mode, a reference unit corresponding to the current RAHT layer is determined in a reference list, and a reference identification number corresponding to the current RAHT layer is determined according to the reference unit, and the reference identification number is written into a bitstream; a reference block corresponding to the current block is determined according to geometric information of the current block in the current RAHT layer and the reference unit; an attribute transformation residual value corresponding to the current block is determined according to an attribute prediction transformation value of the reference block, and the attribute transformation residual value is written into a bitstream; the reference list includes K coded units, where K is an integer greater than or equal to 1.

28. The method according to claim 27, wherein: The K coded units at least include: K coded frames corresponding to the current frame, or K blocks corresponding to the K coded frames, or K slices corresponding to the K coded frames; or, The K encoded units include at least: N encoded frames corresponding to the current frame and KN fused frames generated based on the N encoded frames, or N blocks corresponding to the N encoded frames and KN fused blocks generated based on the N blocks, or N slices corresponding to the N encoded frames and KN fused slices generated based on the N slices; wherein N is greater than 0 and less than or equal to K.

29. The method according to claim 28, wherein: The determining, according to the geometric information of the current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block includes: Based on the geometric information of the current block, the reference block is determined in the reference unit according to a preset search strategy.

30. The method of claim 29, wherein: The determining the reference block in the reference unit according to a preset search strategy based on the geometric information of the current block includes: Determining first position information according to geometric information of a current block in the current RAHT layer; Based on the first position information, the reference block is determined in the reference unit according to a preset search strategy.

31. The method according to claim 30, wherein: The first position information includes at least: geometric information of the current block, and / or geometric information of a parent block of the current block corresponding to the current block, and / or placeholder information of the current block, and / or placeholder information of the parent block of the current block.

32. The method according to claim 31, wherein: The preset search strategy at least includes: searching the reference unit for a transform block having the same geometric information as the current block, and determining the transform block as the reference block; and / or, searching the reference unit for a parent transform block having the same geometric information as that of a parent block of the current block, and determining the parent transform block as the reference block; and / or, searching, in the reference unit, for a transform block having the same geometric information as the current block and satisfying a first correlation condition between the transform block and the placeholder information of the current block, and determining the transform block as the reference block; and / or, Searching the reference unit for a transform block having the same geometric information as the current block and whose corresponding parent transform block and placeholder information of the parent block of the current block satisfy a second correlation condition, and determining the transform block as the reference block; and / or, Searching the reference unit for a transform block having the same geometric information as that of a parent block of the current block and satisfying a first correlation condition between the transform block and the placeholder information of the current block, and determining the transform block as the reference block; and / or, A parent transform block having the same geometric information as the parent block of the current block and satisfying a second correlation condition between the parent transform block and the parent block of the current block is searched in the reference unit, and the parent transform block is determined as the reference.

33. The method of claim 32, wherein: The first correlation condition includes: an absolute value of a difference between the placeholder information of the current block and the placeholder information of the transformed block is less than or equal to a first threshold; wherein the first threshold is greater than or equal to 0 and less than or equal to 8.

34. The method of claim 32, wherein: The second correlation condition includes: an absolute value of a difference between the placeholder information of the parent block of the current block and the placeholder information of the parent transformation block is less than or equal to a second threshold; wherein the second threshold is greater than or equal to 0 and less than or equal to 8.

35. The method according to any one of claims 27 to 34, wherein: The method further comprises: In the case that the reference block does not exist in the reference unit, determining an adjacent transform block corresponding to the current block; Determining a property prediction transformation value of the current block according to the property transformation value of the adjacent transformation block; The attribute transformation residual value is determined according to the attribute transformation value corresponding to the current block and the attribute prediction transformation value of the current block.

36. The method of claim 35, wherein: The determining the attribute transformation residual value corresponding to the current block according to the attribute prediction transformation value of the reference block includes: Determining an attribute prediction transformation value of the current block according to the attribute prediction transformation value of the reference block; The attribute transformation residual value is determined according to the attribute transformation value corresponding to the current block and the attribute prediction transformation value of the current block.

37. The method according to any one of claims 27 to 34, wherein: The determining, in the reference list, a reference unit corresponding to the current RAHT layer comprises: For any transform block in the current RAHT layer and a first coded unit in the reference list, searching the first coded unit for the any transform block according to a preset search strategy to determine a first cost corresponding to the first coded unit; Traversing the K coded units in the reference list to obtain K costs corresponding to the K coded units; Based on a rate-distortion optimization algorithm and the K cost values, the reference unit corresponding to the current RAHT layer is determined in the reference list.

38. The method of claim 37, wherein: The determining, according to the reference unit, a reference identification number corresponding to the current RAHT layer includes: When the reference unit is the i-th encoded unit in the reference list, the value of the reference identification number is set to i; wherein i is an integer less than or equal to K.

39. The method of claim 37, wherein: The determining, according to the reference unit, a reference identification number corresponding to the current RAHT layer includes: When the reference unit is the i-th encoded unit before the current frame in the reference list, the value of the reference identification number is set to i; wherein i is an integer less than or equal to K.

40. The method of claim 37, wherein: The method further comprises: When it is determined that the current RAHT layer uses an intra prediction transform coding mode, setting the value of the prediction mode identification information to a first value; In the case where it is determined that the current RAHT layer uses the inter-frame prediction transform coding mode, the value of the prediction mode identification information is set to a second value.

41. The method of claim 37, wherein: The method further comprises: In a case where it is determined that the current RAHT layer uses the inter-frame prediction transform coding mode, determining a reference unit corresponding to the current RAHT layer in a reference list, determining prediction mode identification information corresponding to the current RAHT layer according to the reference unit, and writing the prediction mode identification information into a bitstream; Determining a reference block corresponding to the current block according to the geometric information of the current block in the current RAHT layer and the reference unit; Determine a property transformation residual value corresponding to the current block according to the property prediction transformation value of the reference block, and write the property transformation residual value into a bitstream.

42. The method according to claim 41, wherein: The method further comprises: When it is determined that the current RAHT layer uses an intra prediction transform coding mode, setting the value of the prediction mode identification information to a first value; When it is determined that the current RAHT layer uses the inter-frame prediction transform coding mode, a value of the prediction mode identification information is set according to the reference unit.

43. The method of claim 42, wherein: The setting of the value of the prediction mode identification information according to the reference unit includes: When the reference unit is the j-th encoded unit in the reference list, the value of the prediction mode identification information is set to j; wherein j is different from the first value and j is an integer less than or equal to K.

44. The method of claim 42, wherein: The setting of the value of the prediction mode identification information according to the reference unit includes: When the reference unit is the j-th encoded unit before the current frame in the reference list, the value of the prediction mode identification information is set to j; wherein j is different from the first value and j is an integer less than or equal to K.

45. The method according to any one of claims 27 to 34, wherein: The method further comprises: Construct the reference list.

46. ​​The method of claim 27, wherein: The determining, according to the rate-distortion optimization algorithm, prediction mode identification information corresponding to the current RAHT layer includes: Determine a first generation value corresponding to the intra-frame prediction transform coding mode and a second generation value corresponding to the inter-frame prediction transform coding mode according to a rate-distortion optimization algorithm; Prediction mode identification information corresponding to the current RAHT layer is determined according to the first generation value and the second generation value.

47. The method of claim 46, wherein: The determining, according to the first generation value and the second generation value, prediction mode identification information corresponding to the current RAHT layer includes: When it is determined that the current RAHT layer uses the intra prediction transform coding mode based on the first generation value and the second generation value, setting the value of the prediction mode identification information to a first value; In a case where it is determined that the current RAHT layer uses the inter-frame prediction transformation coding mode based on the first generation value and the second generation value, the value of the prediction mode identification information is set to a second value.

48. The method of claim 40 or 42, wherein: The method further comprises: When it is determined that the current RAHT layer uses the intra-frame prediction transform coding mode, setting prediction mode identification information corresponding to the current RAHT layer, and writing the prediction mode identification information into a bitstream; determining an adjacent transform block corresponding to the current block; Determining a property prediction transformation value of the current block according to the property transformation value of the adjacent transformation block; The attribute transformation residual value is determined according to the attribute transformation value corresponding to the current block and the attribute prediction transformation value of the current block, and the attribute transformation residual value is written into a bitstream.

49. The method of claim 28, wherein: The method further comprises: Determining multiple reference prediction identification information, and writing the multiple reference prediction identification information into a bitstream; When the multiple reference prediction identification information indicates that the current RAHT layer uses a multiple reference prediction mode, the reference block is determined by using the reference list.

50. The method of claim 49, wherein: The method further comprises: When the multi-reference prediction identification information indicates that the current RAHT layer does not use the multi-reference prediction mode, and the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform coding mode, determining a reference block corresponding to the current block in a previous coded frame of the current frame; Determine a property transformation residual value corresponding to the current block according to the property prediction transformation value of the reference block, and write the property transformation residual value into a bitstream.

51. The method of claim 27, wherein: The method further comprises: In a case where the current RAHT layer uses an inter-frame prediction transform coding mode, a reference number corresponding to the current RAHT layer is determined, and the reference number is written into a bitstream; wherein the reference number is used to determine the number of the coded unit in the reference list; and the number of the coded unit represents an absolute coding order or a relative coding order of the coded unit.

52. The method of claim 51, wherein: The method further comprises: In the case where the current coding unit uses an inter-frame prediction transform coding mode, determining the reference number corresponding to the current coding unit, and writing the reference number into a bitstream; wherein the current coding unit includes the current RAHT layer, or the current frame, or the slice in the current frame, or the block in the current frame.

53. The method of claim 28, wherein: The method further comprises: The number K of the encoded units is determined according to a preset threshold.

54. A code stream, wherein The code stream is generated by bit encoding according to the information to be encoded; wherein the information to be encoded includes at least one of the following: Prediction mode identification information corresponding to the current RAHT layer, attribute transformation residual value corresponding to the current block, multi-reference prediction identification information, and reference identification number corresponding to the current RAHT layer.

55. An encoder, comprising: The first determining unit is a coding unit; wherein, The first determination unit is configured to determine prediction mode identification information corresponding to the current RAHT layer according to a rate-distortion optimization algorithm; wherein the prediction mode identification information is used to indicate that the current RAHT layer uses an inter-frame prediction transform coding mode or an intra-frame prediction transform coding mode; The encoding unit is configured to write the prediction mode identification information into a bit stream; The first determining unit is further configured to determine, when the current RAHT layer uses an inter-frame prediction transform coding mode, a reference unit corresponding to the current RAHT layer in a reference list, and determine a reference identifier corresponding to the current RAHT layer according to the reference unit; the reference list includes K coded units, where K is an integer greater than or equal to 1; The encoding unit is further configured to write the reference identification number into a bit stream; The first determining unit is further configured to determine a reference block corresponding to the current block according to the geometric information of the current block in the current RAHT layer and the reference unit; determine an attribute transformation residual value corresponding to the current block according to the attribute prediction transformation value of the reference block; The encoding unit is further configured to write the attribute transformation residual value into a bit stream.

56. An encoder, comprising a first memory and a first processor; wherein: The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 27 to 53 when running the computer program.

57. A decoder, the decoder comprising: A decoding unit, a second determining unit; wherein, The decoding unit is configured to decode the bitstream and determine the prediction mode identification information corresponding to the current RAHT layer; if the prediction mode identification information indicates that the current RAHT layer uses the inter-frame prediction transform decoding mode, decode the bitstream and determine the reference identification number corresponding to the current RAHT layer; The second determination unit is configured to determine, in a reference list according to the reference identification number, a reference unit corresponding to the current RAHT layer; wherein the reference list includes K decoded units, and K is an integer greater than or equal to 1; determine, according to geometric information of a current block in the current RAHT layer and the reference unit, a reference block corresponding to the current block; and determine, according to a property prediction transformation value of the reference block, a property transformation value corresponding to the current block.

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

59. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, which implements the method according to any one of claims 27 to 53 when executed by a first processor, or implements the method according to any one of claims 1 to 26 when executed by a second processor.