Coding method, point cloud encoder, point cloud decoder, and storage medium

CN122397255APending Publication Date: 2026-07-14GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
Filing Date
2023-12-28
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

In the geometry-based point cloud compression (G-PCC) encoding and decoding framework, the prior art has problems of high computational complexity and low encoding and decoding efficiency. Especially in the geometric encoding and decoding based on octree, the encoding and decoding calculation complexity that occupies information is high, resulting in low encoding and decoding efficiency.

Method used

In the inter prediction mode, the target entropy encoding/decoding parameter set is determined based on the occupation information and context information of the prediction child nodes of the current child node in the reference frame, and the optimal entropy encoding/decoder parameters are selected for encoding and decoding, reducing the code rate and improving the encoding and decoding efficiency.

Benefits of technology

By using inter prediction information to select the best entropy encoding/decoder parameters, the encoding rate is reduced, the encoding and decoding efficiency is improved, and the storage space requirements and transmission costs are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122397255A_ABST
    Figure CN122397255A_ABST
Patent Text Reader

Abstract

This application discloses an encoding / decoding method, a point cloud encoder, a point cloud decoder, and a storage medium. At the encoding end, when inter-frame prediction mode is enabled for the current child node, the target entropy encoding parameter set for the current child node is determined based on the predicted child node's occupancy information. Based on the context information of the current child node, the target entropy encoding parameters for the current child node are determined from the target entropy encoding parameter set. The occupancy information of the current child node is entropy encoded using the target entropy encoding parameters, and the resulting encoded bits are written into the bitstream. At the decoding end, the same method is used to determine the target entropy decoder, and the occupancy information is entropy decoded. Thus, during inter-frame prediction, the optimal entropy encoder / decoder parameter set for the current child node is selected by fully utilizing the inter-frame prediction information, and the optimal entropy encoder / decoder parameters are further selected based on the context information for encoding and decoding, effectively reducing the bit rate and improving encoding / decoding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Coding and decoding method, point cloud encoder, point cloud decoder and storage medium Technical Field

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

[0002] Currently, in the geometry-based point cloud compression (G-PCC) codec framework, the geometric information of a point cloud and the attribute information corresponding to each point in the point cloud are encoded separately. Within the G-PCC codec framework, the geometry encoding and decoding can be divided into octree-based geometry encoding and decoding, trisoup-based geometry encoding and decoding, and prediction tree-based geometry encoding and decoding.

[0003] In the octree-based geometric coding and decoding technology, when encoding and decoding the occupancy information according to the context information of the node to be encoded, there are problems of high computational complexity and low coding and decoding efficiency.

[0004] Summary of the Invention

[0005] The embodiments of the present application provide a coding and decoding method, a point cloud encoder, a point cloud decoder, and a storage medium. When performing inter-frame prediction, the inter-frame prediction information is fully utilized to select the optimal entropy coding / decoder parameter set for the current child node, and the optimal entropy coding / decoder parameters are further selected for encoding based on the context information, thereby reducing the bit rate and improving the coding and decoding efficiency.

[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 point cloud decoder, the method comprising:

[0008] In the case where the inter-frame prediction mode is enabled for the current child node, determining a target entropy decoding parameter set for the current child node according to occupancy information of the predicted child node of the current child node in the reference frame;

[0009] Determining, according to the context information of the current child node, a target entropy decoding parameter of the current child node from the target entropy decoding parameter set;

[0010] Entropy decoding is performed on the code stream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

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

[0012] In the case where the inter-frame prediction mode is enabled for the current child node, determining a target entropy coding parameter set for the current child node according to occupancy information of the predicted child node of the current child node in the reference frame;

[0013] Determining, according to the context information of the current child node, a target entropy coding parameter of the current child node from the target entropy coding parameter set;

[0014] Entropy coding is performed on the occupancy information of the current child node according to the target entropy coding parameter, and the obtained coding bits are written into a bitstream.

[0015] In a third aspect, an embodiment of the present application provides a point cloud encoder, comprising a first determining unit and an encoding unit; wherein the first determining unit is configured to, when an inter-frame prediction mode is enabled for the current child node, determine a target entropy coding parameter set for the current child node based on occupancy information of a predicted child node of the current child node in a reference frame; and determine a target entropy coding parameter of the current child node from the target entropy coding parameter set based on context information of the current child node;

[0016] The encoding unit is configured to perform entropy encoding on the occupancy information of the current child node according to the target entropy encoding parameter, and write the obtained encoding bits into a bitstream.

[0017] In a fourth aspect, an embodiment of the present application provides a point cloud encoder, comprising a first memory and a first processor; wherein,

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

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

[0020] In a fifth aspect, an embodiment of the present application provides a point cloud decoder, comprising a second determining unit and a decoding unit; wherein the second determining unit is configured to, when the inter-frame prediction mode is enabled for the current sub-node, determine a target entropy decoding parameter set for the current sub-node based on occupancy information of the predicted sub-node of the current sub-node in a reference frame; and determine a target entropy decoding parameter of the current sub-node from the target entropy decoding parameter set based on context information of the current sub-node;

[0021] The decoding unit is configured to perform entropy decoding on the code stream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

[0022] In a sixth aspect, an embodiment of the present application provides a point cloud decoder, comprising a second memory and a second processor; wherein,

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

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

[0025] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a code stream generated by the encoding method as described.

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

[0027] The embodiment of the present application provides a coding and decoding method, a point cloud encoder, a point cloud decoder, and a storage medium. At the encoding end, when the inter-frame prediction mode is enabled for the current sub-node, the target entropy coding parameter set of the current sub-node is determined based on the occupancy information of the predicted sub-node of the current sub-node in the reference frame; the target entropy coding parameters of the current sub-node are determined from the target entropy coding parameter set based on the context information of the current sub-node; the occupancy information of the current sub-node is entropy-encoded according to the target entropy coding parameters, and the obtained coded bits are written into the bitstream; at the decoding end, the target entropy decoder is determined using the same method, and the occupancy information is entropy-decoded. In this way, when performing inter-frame prediction, the inter-frame prediction information is fully utilized to select the best entropy coding / decoder parameter set for the current sub-node, and the best entropy coding / decoder parameters are further selected for encoding and decoding based on the context information, effectively reducing the bit rate and improving the coding and decoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 is a schematic diagram of a point cloud encoding and decoding network architecture;

[0029] FIG2 is a schematic diagram of a composition framework of a G-PCC encoder;

[0030] FIG3 is a schematic diagram of a composition framework of a G-PCC decoder;

[0031] Fig. 4 is a schematic diagram of a realization framework of OBUF technology;

[0032] FIG5 is a schematic diagram of an application implementation flow of an OBUF technology;

[0033] FIG6 is a schematic diagram of dynamically adjusting context priorities;

[0034] FIG7 is a schematic diagram of a scanning order of subnodes in a current node;

[0035] FIG8 is a schematic diagram of a process for constructing inter-frame context information;

[0036] FIG9 is a schematic diagram of an intra-frame and inter-frame entropy coding process based on OBUF technology;

[0037] FIG10 is a flowchart diagram of a decoding method provided in an embodiment of the present application;

[0038] FIG11 is a schematic diagram showing the distribution of child neighbor nodes and coplanar parent neighbor nodes of child node 0;

[0039] FIG12 is a schematic diagram showing the distribution order of 20 parent neighbor nodes of a child node 0;

[0040] FIG13 is a second flow chart of a decoding method provided in an embodiment of the present application;

[0041] FIG14 is a flowchart diagram 1 of an encoding method provided in an embodiment of the present application;

[0042] FIG15 is a second flow chart of an encoding method provided in an embodiment of the present application;

[0043] FIG16 is a schematic diagram of the structure of a point cloud encoder provided in an embodiment of the present application;

[0044] FIG17 is a schematic diagram of a specific hardware structure of a point cloud encoder provided in an embodiment of the present application;

[0045] FIG18 is a schematic diagram of the structure of a point cloud decoder provided in an embodiment of the present application;

[0046] FIG19 is a schematic diagram of a specific hardware structure of a point cloud decoder provided in an embodiment of the present application;

[0047] FIG20 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application. DETAILED DESCRIPTION

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

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

[0050] In the following description, reference is made to "some embodiments," which describe a subset of all possible embodiments. However, it is 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. It should also be noted that the terms "first, second, and third" 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 is understood that "first, second, and third" may be interchanged in a specific order or sequential order where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

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

[0052] Point Cloud Compression (PCC);

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

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

[0055] Octree;

[0056] Triangle soup (Trisoup);

[0057] K Nearest Neighbor (KNN);

[0058] Level of Detail (LOD);

[0059] Predicting Transform;

[0060] Lifting Transform;

[0061] Region Adaptive Hierarchal Transform (RAHT);

[0062] Context-based Adaptive Binary Arithmetic Coding (CABAC).

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

[0064] A point cloud refers to a collection of massive three-dimensional points. The points in the point cloud can include both their location information and their attribute information. For example, the location information of a point can be its three-dimensional coordinate information. The location information of a point can also be referred to as its geometric information. For example, the attribute information of a point can include color information and / or reflectivity, etc. For example, color information can be information in any color space. For example, color information can be RGB information, where R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B). For another example, color information can be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness, Cb (U) represents blue chrominance, and Cr (V) represents red chrominance.

[0065] For example, a point cloud obtained based on the principle of laser measurement can include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point. For another example, a point cloud obtained based on the principle of photogrammetry can include the three-dimensional coordinate information of the point and the color information of the point. For another example, a point cloud obtained by combining the principles of laser measurement and photogrammetry can include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.

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

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

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

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

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

[0071] 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;

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

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

[0074] To date, the point cloud coding framework that can compress point clouds can be the G-PCC codec framework or the 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). Among them, the G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, and the V-PCC codec framework can be used to compress the second type of dynamic point cloud. In the embodiments of the present application, the description is mainly based on the G-PCC codec framework.

[0075] An embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method. FIG1 is a schematic diagram of a network architecture of a point cloud encoding and decoding system provided by an embodiment of the present application. As shown in FIG1 , the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01. During the implementation process, the electronic device can be various types of devices with point cloud encoding and decoding functions. For example, the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., which is not limited by the embodiment of the present application. Among them, the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device.

[0076] Among them, the electronic device in the embodiment of the present application has a point cloud encoding and decoding function, generally including a point cloud encoder (ie, encoder) and a point cloud decoder (ie, decoder).

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

[0078] It can be understood that 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 and attribute information of the point cloud are encoded separately.

[0079] Figure 2 shows a schematic diagram of the G-PCC encoder architecture. As shown in Figure 2, during the geometry encoding process, the geometric information is transformed so that the entire point cloud is contained within a bounding box. Quantization then occurs. This quantization step primarily serves a scaling purpose. Due to quantization rounding, the geometric information of some point clouds becomes identical. Parameters are then used to determine whether to remove duplicate points. This process of quantization and removing duplicate points is also known as voxelization. The bounding box is then partitioned into an octree or a prediction tree is constructed. During this process, entropy coding is performed on the points in the leaf nodes of the partition to generate a binary geometry bitstream. Alternatively, entropy coding is performed on the vertex points 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 geometry 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 process of color information encoding, there are two main transformation methods. One is the distance-based lifting transformation that relies on LOD division, and the other is direct RAHT transformation. Both methods convert color information from the spatial domain to the frequency domain, and obtain high-frequency coefficients and low-frequency coefficients through transformation. Finally, the coefficients are quantized and then entropy coded on the quantized coefficients to generate a binary attribute code stream.

[0080] Figure 3 shows a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 3, for the acquired binary bit stream, the geometric code stream and attribute code stream in the binary code stream are first decoded independently. When decoding the geometric code stream, entropy decoding is first performed, and then one of the following methods is selected: octree partitioning-reconstructed surface estimation or prediction tree construction, and then through geometric reconstruction-coordinate inverse transformation, the geometric information of the point cloud can be obtained; when decoding the attribute code stream, entropy decoding and inverse quantization are first performed, and then one of the following methods is selected: RAHT transformation or LOD partitioning-lifting transformation, and finally through color inverse transformation, the attribute information of the point cloud can be obtained; based on the geometric information and attribute information, the point cloud data to be encoded can be restored.

[0081] It should be noted that, as shown in Figure 2 or Figure 3, the current G-PCC geometric codec can be divided into octree-based geometric codec, Trisoup-based geometric codec, and prediction tree-based geometric codec, as follows:

[0082] (a) Octree-based geometric encoding and decoding:

[0083] On the encoding side, the geometric information is first transformed so that all point clouds are contained in a bounding box determined by two extreme points (0,0,0) and (2d,2d,2d). Voxelization is then performed, i.e., quantization, rounding, and removal of duplicate points (determined by parameters). The non-empty sub-cubes (containing points in the point cloud) in the Bounding Box are then continuously partitioned into octrees in the order of breadth-first traversal. At the same octree depth, a node is divided into 8 child nodes until the leaf node obtained is a 1×1×1 unit cube. The 8-bit binary code generated to indicate whether a point in the sub-cube is occupied (1 for occupied, 0 for unoccupied) is called an occupancy code. The placeholder code of each node is encoded to generate a binary code stream.

[0084] At the decoding end, the placeholder code of each node is obtained by continuous parsing in the order of breadth-first traversal, and the nodes are continuously divided in turn until a 1×1×1 unit cube is obtained. The division is stopped and the number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.

[0085] (b) Based on Trisoup geometric encoding and decoding:

[0086] On the encoding side, the octree is first divided. Unlike geometric information encoding based on the octree structure, this method does not need to divide the point cloud step by step into bottom-level leaf nodes with a side length of 1×1×1. Instead, it divides the leaf nodes into leaf nodes with specified side lengths; then, the surface information composed of the voxels in the node is represented by a series of triangle meshes. In GPCC, the parameter Trisoup node size can be used to represent the size of the block where the triangle facet is located. When the Trisoup node size is greater than 0, the voxel set in the node is represented by a geometric facet. The up to twelve intersection points generated by the geometric facet and the twelve edges of the block are called vertices. The vertex coordinates of each block are encoded in sequence to generate a binary code stream.

[0087] At the decoding end, in order to decode the geometric coordinates of the point cloud from the node's triangle face, it is necessary to check whether each voxel in the node cube intersects with the triangle face. This technology is called triangle rasterization, and the six unit vectors (0,0,1), (0,0,1), (0,0,1), (0,0,1), (0,0,1), (0,0,1) are used for intersection check to check whether each unit vector intersects with the triangle face. If so, the intersection point is calculated and the decoded cube is output. The number of generated points in the decoder is determined by the grid distance d.

[0088] (c) Geometric encoding and decoding based on prediction tree:

[0089] At the encoding end, the input point cloud is first sorted. The sorting methods currently used include disorder, Morton order, azimuth order, and radial distance order. At the encoding end, the prediction tree structure is established by using two different methods, including: high-latency slow mode (KD-Tree, KD tree) and low-latency fast mode (using lidar calibration information to divide each point into different lasers (Laser), and establish a prediction structure according to different Lasers). Next, based on the structure of the prediction tree, each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the prediction residual is quantized using the quantization parameter. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.

[0090] At the decoding end, the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream. Secondly, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing, and the prediction residual is dequantized to restore the reconstructed geometric position information of each node, finally completing the geometric reconstruction at the decoding end.

[0091] It should also be noted that in one possible implementation of the related technology, the encoder currently used in G-PCC is context-adaptive binary arithmetic coding (CABAC), an entropy coder widely used in video coding. Like traditional arithmetic coding, CABAC uses a recursive interval partitioning method for encoding representation. Because CABAC is adaptive, meaning the probability model adjusts as symbols appear, it fully considers the statistical characteristics of the signal source and greatly improves coding efficiency. The CABAC encoder can be divided into three parts: binarization, context modeling, and binary arithmetic coding; the details are as follows:

[0092] ① Binarization: Binarization maps a given non-binary syntax element into a binary sequence, i.e., a binary stream (Bin String). If the input syntax element is a binary syntax element, the binarization process is omitted and the data is sent directly to the next step via a bypass.

[0093] ②Context modeling: The encoder assigns an appropriate probability model to each input binary bit based on the value of the previously encoded syntax elements or binary bits. This process is called context modeling.

[0094] ③ Binary arithmetic coding: There are two modes to choose from: regular coding mode and bypass coding mode. In regular coding mode, the binary bits (bins) of the syntax elements and their assigned probability models are fed into the binary arithmetic encoder for encoding. The context model is updated based on the bin values, which is adaptive coding. The other mode is bypass coding mode. In this mode, no specific probability model is assigned to each binary bit. The input bins are directly encoded using a simple bypass encoder, which can speed up the entire encoding and decoding process.

[0095] 1. Optimal Binarization with Update on the Fly (OBUF) technology

[0096] OBUF technology quickly and accurately maps a series of discrete states of the context node's placeholder information to a fixed number of adaptive entropy encoders (i.e., probability models) through a mapping relationship lookup table (LUT). In this way, the context information no longer corresponds one-to-one to the probability model. A fixed number of probability models are updated as the currently encoded syntax elements are updated, and their mapping relationship is updated after each encoding is completed.

[0097] FIG4 is a schematic diagram of an implementation process of an OBUF technology. As shown in FIG4 , the mapped encoder index takes a value of [0, 1, …, N …-1], and the symbol s is an occupied bit to be encoded or decoded, and takes a value of 1 or 0.

[0098] 1) OBUF technology can be divided into the following three steps:

[0099] (1) Obtain the context information D of the symbol to be encoded

[0100] The context information D of the symbol to be encoded is the input information of OBUF, which consists of the encoded neighbor node information in the space and the position of the child node relative to the parent node.

[0101] (2) Based on the mapping relationship, the binary encoder index i corresponding to the context information D is obtained

[0102] Before all the symbols to be encoded are encoded, each state is mapped to N encoders through a table lookup. For example, each context information D is mapped to one of 32 encoders (i.e., i is in the range [0, 1, ..., 3 ... 1]), such as the binary entropy encoder i in Figure 4.

[0103] (3) Use binary encoder i to entropy encode the symbol S

[0104] The symbol to be encoded S is sent to the binary encoder corresponding to its corresponding context information D for entropy coding.

[0105] 2) Examples of OBUF Technology Applications

[0106] As shown in Figure 5, suppose that the occupancy status b0 of child node 0 among the eight child nodes of the current node is encoded. The value of b0 is 0 or 1, 0 means not occupied, and 1 means occupied. First, determine the context information (State) of the child node b0 to be encoded, that is, the state of whether the encoded node is occupied. It is composed of the neighboring nodes, its parent node and adjacent nodes that have been encoded by the current child node to be encoded. These nodes are called context nodes. Each context node has two states: occupied and unoccupied. The occupancy status of all context nodes constitutes context information. Then, based on the mapping relationship, the binary encoder coderi corresponding to the context information (State) is obtained. Finally, the binary encoder coderi is used to perform entropy encoding on the encoding symbol b0.

[0107] 2. Dynamic OBUF technology

[0108] Compared with OBUF technology, dynamic OBUF technology no longer uses a fixed number of contexts, but dynamically adjusts the number of contexts during the encoding process.

[0109] The dynamic OBUF technology is divided into two stages: 1) dynamically determining the context node and context information; 2) mapping the context information to a smaller number of binary encoder groups (corresponding to the OBUF technology).

[0110] The following describes context construction and dynamic adjustment. In dynamic OBUF technology, context information is divided into two parts: primary information and secondary information. Part of the secondary information is dynamically adjusted as context information. The context information composed of the primary information and the selected secondary information is used as the OBUF context information.

[0111] 1) Context information construction process:

[0112] The context nodes of the child nodes to be encoded include the following categories:

[0113] (1) Encoded sibling nodes;

[0114] (2) The six coplanar parent neighbor nodes of the current node;

[0115] (3) The other 20 parent neighbor nodes of the current node that share the same edges and points.

[0116] It should be noted that the scanning order of these context nodes from front to back is: encoded sibling nodes of the current child node > encoded coplanar child node neighbors of the current child node > encoded co-edge child node neighbors of the current child node > encoded co-point child node neighbors of the current child node > encoded other child node neighbors of the current child node > encoded coplanar parent node neighbors of the current child node > encoded co-edge parent node neighbors of the current child node > other 20 encoded parent node neighbors. Based on this scanning order, context information is constructed for the child node to be encoded. The first N bits of context information are primary information, and the last M bits are secondary information. M is dynamically adjusted during the encoding process.

[0117] Figure 6 shows a schematic diagram of dynamically adjusting context priorities. As shown in Figure 6, the black-filled child node is the current child node. Eight cases are provided here: the grid-filled child node in (a) is the sibling child node of the current child node; the grid-filled child node in (b) is the coplanar neighbor child node of the current child node; the grid-filled child node in (c) is the coplanar neighbor parent node of the current child node; the grid-filled child node in (d) is the co-edge neighbor child node of the current child node; the grid-filled child node in (e) is the adjacent neighbor parent node of the current child node; the grid-filled child node in (f) is the co-point neighbor child node of the current child node; the grid-filled child node in (g) is the non-adjacent child neighbor node of the current child node; and the grid-filled child node in (h) is the non-adjacent parent neighbor node of the current child node.

[0118] It should also be noted that when constructing the context information, different context models can be constructed for the sub-nodes to be encoded at different positions in the current node according to a preset scanning order. For example, as shown in FIG7 , a schematic diagram of the scanning order of the sub-nodes in the current node is shown here. The scanning order can be to construct different context models in sequence according to sub-node 0, sub-node 1, sub-node 2, sub-node 3, sub-node 4, sub-node 5, sub-node 6 and sub-node 7 in FIG7 . In addition, as the number of encoded sub-nodes in the current node increases, the effective context information that can be referenced by the unencoded sub-nodes will also change, and there are different local sparsity determination methods for the eight sub-nodes of the current node, so each sub-node has its own context bins.

[0119] 2) Dynamic adjustment process

[0120] Each context node can be either occupied or unoccupied, i.e., in a state of 0 or 1. Context information can be represented by N+M binary bits, with N representing primary information and M representing secondary information. During the encoding process, the number of times each piece of context information is used is recorded. When the number of times a particular piece of context information is used exceeds a threshold T, a new context node is added to the scanning order, essentially subdividing the context information by introducing a new context node. Subsequent child nodes to be encoded are encoded using this updated set of context information.

[0121] 3. G-PCC dense point cloud inter-frame coding

[0122] 1) Octree-based geometric coding

[0123] In G-PCC, both intra-frame and inter-frame coding of octree geometric information adopt OBUF technology for entropy coding. However, the context construction method of inter-frame coding is different from that of intra-frame coding. Specifically, the inter-frame context information (Inter State) is actually the union of the intra-frame context information (Intra State) of the current symbol to be encoded and the prediction information of the current node to be encoded obtained through the reference frame. The specific approach is to add whether the current node obtained from the reference frame is occupied and whether it is strongly occupied to the intra-frame context information, for example, to the intra-frame context main information (Intra_ctx1), that is, Inter_ctx1 = Intra_ctx1<<2|predL<<1|pred. Here, predL indicates whether the current child node is predicted to be strongly occupied, and pred indicates whether the current child node is predicted to be occupied. Figure 8 is a schematic diagram of the construction process of inter-frame context information.

[0124] 2. Octree geometry coding based on inter-frame prediction

[0125] Figure 9 is a schematic diagram of the intra-frame and inter-frame entropy coding process based on OBUF technology. First, the value of isSparse is determined based on the intra-frame context information (Intra state) of the sub-node to be encoded. Here, "isSparse" refers to the local sparsity of the sub-node to be encoded, which is determined by the occupancy of the encoded neighboring nodes of the sub-node to be encoded. Based on the value of isSparse (0 or 1), it is divided into two sets of sparse context states and non-sparse context states.

[0126] Secondly, the value of isInter2 is determined by the inter-frame enable flag and the predicted node occupancy, and is further divided into an intra-frame context state set and an inter-frame context state set according to the value of isInter2 (0 or 1). That is, according to the value of isSparse and the value of isInter2, the context state is divided into 4 sets, including the intra-frame non-sparse context state (IntraNSparse state) set, the inter-frame non-sparse context state (InterNSparse state) set, the intra-frame sparse context state (IntraSparse state) set, and the inter-frame sparse context (InterSparse state) set.

[0127] Then, according to the encoder group corresponding to each set (IntraNSparse Coder, InterNSparse Coder, IntraSparse Coder, InterSparse Coder), it is mapped to the binary encoder according to the current context state. Finally, based on the mapping, the encoder coderi is obtained to perform entropy coding on the encoding symbol b0.

[0128] In the above technology, the inter-frame sparse context and the inter-frame non-sparse context are entropy encoded using their respective corresponding encoder groups, ignoring the correlation between the inter-frame sparse context and the inter-frame non-sparse context, which will have a certain impact on the coding efficiency.

[0129] Based on this, an embodiment of the present application provides a coding and decoding method. When performing inter-frame prediction and octree geometric coding, the inter-frame prediction information is fully utilized to select the best entropy coding / decoder parameter set for the current child node, and the best entropy coding / decoder parameters are determined from the selected entropy coding / decoder parameter set based on the context information. When the best entropy coding / decoder parameters are used for coding and decoding, the bit rate is effectively reduced and the coding and decoding efficiency is improved.

[0130] To facilitate understanding of the technical solutions of the embodiments of the present application, the technical solutions of the present application are described in detail below through specific embodiments. The above related technologies can be combined arbitrarily with the technical solutions of the embodiments of the present application as optional solutions, and all of them fall within the scope of protection of the embodiments of the present application. The embodiments of the present application include at least part of the following contents.

[0131] In one embodiment of the present application, referring to FIG10 , a schematic flow chart of a decoding method provided by an embodiment of the present application is shown. As shown in FIG10 , the method may include:

[0132] S101: When the inter-frame prediction mode is enabled for the current child node, determine a target entropy decoding parameter set for the current child node according to occupancy information of the predicted child node of the current child node in the reference frame;

[0133] It should be noted that the current child node is any child node of the current node to be decoded. As shown in Figure 7, the current node includes 8 child nodes, and the scanning order of the child nodes is child node 0, child node 1, child node 2, child node 3, child node 4, child node 5, child node 6, and child node 7.

[0134] The predicted child node is the co-located child node of the current child node in the predicted node. The predicted node is the predicted node of the current node in the reference frame. The predicted information of the current node is determined based on the occupancy information of the predicted node. The predicted node includes multiple predicted child nodes. Furthermore, the predicted information of the current child node can be determined based on the occupancy information of the co-located predicted child nodes of the current child node. Occupancy information, also known as placeholder information or placeholder symbol, takes a value of 0 or 1, with 0 indicating no occupancy and 1 indicating occupancy.

[0135] The target entropy decoding parameter set includes multiple entropy decoding parameters, where the entropy decoding parameters are any parameters used when entropy decoding the occupancy information of the child node. In some embodiments, the entropy decoding parameters may be arithmetic decoding parameters, and adaptive arithmetic decoding is performed on the occupancy information of the child node based on the arithmetic decoding parameters. Exemplarily, the arithmetic decoding parameters may be the probability of the current child node being occupied or unoccupied under any context information.

[0136] In some embodiments, a target entropy decoding parameter set for the current child node is determined from multiple entropy decoding parameter sets based on the occupancy information of the predicted child node in the reference frame. In other words, different entropy decoding parameter sets can be preconfigured for different inter-frame prediction scenarios to improve inter-frame prediction accuracy. When inter-frame prediction mode is enabled, a matching target entropy decoding parameter set is selected based on the actual inter-frame prediction scenario.

[0137] In some embodiments, the method further includes: determining whether the current node allows the inter-frame prediction mode to be enabled based on the value of the first syntax element; if the current node allows the inter-frame prediction mode to be enabled, determining the occupancy information of the prediction node of the current node in the reference frame; and determining whether the child node of the current node enables the inter-frame prediction mode based on the occupancy information of the prediction node; wherein the current child node is any child node within the current node.

[0138] Whether the inter-frame prediction mode is enabled for the current child node is related to the value of the first syntax element and the occupancy information of the prediction node of its parent node. The first syntax element serves as an enable flag for inter-frame prediction, and is used to indicate whether the upper-layer inter-frame prediction is enabled. In some embodiments, the value of the first syntax element is a first numerical value, which determines that the current node allows the inter-frame prediction mode to be enabled; the value of the first syntax element is a second numerical value, which determines that the current node does not allow the inter-frame prediction mode to be enabled. Exemplarily, the first syntax element identifier includes at least a frame-level syntax element, and the value of the first syntax element is 1, which allows the inter-frame prediction to be enabled; the value of the first syntax element is 0, which does not allow the inter-frame prediction to be enabled.

[0139] In some embodiments, when the occupancy information of a prediction node indicates occupied, inter-frame prediction mode is enabled for the current node; when the occupancy information of a prediction node indicates unoccupied, intra-frame prediction mode is enabled for the current node. Exemplarily, the occupancy information value of 0 indicates unoccupied, and 1 indicates occupied. That is, when the prediction node is occupied, inter-frame prediction is enabled for the current node, fully utilizing the inter-frame prediction information to improve prediction accuracy. Otherwise, inter-frame prediction is not enabled.

[0140] The occupancy status of a predicted node is related to the occupancy status of its child nodes. In some embodiments, the method further includes: determining occupancy information for multiple predicted child nodes in the predicted node; if the occupancy information of at least one predicted child node in the predicted node indicates occupied, determining the occupancy information of the predicted node indicates occupied; otherwise, determining the occupancy information of the predicted node indicates unoccupied. In other words, if at least one child node in the predicted node is occupied, the value of its occupancy information is set to 1; conversely, if no child node is occupied, the value of its occupancy information is set to 0.

[0141] In some embodiments, determining a target entropy decoding parameter set for the current subnode based on occupancy information of the predicted subnode in a reference frame includes: determining the target entropy decoding parameter set to be a first entropy decoding parameter set when the occupancy information of the predicted subnode indicates non-occupancy; and determining the target entropy decoding parameter set to be a second entropy decoding parameter set when the occupancy information of the predicted subnode indicates occupation. In other words, an entropy decoding parameter set is assigned to the current subnode based on the occupancy of the predicted subnode, the first entropy decoding parameter set including multiple entropy decoding parameters for the current subnode when the predicted subnode is non-occupied, and the second entropy decoding parameter set including multiple entropy decoding parameters for the current subnode when the predicted subnode is occupied.

[0142] Furthermore, when the occupancy information of the predicted subnode is indicated as occupied, the method further includes: determining an occupancy intensity of the predicted subnode based on the number of occupied nodes in the predicted subnode; and determining a second entropy decoding parameter set based on the occupancy intensity. In other words, when the predicted subnode is occupied, the number of occupied nodes in the predicted subnode can be further divided into two or more occupancy intensities, thereby matching an appropriate entropy decoding parameter set based on the occupancy intensity to further improve the prediction accuracy of the current subnode.

[0143] In some embodiments, the occupancy strength of the predicted sub-node is determined based on the number of occupied nodes in the predicted sub-node, including: when the number of occupied nodes in the predicted sub-node is greater than a first threshold, the occupancy strength is determined to be strongly occupied; when the number of occupied nodes in the predicted sub-node is less than or equal to the first threshold, the occupancy strength is determined to be occupied.

[0144] Exemplarily, when the occupancy information of the predicted subnode is indicated as non-occupancy, the target entropy decoding parameter set is determined to be the first entropy decoding parameter set; when the occupancy information of the predicted subnode is indicated as occupied and the occupancy strength is strong occupancy, the second entropy decoding parameter set is determined to be the strong occupied entropy decoding parameter set; when the occupancy information of the predicted subnode is indicated as occupied and the occupancy strength is occupied (also referred to as weak occupancy), the second entropy decoding parameter set is determined to be the occupied entropy decoding parameter set.

[0145] S102: Determine a target entropy decoding parameter of the current child node from a target entropy decoding parameter set according to context information of the current child node;

[0146] The context information is related to the occupancy information of the context node of the current child node. In some embodiments, the context information is constructed based on the occupancy information of the context node of the current child node and a target construction strategy.

[0147] In some embodiments, the target construction strategy includes: constructing context information according to a preset context node scanning order and occupancy information of the context nodes.

[0148] Exemplarily, the context node includes at least one of the following: decoded sibling nodes of the current child node; decoded neighbor child nodes with which the current child node is coplanar, co-edge, or co-pointed; decoded neighbor parent nodes with which the current child node is coplanar or co-edgeed; and other decoded neighbor nodes of the current child node. The context node scanning order can be: decoded sibling nodes of the current child node > decoded coplanar child node neighbors of the current child node > decoded co-edge child node neighbors of the current child node > decoded co-point child node neighbors of the current child node > decoded other child node neighbors of the current child node > decoded coplanar parent node neighbors of the current child node > decoded co-edge parent node neighbors of the current child node > other 20 decoded parent node neighbors. Context information is constructed for the child node to be decoded based on the scanning order and occupancy information.

[0149] In other embodiments, the target construction strategy includes: constructing first and second context information based on a preset context information composition structure and context node occupancy information; the first information has a fixed number of bits, while the second information has an adjustable number of bits. The first information may be primary information, the second information may be secondary information, and whether part of the secondary information serves as context information may be dynamically adjusted.

[0150] In some embodiments, determining target entropy decoding parameters of the current child node from a target entropy decoding parameter set based on context information of the current child node includes: determining a context state of the current child node from a target context state set of the current child node based on the context information of the current child node; wherein the target context state set includes a mapping relationship between multiple types of context information and context states; and determining the target entropy decoding parameters of the current child node from the target entropy decoding parameter set based on the context state of the current child node. wherein one or more types of context information correspond to one context state, and the context state is used to index the corresponding target entropy decoding parameters.

[0151] The target context state set includes a mapping relationship between multiple context information and context states. For example, when the number of bits of context information is 19, a maximum of 2 19 The context information is 16 bits, with a maximum of 2 16 The target context state set is indexed according to the context information of the current child node to determine the context state of the current child node, and the target entropy decoding parameter set is further indexed according to the context state to determine the target entropy decoding parameter of the current child node.

[0152] In some embodiments, the method may further include: determining a local sparse category of the current child node based on occupancy information of decoded neighbor nodes of the current child node; and determining a target context state set of the current child node based on the local sparse category.

[0153] The local sparsity category is used to indicate the local sparsity of the decoded neighboring nodes of the current child node. Multiple context state sets can be preconfigured, with different local sparsity categories corresponding to different context state sets. In some embodiments, determining the local sparsity category of the current child node based on the occupancy information of the decoded neighboring nodes of the current child node includes: determining the number of occupied neighboring nodes based on the occupancy information of the neighboring nodes; if the number of occupied neighboring nodes is greater than a second threshold, determining the local sparsity category of the current child node to be the first category; if the number of occupied neighboring nodes is less than or equal to the second threshold, determining the local sparsity category of the current child node to be the second category.

[0154] That is, based on the occupancy information of the neighboring nodes (i.e., whether they are occupied), the occupied number (NN) of the neighboring nodes can be determined. Then, based on the comparison of NN with the second threshold, the local sparse category of the current child node can be determined. The first category can be a non-sparse category, and the second category can be a sparse category.

[0155] The decoded neighbor node and the decoded context node of the current child node are the same or not exactly the same. Exemplarily, the neighbor node includes at least one of the following: the decoded sibling node of the current child node; the decoded neighbor child node in the first preset direction adjacent to the current child node; the decoded neighbor child node in the second preset direction adjacent to the current child node; the decoded neighbor child node in the third preset direction adjacent to the current child node. Among them, the first preset direction may refer to the negative direction of the x-axis of the current child node (the left direction), the second preset direction may refer to the negative direction of the y-axis of the current child node (the front direction), and the third preset direction may refer to the negative direction of the z-axis of the current child node (the bottom direction).

[0156] Exemplarily, the local sparsity (isSparse) of the symbol bn to be decoded is determined based on the occupancy of the decoded neighboring nodes. For the local sparse category of child node 0, it can be established according to the occupancy number (NN) of the 12 decoded child nodes in the negative xyz direction adjacent to the current child node in Figure 11. If the occupancy number NN>1, it is non-sparse (isSparse is 0), and if the occupancy number NN≤1, it is sparse (isSparse is 1). For the local sparse category of child node 1, it can be established according to the occupancy number (NN) of the 4 decoded child nodes in the negative y direction (Front) adjacent to the current child node in Figure 11. If the occupancy number NN>0, it is determined to be a non-sparse category. If the occupancy number NN=0, it is determined to be a sparse category. The local sparse category of child node 2 can be determined based on the occupancy number (NN) of the four decoded child nodes adjacent to the current child node in the negative z direction (Bottom) in Figure 11. If NN>0, it is determined to be a non-sparse category. If NN=0, it is determined to be a sparse category. The local sparse category of child node 3 can be determined based on the NN of the three nodes bit0+bit1+bit2 and the four decoded nodes adjacent to the current child node in the negative x direction (Left) in Figure 11. If NN>1, it is determined to be a non-sparse category. If NN≤1, it is determined to be a sparse category.

[0157] In some embodiments, the target context state set of the current child node is determined based on the local sparse category, including: when the local sparse category is the first category, determining the target context state set as the first context state set; when the local sparse category is the second category, determining the target context state set as the second context state set.

[0158] In some embodiments, the target context state set of the current child node is determined based on the local sparse category, including: when the inter-frame prediction mode is enabled for the current child node, the target context state set of the current child node is determined from the inter-frame context state set based on the local sparse category; when the intra-frame prediction mode is enabled for the current child node, the target context state set of the current child node is determined from the intra-frame context state set based on the local sparse category.

[0159] In the embodiment of the present application, the target context state set to be used is determined based on the local sparse category and whether inter-frame prediction is used. When the category is non-sparse and inter-frame prediction is not used, the intra-frame non-sparse context state set (IntraNSparse state) is used; when the category is sparse and inter-frame prediction is not used, the intra-frame sparse context state set (IntraSparse state) is used; when the category is non-sparse and inter-frame prediction is used, the inter-frame non-sparse context state set (InterNSparse state) is used; when the category is sparse and inter-frame prediction is used, the inter-frame sparse context state set (InterSparse state) is used.

[0160] In some embodiments, the method further includes: constructing a plurality of context information in an intra-frame context state set according to the occupancy information of the context node and a first construction strategy, and initializing the context state of each context information; constructing a plurality of context information in an inter-frame context state set according to the occupancy information of the context node and a second construction strategy, and initializing the context state of each context information.

[0161] In an embodiment of the present application, a first construction strategy may include: constructing context information according to a preset context node scanning order and the occupancy information of the context nodes; or, constructing first information and second information of the context information according to a preset context information composition structure and the occupancy information of the context nodes; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable. A second construction strategy may include: constructing context information according to a preset context node scanning order and the occupancy information of the context nodes; or, constructing first information and second information of the context information according to a preset context information composition structure and the occupancy information of the context nodes; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable. The first construction strategy and the second construction strategy are the same or different.

[0162] In some embodiments, the method further includes: when the intra-frame prediction mode is enabled for the current child node, determining a target entropy decoding parameter set for the current child node based on the local sparse category. Exemplarily, when the local sparse category is the first category, the target entropy decoding parameter set is determined to be a third entropy decoding parameter set; and when the local sparse category is the second category, the target entropy decoding parameter set is determined to be a fourth entropy decoding parameter set. That is, when the intra-frame prediction mode is enabled for the current child node, an entropy decoding parameter set is allocated based on the local sparse category of the current child node. The third entropy decoding parameter set may include multiple entropy decoding parameters corresponding to the local non-sparse category, and the fourth entropy decoding parameter set may include multiple entropy decoding parameters corresponding to the local sparse category.

[0163] In some embodiments, determining a target entropy decoding parameter of the current child node from a target entropy decoding parameter set based on a context state of the current child node includes: determining an index value of the target entropy decoding parameter based on the context state; and determining the target entropy decoding parameter of the current child node from the target entropy decoding parameter set based on the index value of the target entropy decoding parameter. That is, in the target entropy decoding parameter set, the context state is mapped to an index value of a certain entropy decoding parameter according to a certain mapping rule to index the target entropy decoding parameter.

[0164] In an embodiment of the present application, the entropy decoding parameters may include the probability of the current child node being occupied or not occupied under the context information. In some embodiments, the context state may be the initial probability of the current child node being occupied (or not occupied) under the current context. A large number of context states are mapped to a fixed number of probability models / context models, and the occupancy information of the current child node is arithmetically decoded using the indexed probability model to improve decoding efficiency.

[0165] In some embodiments, determining an index value of a target entropy decoding parameter based on a context state includes determining an index value of the target entropy decoding parameter based on the upper M bits of the context state, wherein M is related to the number of parameters in the target entropy decoding parameter set. Exemplarily, when the number of parameters N in the target entropy decoding parameter set is 32, the upper 5 bits of the context state are used, and the value of the upper 5 bits is the index value of the target entropy decoding parameter.

[0166] In the embodiment of the present application, the method for constructing inter-frame context information can adopt the same method as that for constructing intra-frame context information. For example, the scheme for constructing intra-frame context can be:

[0167] (1) For child node 0, there are child node neighbors with the same plane, the same edge, and the same point, no decoded sibling nodes, and there are parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 16 bits, with a maximum of 2 16 The upper 4 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0168] Among them, the local sparsity of child node 0 can be determined according to the occupancy number (NN) of the 12 decoded child nodes in the negative x, y, and z directions adjacent to the current child node in Figure 11. If the occupancy number NN>1, it is determined to be a non-sparse category, and if the occupancy number NN≤1, it is determined to be a sparse category. For example, Figure 11 shows a distribution diagram of the child neighbor nodes and coplanar parent neighbor nodes of child node 0, and Figure 12 shows a distribution sequence diagram of the 20 parent neighbor nodes of child node 0. Among them, the numbers 1, 2, 4, 8, 16, 32, etc. represent the numbers of the neighbor nodes.

[0169] Table 1 Context information of child node 0

[0170] Table 1 shows the explanation of each bit of context information corresponding to child node 0. The order from most significant to least significant bit reflects the importance of the information. The 1s or 0s filled in black represent the flag bit of the current classification. For example, 3 directions means that there are occupied context nodes in the negative directions of x, y, and z simultaneously; 2 directions means that there are occupied context nodes in two of the negative directions of x, y, and z; and 1 direction means that there is an occupied context node in one of the negative directions of x, y, and z. The negation operation "!" indicates that the symbol of the bit is the inverted version of its actual symbol. In addition, this also involves coplanar child nodes, co-edge child nodes, co-point child nodes, edge-sand child nodes, and co-position child nodes. In Table 1, the meanings of the symbols are explained as follows: B (Bottom), F (Front), and L (Left) are the parent neighbors of the six neighbors numbered 16, 4, and 2 that are coplanar with the current node in Figure 11. Since these three decoded nodes are located in the negative direction of the current node's coordinate axis, their child node occupancy information can be obtained. Therefore, Table 1 lists the child nodes that are coplanar, co-edge, and co-point with the current child node in these three directions one by one; it should be noted that the English abbreviations B, F, and L represent the child nodes that are coplanar, co-edge, and co-point with the current child node, such as the English full name Botto m, Front, and Left represent the parent neighbors of the current child node that are coplanar, co-edge, and co-point. Top, Back, and Right are the parent neighbors of the six coplanar neighbors of the current node in Figure 11, numbered 32, 8, and 1, respectively. Since these three decoded nodes are located in the positive direction of the current node's coordinate axis, their child node occupancy information cannot be obtained, and their relevance is weaker than the above-mentioned 12 child neighbor nodes. Other numbers such as 9, 4, 1, and 2 in Table 1 are the serial numbers of the 20 co-edge / co-point neighbors of the current node except the six coplanar parent neighbors shown in Figure 12. For the co-located child nodes in Table 1 bit0 B. bit0 F. bit0L can be understood in this way: there is also a child node numbered 0 in the decoded Bottom, Front, and Left nodes, and this node is called the co-node; the two letters represented in the table, such as LF, LB, and FB, respectively represent the occupancy information of the two child nodes sandwiched between the Left and Front directions that share the same edge with the current child node (obtained by the No. 1 placeholder code among the 20 neighbors), the occupancy information of the two child nodes sandwiched between the Left and Bottom directions that share the same edge with the current child node (obtained by the No. 8 placeholder code among the 20 neighbors), and the occupancy information of the two child nodes sandwiched between the Front and Bottom directions that share the same edge with the current child node (obtained by the No. 3 placeholder code among the 20 neighbors).

[0171] (2) For child node 1, there are child node neighbors that share the same plane, edge, and point with it, there is a decoded sibling node bit0, there are parent node neighbors that share the same plane with it, and there are other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 19 bits, with a maximum of 2 19 The upper 7 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0172] The local sparsity of child node 1 can be determined based on the occupancy count (NN) of the four decoded child nodes adjacent to the current child node in the negative y direction (Front) in Figure 11. If NN > 0, the node is classified as non-sparse; if NN = 0, the node is classified as sparse. Table 2 explains the context information for each bit in the bins. It can be seen that the decoded occupancy information of sibling node 0 is the most important, being located in the highest bit of the bin.

[0173] Table 2. Context information of child node 1

[0174] (3) For child node 2, there are child node neighbors that share the same plane, edge, and point with it, there are two decoded sibling nodes bit0 and bit1, there are parent node neighbors that share the same plane with it, and there are other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 19 bits, with a maximum of 2 19 The upper 7 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0175] The local sparsity of child node 2 can be determined based on the occupancy count (NN) of the four decoded child nodes adjacent to the current child node in the negative z direction (bottom) in Figure 11. If NN > 0, the node is classified as non-sparse; if NN = 0, the node is classified as sparse. Table 3 explains the context information for each bit in the bins. It can be seen that the decoded occupancy information of sibling node 0 is the most important, being located in the highest bit of the bin.

[0176] Table 3. Context information of child node 2

[0177] (4) For child node 3, there are child node neighbors that share the same plane, edge, and point with it, there are 3 decoded sibling nodes bit0, bit1, and bit2, there are parent node neighbors that share the same plane with it, and there are other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 17 bits, with a maximum of 2 17 states, with the upper 6 bits as the main information and the lower 11 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 18 bits, with a maximum of 2 18 The upper 6 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0178] Among them, for the local sparsity of child node 3, the three nodes bit0+bit1+bit2 and the seven nodes decoded in the negative x direction (Left) adjacent to the current child node in Figure 11 can be established as NN. If the occupancy number NN>1, it is judged as a non-sparse category. If the occupancy number NN≤1, it is judged as a sparse category.

[0179] Table 4. Context information of child node 3

[0180] (5) For child node 4, there are child node neighbors with the same plane, edge, and point. There are 4 decoded sibling nodes bit0, bit1, bit2, and bit3. There are parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 16 bits, with a maximum of 2 16 The upper 4 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0181] Among them, for the local sparsity of child node 4, the 12 nodes can be established together as NN: the 4 nodes bit0+bit1+bit2+bit3 (denoted as "new Left"), the 4 decoded nodes in the negative y direction (Front) adjacent to the current child node in Figure 11, and the 4 decoded nodes in the negative z direction (Bottom). If the occupancy number NN>1, it is judged as a non-sparse category. If the occupancy number NN≤1, it is judged as a sparse category.

[0182] Table 5. Context information of child node 4

[0183] (5) For child node 5, there are child node neighbors with the same plane, edge, and point. There are 5 decoded sibling nodes bit0, bit1, bit2, bit3, and bit4. There are parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 19 bits, with a maximum of 2 19 The upper 7 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0184] Among them, for the local sparsity of child node 5, the negative y direction (Front) adjacent to the current child node in Figure 11 can be established as NN. If the occupancy number NN>0, it is judged as a non-sparse category. If the occupancy number NN=0, it is judged as a sparse category.

[0185] Table 6. Context information of child node 5

[0186] (7) For child node 6, there are child node neighbors with the same plane, edge, and point. There are 6 decoded sibling nodes bit0, bit1, bit2, bit3, bit4, and bit5. There are parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 19 bits, with a maximum of 2 19 states, with the upper 6 bits as the main information and the lower 13 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 19 bits, with a maximum of 2 19 The upper 7 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0187] Among them, for the local sparsity of child node 6, the negative z direction (Bottom) adjacent to the current child node in Figure 11 can be established as NN. If the occupancy number NN>0, it is judged as a non-sparse category. If the occupancy number NN=0, it is judged as a sparse category.

[0188] Table 7. Context information of child node 6

[0189] (8) For child node 7, there is no child node neighbor with the same plane, edge, or point. There are 7 decoded sibling nodes bit0, bit1, bit2, bit3, bit4, bit5, and bit6. There is a parent node neighbor with the same plane and 20 other decoded neighbors that can be referenced. When it is determined to be a non-sparse category, the context bins are 17 bits, with a maximum of 2 17 states, with the upper 6 bits as the main information and the lower 11 bits as the unreduced secondary information; when it is determined to be a sparse category, the context bins is 18 bits, with a maximum of 2 18 The upper 6 bits are used as the main information and the lower 12 bits are used as the unreduced secondary information.

[0190] Among them, for the local sparsity of child node 7, the seven nodes bit0+bit1+bit2+bit3+bit4+bit5+bit6 can be established as NN. If the occupancy number NN>1, it is judged as a non-sparse category. If the occupancy number NN≤1, it is judged as a sparse category.

[0191] Table 8. Context information of child node 7

[0192] S103: Perform entropy decoding on the code stream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

[0193] In some embodiments, the method further includes: updating a target entropy decoding parameter according to occupancy information of the current child node.

[0194] In some embodiments, the method further includes: updating the context state according to the occupancy information of the current child node.

[0195] Based on the above embodiment, the decoding method provided in the embodiment of the present application is further illustrated. As shown in FIG13 , the decoding method is specifically a method for decoding point cloud geometric information. The method may include:

[0196] S201: Local sparsity determination

[0197] The local sparsity (isSparse) of the symbol to be decoded bn is determined based on the occupancy information of the decoded neighboring nodes. For example, for child node 0, the local sparsity is determined by the occupancy number (NN) of the 12 decoded child nodes adjacent to the current child node in the negative xyz direction. If the occupancy number NN>1, the symbol is non-sparse (isSparse is 0), and if the occupancy number NN≤1, the symbol is sparse (isSparse is 1).

[0198] According to the value of isSparse (0 or 1), the context state can be divided into a sparse context state set and a non-sparse context state set.

[0199] S202: Inter-frame prediction determination

[0200] According to the occupancy information (predOcc) of the prediction node of the current node in the reference frame and the inter-frame prediction enable flag (isInter), it is determined whether to enable inter-frame prediction, that is, the value of isInter2 is determined.

[0201] isInter2=isInter&&predOcc, that is, the value of isInter2 is determined by isInter and predOcc, and predOcc is an identifier used to indicate whether the prediction node is occupied. Specifically, if at least one child node bPi is occupied in the prediction node, then predOcc is set to 1; conversely, if no child node is occupied, then predOcc is 0. In addition, the value of isInter is controlled by the syntax element gbh.interPredictionEnabledFlag, which is used to indicate whether the upper-layer inter-frame prediction is enabled. If inter-frame prediction is enabled, it is called a P frame, and isInter is 1; conversely, if it is not enabled, it is called an I frame, and isInter is 0.

[0202] S203: Context state selection

[0203] First, the context state set to be used is determined based on whether it is sparse (isSparse) and whether it is inter-frame prediction (isInter2). When the non-sparse category is used and inter-frame prediction is not used, the intra-frame non-sparse context state set (IntraNSparse state) is used; when the sparse category is used and inter-frame prediction is not used, the intra-frame sparse context state set (IntraSparse state) is used; when the non-sparse category is used and inter-frame prediction is used, the inter-frame non-sparse context state set (InterNSparse state) is used; when the sparse category is used and inter-frame prediction is used, the inter-frame sparse context state set (InterSparse state) is used. Among them, the construction method of the context information in the intra-frame non-sparse context state set (IntraNSparse state), the intra-frame sparse context state set (IntraSparse state), the inter-frame non-sparse context state set (InterNSparse state), and the inter-frame sparse context state set (InterSparse state) can be the construction method in OBUF or the construction method of dynamic OBUF, and the construction method of the context on the decoding end is consistent with that on the encoding end.

[0204] It should be noted that compared to the prior art method for constructing inter-frame context information, 2 bits of inter-frame prediction information are added to the intra-frame context information, and the number of inter-frame context states is 4 times the number of intra-frame context states, requiring a large amount of storage space. The inter-frame context construction method of the embodiment of the present application can adopt the same construction method as the intra-frame context, without the need to use inter-frame prediction information in the construction, thereby reducing the number of inter-frame context states, saving storage space, and improving decoding efficiency.

[0205] Secondly, in the selected context state set, according to the occupancy information of the context node of the child node to be decoded, the context state of the child node to be decoded is obtained, that is, the probability P of the child node to be decoded occupying (or not occupying) in this context situation is obtained. S .

[0206] S204: Entropy decoding parameter selection

[0207] First, for intra-frame prediction mode, the entropy decoding parameter set to be used is determined based on the context state set selected by the child node to be decoded. This can also be called a decoder group, with each decoder containing one entropy decoding parameter. For inter-frame prediction mode, the entropy decoding parameter set to be used is determined based on the occupancy information of the predicted child node. The specific method is shown in Figure 9.

[0208] It is determined that intra prediction is used. If the intra non-sparse context state set (IntraNSparse state) is used, it is determined that the intra non-sparse entropy decoding parameter set (IntraNSparse Coder) is used; if the intra sparse context state set (IntraSparse state) is used, it is determined that the intra sparse entropy decoding parameter set (IntraSparse Coder) is used.

[0209] When it is determined to be inter-frame prediction and Pred0 is not occupied, the inter-frame entropy decoding parameter set InterPred0Coder is determined to be used; when it is determined to be inter-frame prediction and Pred1 is occupied, the inter-frame entropy decoding parameter set InterPred1Coder is determined to be used; when it is determined to be inter-frame prediction and PredL is strongly occupied, the inter-frame entropy decoding parameter set InterPredL Coder is determined to be used. That is to say, for inter-frame prediction, the sparse context state and the non-sparse context state share the entropy decoding parameter set, and the entropy decoding parameter set is selected only according to the prediction of non-occupancy, occupation, and strong occupation, making full use of the correlation between the inter-frame sparse context state and the inter-frame non-sparse context state to improve the accuracy of inter-frame prediction.

[0210] Specifically, based on the occupancy information of the predicted child nodes, the information determined to be inter-frame prediction (isInter2=1) is divided into the following categories:

[0211] a) Pred0: When the child node i is predicted to be empty, the current child node i is predicted to not occupy bPi=0.

[0212] b) Pred1: When the predicted child node i is not empty, the current child node i is predicted to occupy bPi = 1. At this time, there are two cases based on the number of occupied nodes (Npred) contained in the predicted child node i:

[0213] i.predL=1: When the predicted child node i is not empty and the number of occupied nodes (Npred) therein exceeds the first threshold th, the current child node i is strongly occupied.

[0214] ii. predL=0: When the predicted child node i is not empty and the number of occupied nodes (Npred) therein does not exceed the first threshold th, the child node i is not strongly occupied.

[0215] Secondly, in the determined decoder group, according to certain mapping rules, the context state P of bn is converted to S Mapped to decoder Ci. The mapping rule can be to take the high 5 bits of the context state, the value of which is the index value of the mapped decoder, and the probability of the mapped decoder Ci is P C .

[0216] S205: Adaptive arithmetic decoding

[0217] The probability P of using the determined decoder Ci C , perform adaptive arithmetic decoding on the occupancy information bn of the child node to be decoded.

[0218] The decoding method provided in the embodiments of the present application uses a shared decoder group for both locally sparse and locally non-sparse frames during inter-frame prediction. This method fully utilizes inter-frame prediction information to select the optimal decoder group for the current child node, and further selects the optimal entropy decoder for decoding based on context information, thereby improving decoding efficiency. Furthermore, inter-frame context information and intra-frame context information can be constructed using the same method, resulting in the same number of inter-frame context states as intra-frame context states, significantly reducing the number of inter-frame context states and saving storage space.

[0219] In another embodiment of the present application, referring to FIG14 , a schematic flow chart of an encoding method provided by an embodiment of the present application is shown. As shown in FIG14 , the method may include:

[0220] S301: When the inter-frame prediction mode is enabled for the current child node, determine a target entropy coding parameter set for the current child node according to the occupancy information of the predicted child node of the current child node in the reference frame;

[0221] It should be noted that the current child node is any child node of the current node to be encoded. As shown in Figure 7, the current node includes 8 child nodes, and the scanning order of the child nodes is child node 0, child node 1, child node 2, child node 3, child node 4, child node 5, child node 6, and child node 7.

[0222] The predicted child node is the co-located child node of the current child node in the predicted node. The predicted node is the predicted node of the current node in the reference frame. The predicted information of the current node is determined based on the occupancy information of the predicted node. The predicted node includes multiple predicted child nodes. Furthermore, the predicted information of the current child node can be determined based on the occupancy information of the co-located predicted child nodes of the current child node. Occupancy information, also known as placeholder information or placeholder symbol, takes a value of 0 or 1, with 0 indicating no occupancy and 1 indicating occupancy.

[0223] The target entropy coding parameter set includes multiple entropy coding parameters, which are used to entropy encode the occupancy information of the child nodes. In some embodiments, the entropy coding parameters may be arithmetic coding parameters, and adaptive arithmetic coding is performed on the occupancy information of the child nodes based on the arithmetic coding parameters. Exemplarily, the arithmetic decoding parameters may be the probability of the current child node being occupied or not occupied under any context information.

[0224] In some embodiments, a target entropy coding parameter set for the current child node is determined from multiple entropy coding parameter sets based on the occupancy information of the predicted child node in the reference frame. In other words, different entropy coding parameter sets can be preconfigured for different inter-frame prediction scenarios to improve inter-frame prediction accuracy. When inter-frame prediction mode is enabled, a matching target entropy coding parameter set is selected based on the actual inter-frame prediction scenario.

[0225] In some embodiments, the method further includes: determining whether the current node allows the inter-frame prediction mode to be enabled based on the value of the first syntax element; if the current node allows the inter-frame prediction mode to be enabled, determining the occupancy information of the prediction node of the current node in the reference frame; and determining whether the child node of the current node enables the inter-frame prediction mode based on the occupancy information of the prediction node; wherein the current child node is any child node within the current node.

[0226] Whether the inter-frame prediction mode is enabled for the current child node is related to the value of the first syntax element and the occupancy information of the prediction node of its parent node. The first syntax element serves as an enable flag for inter-frame prediction, and is used to indicate whether the upper-layer inter-frame prediction is enabled. In some embodiments, the value of the first syntax element is a first numerical value, which determines that the current node allows the inter-frame prediction mode to be enabled; the value of the first syntax element is a second numerical value, which determines that the current node does not allow the inter-frame prediction mode to be enabled. Exemplarily, the first syntax element identifier includes at least a frame-level syntax element, and the value of the first syntax element is 1, which allows the inter-frame prediction to be enabled; the value of the first syntax element is 0, which does not allow the inter-frame prediction to be enabled.

[0227] In some embodiments, when the occupancy information of a prediction node indicates occupied, inter-frame prediction mode is enabled for the current node; when the occupancy information of a prediction node indicates unoccupied, intra-frame prediction mode is enabled for the current node. Exemplarily, the occupancy information value of 0 indicates unoccupied, and 1 indicates occupied. That is, when the prediction node is occupied, inter-frame prediction is enabled for the current node, fully utilizing the inter-frame prediction information to improve prediction accuracy. Otherwise, inter-frame prediction is not enabled.

[0228] The occupancy status of a predicted node is related to the occupancy status of its child nodes. In some embodiments, the method further includes: determining occupancy information for multiple predicted child nodes in the predicted node; if the occupancy information of at least one predicted child node in the predicted node indicates occupied, determining the occupancy information of the predicted node indicates occupied; otherwise, determining the occupancy information of the predicted node indicates unoccupied. In other words, if at least one child node in the predicted node is occupied, the value of its occupancy information is set to 1; conversely, if no child node is occupied, the value of its occupancy information is set to 0.

[0229] In some embodiments, determining a target entropy coding parameter set for the current subnode based on occupancy information of the predicted subnode in a reference frame includes: determining the target entropy coding parameter set to be a first entropy coding parameter set when the predicted subnode occupancy information indicates non-occupancy; and determining the target entropy coding parameter set to be a second entropy coding parameter set when the predicted subnode occupancy information indicates occupation. In other words, an entropy coding parameter set is assigned to the current subnode based on the occupancy of the predicted subnode, the first entropy coding parameter set including multiple entropy coding parameters for the current subnode when the predicted subnode is non-occupied, and the second entropy coding parameter set including multiple entropy coding parameters for the current subnode when the predicted subnode is occupied.

[0230] Furthermore, when the occupancy information of the predicted subnode is represented as occupied, the method further includes: determining an occupancy intensity of the predicted subnode based on the number of occupied nodes in the predicted subnode; and determining a second entropy coding parameter set based on the occupancy intensity. In other words, when the predicted subnode is occupied, the number of occupied nodes in the predicted subnode can be divided into two or more occupancy intensities, thereby matching an appropriate entropy coding parameter set based on the occupancy intensity, thereby further improving the prediction accuracy of the current subnode.

[0231] In some embodiments, the occupancy strength of the predicted sub-node is determined based on the number of occupied nodes in the predicted sub-node, including: when the number of occupied nodes in the predicted sub-node is greater than a first threshold, the occupancy strength is determined to be strongly occupied; when the number of occupied nodes in the predicted sub-node is less than or equal to the first threshold, the occupancy strength is determined to be occupied.

[0232] Exemplarily, when the occupancy information of the predicted subnode is indicated as non-occupancy, the target entropy coding parameter set is determined to be the first entropy coding parameter set; when the occupancy information of the predicted subnode is indicated as occupied and the occupancy strength is strong occupancy, the second entropy coding parameter set is determined to be the strong occupied entropy coding parameter set; when the occupancy information of the predicted subnode is indicated as occupied and the occupancy strength is occupied (also referred to as weak occupancy), the second entropy coding parameter set is determined to be the occupied entropy coding parameter set.

[0233] S302: Determine a target entropy coding parameter of the current child node from a target entropy coding parameter set according to context information of the current child node;

[0234] The context information is related to the occupancy information of the context node of the current child node. In some embodiments, the context information is constructed based on the occupancy information of the context node of the current child node and a target construction strategy.

[0235] In some embodiments, the target construction strategy includes: constructing context information according to a preset context node scanning order and occupancy information of the context nodes.

[0236] Exemplarily, the context node includes at least one of the following: the encoded sibling node of the current child node; the encoded neighbor child node with which the current child node is coplanar, co-edge, or co-pointed; the encoded neighbor parent node with which the current child node is coplanar or co-edgeed; and the current child node's other encoded neighbor nodes. The context node scanning order can be: the encoded sibling node of the current child node > the encoded coplanar child node neighbors of the current child node > the encoded co-edge child node neighbors of the current child node > the encoded co-point child node neighbors of the current child node > the encoded other child node neighbors of the current child node > the encoded coplanar parent node neighbors of the current child node > the encoded co-edge parent node neighbors of the current child node > the other 20 encoded parent node neighbors. Context information is constructed for the child node to be encoded based on the scanning order and occupancy information.

[0237] In other embodiments, the target construction strategy includes: constructing first and second context information based on a preset context information composition structure and context node occupancy information; the first information has a fixed number of bits, while the second information has an adjustable number of bits. The first information may be primary information, the second information may be secondary information, and whether part of the secondary information serves as context information may be dynamically adjusted.

[0238] In some embodiments, determining a target entropy coding parameter of the current child node from a target entropy coding parameter set based on context information of the current child node includes: determining a context state of the current child node from a target context state set of the current child node based on the context information of the current child node; wherein the target context state set includes a mapping relationship between multiple types of context information and context states; and determining the target entropy coding parameter of the current child node from the target entropy coding parameter set based on the context state of the current child node. wherein one or more types of context information correspond to one context state, and the context state is used to index the corresponding target entropy coding parameter.

[0239] The target context state set includes a mapping relationship between multiple context information and context states. For example, when the number of bits of context information is 19, a maximum of 2 19 The context information is 16 bits, with a maximum of 2 16 The target context state set is indexed according to the context information of the current child node to determine the context state of the current child node, and the target entropy coding parameter set is further indexed according to the context state to determine the target entropy coding parameter of the current child node.

[0240] In some embodiments, the method may further include: determining a local sparse category of the current child node based on occupancy information of encoded neighbor nodes of the current child node; and determining a target context state set of the current child node based on the local sparse category.

[0241] The local sparsity category is used to indicate the local sparsity of the encoded neighboring nodes of the current child node. Multiple context state sets can be preconfigured, with different local sparsity categories corresponding to different context state sets. In some embodiments, the local sparsity category of the current child node is determined based on the occupancy information of the encoded neighboring nodes of the current child node, including: determining the number of occupied neighboring nodes based on the occupancy information of the neighboring nodes; if the number of occupied neighboring nodes is greater than a second threshold, determining the local sparsity category of the current child node to be the first category; if the number of occupied neighboring nodes is less than or equal to the second threshold, determining the local sparsity category of the current child node to be the second category.

[0242] That is, based on the occupancy information of the neighboring nodes (i.e., whether they are occupied), the occupied number (NN) of the neighboring nodes can be determined. Then, based on the comparison of NN with the second threshold, the local sparse category of the current child node can be determined. The first category can be a non-sparse category, and the second category can be a sparse category.

[0243] The encoded neighbor node and the encoded context node of the current child node are the same or not exactly the same. Exemplarily, the neighbor node includes at least one of the following: the encoded sibling node of the current child node; the encoded neighbor child node in the first preset direction adjacent to the current child node; the encoded neighbor child node in the second preset direction adjacent to the current child node; the encoded neighbor child node in the third preset direction adjacent to the current child node. Among them, the first preset direction may refer to the negative direction of the x-axis of the current child node (the left direction), the second preset direction may refer to the negative direction of the y-axis of the current child node (the front direction), and the third preset direction may refer to the negative direction of the z-axis of the current child node (the bottom direction).

[0244] In some embodiments, the target context state set of the current child node is determined based on the local sparse category, including: when the local sparse category is the first category, determining the target context state set as the first context state set; when the local sparse category is the second category, determining the target context state set as the second context state set.

[0245] In some embodiments, the target context state set of the current child node is determined based on the local sparse category, including: when the inter-frame prediction mode is enabled for the current child node, the target context state set of the current child node is determined from the inter-frame context state set based on the local sparse category; when the intra-frame prediction mode is enabled for the current child node, the target context state set of the current child node is determined from the intra-frame context state set based on the local sparse category.

[0246] In the embodiment of the present application, the target context state set to be used is determined based on the local sparse category and whether inter-frame prediction is used. When the category is non-sparse and inter-frame prediction is not used, the intra-frame non-sparse context state set (IntraNSparse state) is used; when the category is sparse and inter-frame prediction is not used, the intra-frame sparse context state set (IntraSparse state) is used; when the category is non-sparse and inter-frame prediction is used, the inter-frame non-sparse context state set (InterNSparse state) is used; when the category is sparse and inter-frame prediction is used, the inter-frame sparse context state set (InterSparse state) is used.

[0247] In some embodiments, the method further includes: constructing a plurality of context information in an intra-frame context state set according to the occupancy information of the context node and a first construction strategy, and initializing the context state of each context information; constructing a plurality of context information in an inter-frame context state set according to the occupancy information of the context node and a second construction strategy, and initializing the context state of each context information.

[0248] In an embodiment of the present application, a first construction strategy may include: constructing context information according to a preset context node scanning order and the occupancy information of the context nodes; or, constructing first information and second information of the context information according to a preset context information composition structure and the occupancy information of the context nodes; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable. A second construction strategy may include: constructing context information according to a preset context node scanning order and the occupancy information of the context nodes; or, constructing first information and second information of the context information according to a preset context information composition structure and the occupancy information of the context nodes; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable. The first construction strategy and the second construction strategy are the same or different.

[0249] In some embodiments, the method further includes: when the intra-frame prediction mode is enabled for the current child node, determining a target entropy coding parameter set for the current child node based on the local sparsity category. Exemplarily, when the local sparsity category is the first category, the target entropy coding parameter set is determined to be a third entropy coding parameter set; and when the local sparsity category is the second category, the target entropy coding parameter set is determined to be a fourth entropy coding parameter set. That is, when the intra-frame prediction mode is enabled for the current child node, an entropy coding parameter set is allocated based on the local sparsity category of the current child node. The third entropy coding parameter set may include multiple entropy coding parameters corresponding to the local non-sparse category, and the fourth entropy coding parameter set may include multiple entropy coding parameters corresponding to the local sparse category.

[0250] In some embodiments, determining a target entropy coding parameter for the current child node from a target entropy coding parameter set based on a context state of the current child node includes: determining an index value of the target entropy coding parameter based on the context state; and determining the target entropy coding parameter for the current child node from the target entropy coding parameter set based on the index value of the target entropy coding parameter. That is, in the target entropy coding parameter set, the context state is mapped to an index value of a certain entropy coding parameter according to a certain mapping rule to index the target entropy coding parameter.

[0251] In an embodiment of the present application, the entropy coding parameters may include the probability of the current child node being occupied or not occupied under the context information. In some embodiments, the context state may be the initial probability of the current child node being occupied (or not occupied) under the current context. A large number of context states are mapped to a fixed number of probability models / context models, and the occupancy information of the current child node is arithmetically encoded using the indexed probability model to improve coding efficiency.

[0252] In some embodiments, determining an index value of a target entropy coding parameter based on a context state includes determining an index value of a target encoder based on the upper M bits of the context state, wherein M is related to the number of parameters in the target entropy coding parameter set. Exemplarily, when the number of parameters N in the target entropy coding parameter set is 32, the upper 5 bits of the context state are used, and the value of the upper 5 bits is the index value of the target entropy coding parameter.

[0253] S303: Perform entropy coding on the occupancy information of the current child node according to the target entropy coding parameter, and write the obtained coding bits into the bitstream.

[0254] In some embodiments, the method further includes: updating a target entropy decoding parameter according to occupancy information of the current child node.

[0255] In some embodiments, the method further includes: updating the context state according to the occupancy information of the current child node.

[0256] Based on the above embodiment, the encoding method provided in the embodiment of the present application is further illustrated. As shown in FIG15 , the encoding method is specifically a method for encoding point cloud geometric information. The method may include:

[0257] S401: Local sparsity determination

[0258] The local sparsity (isSparse) of the symbol to be encoded bn is determined based on the occupancy information of the encoded neighboring nodes. For example, for child node 0, the local sparsity is determined by the occupancy number (NN) of the 12 encoded child nodes adjacent to the current child node in the negative xyz direction. If the occupancy number NN>1, the symbol is non-sparse (isSparse is 0), and if the occupancy number NN≤1, the symbol is sparse (isSparse is 1).

[0259] According to the value of isSparse (0 or 1), the context state can be divided into a sparse context state set and a non-sparse context state set.

[0260] S402: Inter-frame prediction determination

[0261] According to the occupancy information (predOcc) of the prediction node of the current node in the reference frame and the inter-frame prediction enable flag (isInter), it is determined whether to enable inter-frame prediction, that is, the value of isInter2 is determined.

[0262] isInter2=isInter&&predOcc, that is, the value of isInter2 is determined by isInter and predOcc, and predOcc is an identifier used to indicate whether the prediction node is occupied. Specifically, if at least one child node bPi is occupied in the prediction node, then predOcc is set to 1; conversely, if no child node is occupied, then predOcc is 0. In addition, the value of isInter is controlled by the syntax element gbh.interPredictionEnabledFlag, which is used to indicate whether the upper-layer inter-frame prediction is enabled. If inter-frame prediction is enabled, it is called a P frame, and isInter is 1; conversely, if it is not enabled, it is called an I frame, and isInter is 0.

[0263] S403: Context state selection

[0264] First, the context state set to be used is determined based on whether it is sparse (isSparse) and whether it is inter-frame prediction (isInter2). When the non-sparse category is used and inter-frame prediction is not used, the intra-frame non-sparse context state set (IntraNSparse state) is used; when the sparse category is used and inter-frame prediction is not used, the intra-frame sparse context state set (IntraSparse state) is used; when the non-sparse category is used and inter-frame prediction is used, the inter-frame non-sparse context state set (InterNSparse state) is used; when the sparse category is used and inter-frame prediction is used, the inter-frame sparse context state set (InterSparse state) is used. Among them, the construction method of the context information in the intra-frame non-sparse context state set (IntraNSparse state), the intra-frame sparse context state set (IntraSparse state), the inter-frame non-sparse context state set (InterNSparse state), and the inter-frame sparse context state set (InterSparse state) can be the construction method in OBUF or the construction method of dynamic OBUF.

[0265] It should be noted that compared to the prior art method for constructing inter-frame context information, 2 bits of inter-frame prediction information are added to the intra-frame context information, and the number of inter-frame context states is 4 times the number of intra-frame context states, requiring a large amount of storage space. The inter-frame context construction method of the embodiment of the present application can adopt the same construction method as the intra-frame context, without the need to use inter-frame prediction information in the construction, thereby reducing the number of inter-frame context states, saving storage space, and improving coding efficiency.

[0266] Secondly, in the selected context state set, according to the occupancy information of the context node of the sub-node to be encoded, the context state of the sub-node to be encoded is obtained, that is, the probability P of the sub-node to be encoded occupying (or not occupying) in this context situation is obtained. S .

[0267] S404: Entropy coding parameter selection

[0268] First, for intra-frame prediction mode, the entropy coding parameter set to be used is determined based on the context state set selected by the child node to be encoded. This is also called an encoder group, where each encoder contains one entropy coding parameter. For inter-frame prediction mode, the entropy coding parameter set to be used is determined based on the occupancy information of the predicted child node. The specific method is shown in Figure 9.

[0269] It is determined that intra prediction is used. If the intra non-sparse context state set (IntraNSparse state) is used, the intra non-sparse encoder group (IntraNSparse Coder) is determined to be used; if the intra sparse context state set (IntraSparse state) is used, the intra sparse encoder group (IntraSparse Coder) is determined to be used.

[0270] When it is determined to be inter-frame prediction and Pred0 is not occupied, the inter-frame encoder group InterPred0Coder is determined to be used; when it is determined to be inter-frame prediction and Pred1 is occupied, the inter-frame encoder group InterPred1Coder is determined to be used; when it is determined to be inter-frame prediction and PredL is strongly occupied, the inter-frame encoder group InterPredL Coder is determined to be used. In other words, for inter-frame prediction, the sparse context state and the non-sparse context state share the entropy coding parameter set, and the entropy coding parameter set is selected only based on the prediction of non-occupancy, occupation, or strong occupation, making full use of the correlation between the inter-frame sparse context state and the inter-frame non-sparse context state to improve the accuracy of inter-frame prediction.

[0271] Specifically, based on the occupancy information of the predicted child nodes, the information determined to be inter-frame prediction (isInter2=1) is divided into the following categories:

[0272] a) Pred0: When the child node i is predicted to be empty, the current child node i is predicted to not occupy bPi=0.

[0273] b) Pred1: When the predicted child node i is not empty, the current child node i is predicted to occupy bPi = 1. At this time, there are two cases based on the number of occupied nodes (Npred) contained in the predicted child node i:

[0274] i.predL=1: When the predicted child node i is not empty and the number of occupied nodes (Npred) therein exceeds the first threshold th, the current child node i is strongly occupied.

[0275] ii. predL=0: When the predicted child node i is not empty and the number of occupied nodes (Npred) therein does not exceed the first threshold th, the child node i is not strongly occupied.

[0276] Secondly, in the determined encoder group, according to certain mapping rules, the context state P of bn is converted to S Mapped to encoder Ci. The mapping rule can be to take the high 5 bits of the context state, and the size of its value is the index value of the mapped encoder. The probability of the mapped encoder Ci is P C .

[0277] S405: Adaptive arithmetic coding

[0278] The probability P of using the determined encoder Ci C , perform adaptive arithmetic coding on the occupancy information bn of the child node to be encoded.

[0279] The encoding method provided in the embodiments of the present application uses a shared encoder group for both local sparse and local non-sparse predictions during inter-frame prediction. This method fully utilizes inter-frame prediction information to select the optimal encoder group for the current child node, and further selects the optimal entropy encoder for encoding based on context information, thereby improving encoding efficiency. Furthermore, inter-frame context information and intra-frame context information can be constructed using the same method, resulting in the same number of inter-frame context states as intra-frame context states, significantly reducing the number of inter-frame context states and saving storage space.

[0280] The encoding and decoding methods provided by the embodiments of this application fully utilize inter-frame prediction information, further improving the efficiency of G-PCC geometric coding. Table 9 shows the BD-Rate representation under lossy compression conditions for geometric information. Compared to the prior art, while achieving the same encoding quality, the encoding bitrate of this application is reduced (negative BD-Rate) or increased (positive BD-Rate) by a percentage compared to the prior art.

[0281] Table 9 BD-Rate of GES-TM-v3.0 lossy compression

[0282] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see FIG16 , which shows a schematic diagram of the structure of a point cloud encoder provided by the embodiment of the present application. As shown in FIG16 , the point cloud encoder 160 may include: a first determining unit 1601 and an encoding unit 1602; wherein,

[0283] The first determining unit 1601 is configured to determine, when the inter-frame prediction mode is enabled for the current child node, a target entropy coding parameter set for the current child node based on occupancy information of the predicted child node of the current child node in the reference frame; and determine, based on context information of the current child node, a target entropy coding parameter for the current child node from the target entropy coding parameter set;

[0284] The encoding unit 1602 is configured to perform entropy encoding on the occupancy information of the current child node according to the target entropy encoding parameter, and write the obtained encoding bits into the bitstream.

[0285] It can be understood that each functional unit of the point cloud encoder also executes the encoding method described in any one of the aforementioned embodiments.

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

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

[0288] Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the point cloud encoder 160. 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.

[0289] Based on the composition of the above-mentioned point cloud encoder 160 and the computer-readable storage medium, refer to Figure 17, which shows a specific hardware structure diagram of the point cloud encoder 160 provided in an embodiment of the present application. As shown in Figure 17, the point cloud encoder 160 may include: a first communication interface 1701, a first memory 1702 and a first processor 1703; each component is coupled together through a first bus system 1704. It can be understood that the first bus system 1704 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 1704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the first bus system 1704 in Figure 17. Among them,

[0290] The first communication interface 1701 is used to receive and send signals when sending and receiving information with other external network elements;

[0291] A first memory 1702 is used to store computer programs that can be run on the first processor 1703;

[0292] The first processor 1703 is configured to, when running the computer program, execute:

[0293] Determine the occupancy information of the reference child node of the current child node;

[0294] Determining preset identification information of the current child node based on the occupancy information of the reference child node;

[0295] Determine the context information of the current child node based on the preset identification information;

[0296] The value of the syntax element to be encoded of the current child node is encoded based on the context information, and the obtained encoded bits are written into the bitstream.

[0297] It is understood that the first memory 1702 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 1702 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0298] The first processor 1703 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 1703. The above-mentioned first processor 1703 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the first memory 1702 , and the first processor 1703 reads the information in the first memory 1702 and completes the steps of the above method in combination with its hardware.

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

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

[0301] This embodiment provides a point cloud encoder, in which, for context information, the identification information therein can be given practical meaning, and the encoded sign bits can also be made valid; thereby, the accuracy of constructing context information can be improved, so as to select the best target point cloud encoder for encoding; in this way, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

[0302] The present application also provides a computer-readable storage medium that stores a bitstream generated by the encoding method of any of the aforementioned embodiments. The bitstream is generated by bit-coding information to be encoded, wherein the information to be encoded includes at least information such as the occupancy of a current child node.

[0303] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see FIG18 , which shows a schematic diagram of the structure of a point cloud decoder provided by the embodiment of the present application. As shown in FIG18 , the point cloud decoder 180 may include: a second determining unit 1801 and a decoding unit 1802; wherein,

[0304] The second determining unit 1801 is configured to determine, when the inter-frame prediction mode is enabled for the current child node, a target entropy decoding parameter set for the current child node based on occupancy information of the predicted child node of the current child node in the reference frame; and determine, based on context information of the current child node, a target entropy decoding parameter for the current child node from the target entropy decoding parameter set;

[0305] The decoding unit 1802 is configured to perform entropy decoding on the code stream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

[0306] It can be understood that each functional unit of the point cloud decoder also executes the decoding method described in any one of the aforementioned embodiments.

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

[0308] If the integrated unit is implemented as a software functional module and 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 for use in point cloud decoder 180. The computer-readable storage medium stores a computer program that, when executed by a second processor, implements any of the decoding methods described in the aforementioned embodiments.

[0309] Based on the composition of the above-mentioned point cloud decoder 180 and the computer-readable storage medium, refer to Figure 19, which shows a specific hardware structure diagram of the point cloud decoder 180 provided in an embodiment of the present application. As shown in Figure 19, the point cloud decoder 180 may include: a second communication interface 1901, a second memory 1902 and a second processor 1903; each component is coupled together through a second bus system 1904. It can be understood that the second bus system 1904 is used to realize the connection and communication between these components. In addition to the data bus, the second bus system 1904 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the second bus system 1904 in Figure 19. Among them,

[0310] The second communication interface 1901 is used for sending and receiving signals during the process of sending and receiving information between other external network elements;

[0311] The second memory 1902 is used to store computer programs that can be run on the second processor 1903;

[0312] The second processor 1903 is configured to, when running the computer program, execute:

[0313] Determine the occupancy information of the reference child node of the current child node;

[0314] Determining preset identification information of the current child node based on the occupancy information of the reference child node;

[0315] Determine the context information of the current child node based on the preset identification information;

[0316] The to-be-decoded syntax element of the current child node is decoded based on the context information, and a value of the to-be-decoded syntax element is determined.

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

[0318] It can be understood that the hardware functions of the second memory 1902 are similar to those of the first memory 1702, and the hardware functions of the second processor 1903 are similar to those of the first processor 1703; they will not be described in detail here.

[0319] This embodiment provides a point cloud decoder, in which, with respect to context information, the identification information therein can be given practical meaning, and the encoded symbol bits can also be made valid; thereby, the accuracy of constructing context information can be improved so as to select the best target point cloud decoder for decoding; thus, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

[0320] In another embodiment of the present application, referring to Figure 20 , which shows a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application. As shown in Figure 20 , the coding and decoding system 200 may include a point cloud encoder 2001 and a point cloud decoder 2002 .

[0321] In an embodiment of the present application, the point cloud encoder 2001 may be the point cloud encoder described in any one of the aforementioned embodiments, and the point cloud decoder 2002 may be the point cloud decoder described in any one of the aforementioned embodiments.

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

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

[0324] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined, if they do not conflict, to obtain new method embodiments. The features disclosed in the several product embodiments provided in this application can be arbitrarily combined, if they do not conflict, to obtain new product embodiments. The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined, if they do not conflict, to obtain new method embodiments or device embodiments.

[0325] 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

[0326] In an embodiment of the present application, at the encoding end, when the inter-frame prediction mode is enabled for the current sub-node, a target entropy coding parameter set for the current sub-node is determined based on the occupancy information of the predicted sub-node in the reference frame of the current sub-node; target entropy coding parameters for the current sub-node are determined from the target entropy coding parameter set based on the context information of the current sub-node; entropy coding is performed on the occupancy information of the current sub-node based on the target entropy coding parameters, and the resulting coded bits are written into the bitstream; at the decoding end, the target entropy decoder is determined using the same method, and the occupancy information is entropy decoded. In this way, when performing inter-frame prediction, the inter-frame prediction information is fully utilized to select the optimal entropy coding / decoder parameter set for the current sub-node, and the optimal entropy coding / decoder parameters are further selected based on the context information for encoding, thereby reducing the bit rate and improving encoding and decoding efficiency.

Claims

1. A decoding method, applied to a point cloud decoder, the method comprising: When the current child node enables the inter-frame prediction mode, determining a target entropy decoding parameter set of the current child node according to the occupancy information of the prediction child node of the current child node in the reference frame; Determining the target entropy decoding parameter of the current child node from the target entropy decoding parameter set according to the context information of the current child node; Performing entropy decoding on the bitstream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

2. The method according to claim 1, wherein, The method further comprises: Determining whether the current node allows the inter-frame prediction mode to be enabled according to the value of the first syntax element; When the current node allows the inter-frame prediction mode to be enabled, determining the occupancy information of the prediction node of the current node in the reference frame; Determining whether the child node of the current node enables the inter-frame prediction mode according to the occupancy information of the prediction node; wherein, the current child node is any child node within the current node.

3. The method according to claim 2, wherein The determining whether the current node allows the inter-frame prediction mode to be enabled according to the value of the first syntax element comprises: When the value of the first syntax element is a first numerical value, determining that the current node allows the inter-frame prediction mode to be enabled; When the value of the first syntax element is a second numerical value, determining that the current node does not allow the inter-frame prediction mode to be enabled.

4. The method according to claim 2, wherein, The determining whether the child node of the current node enables the inter-frame prediction mode according to the occupancy information of the prediction node comprises: When the occupancy information of the prediction node is represented as occupied, determining that the current node enables the inter-frame prediction mode; When the occupancy information of the prediction node is represented as not occupied, determining that the current node enables the intra-frame prediction mode.

5. The method according to claim 4, wherein The method further comprises: Determining the occupancy information of multiple prediction child nodes in the prediction node; When the occupancy information of at least one prediction child node in the prediction node is represented as occupied, determining that the occupancy information of the prediction node is represented as occupied; Otherwise, determining that the occupancy information of the prediction node is represented as not occupied.

6. The method according to claim 1, wherein The determining the target entropy decoding parameter set of the current child node according to the occupancy information of the prediction child node of the current child node in the reference frame comprises: When the occupancy information of the prediction child node is represented as not occupied, determining that the target entropy decoding parameter set is a first entropy decoding parameter set; When the occupancy information of the prediction child node is represented as occupied, determining that the target entropy decoding parameter set is a second entropy decoding parameter set.

7. The method according to claim 6, wherein When the occupancy information of the prediction child node is represented as occupied, the method further comprises: Determining the occupancy intensity of the prediction child node according to the number of occupied nodes in the prediction child node; Determining the second entropy decoding parameter set according to the occupancy intensity.

8. The method according to claim 7, wherein The determining the occupancy intensity of the prediction child node according to the number of occupied nodes in the prediction child node comprises: When the number of occupied nodes in the prediction child node is greater than a first threshold, determining that the occupancy intensity is strong occupancy; When the number of occupied nodes in the prediction child node is less than or equal to the first threshold, determining that the occupancy intensity is occupancy.

9. The method according to claim 1, wherein The method further comprises: Construct the context information according to the occupancy information of the context node of the current child node and the target construction strategy.

10. The method according to claim 9, wherein, The target construction strategy includes: constructing the context information according to a preset context node scanning order and the occupancy information of the context node; Alternatively, the target construction strategy includes: constructing the first information and the second information of the context information according to a preset context information composition structure and the occupancy information of the context node; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable.

11. The method according to claim 1, wherein, The determining the target entropy decoding parameter of the current child node from the target entropy decoding parameter set according to the context information of the current child node includes: Determining the context state of the current child node from the target context state set of the current child node according to the context information of the current child node; wherein, the target context state set includes a mapping relationship between various context information and context states; Determining the target entropy decoding parameter of the current child node from the target entropy decoding parameter set according to the context state of the current child node.

12. The method according to claim 11, wherein, The method further includes: Determining the local sparsity category of the current child node according to the occupancy information of the decoded neighbor nodes of the current child node; Determining the target context state set of the current child node according to the local sparsity category.

13. The method according to claim 12, wherein, The determining the local sparsity category of the current child node according to the occupancy information of the decoded neighbor nodes of the current child node includes: Determining the occupancy quantity of the neighbor node according to the occupancy information of the neighbor node; If the occupancy quantity of the neighbor node is greater than a second threshold, determining that the local sparsity category of the current child node is the first category; If the occupancy quantity of the neighbor node is less than or equal to the second threshold, determining that the local sparsity category of the current child node is the second category.

14. The method according to claim 12, wherein, The neighbor node includes at least one of the following: The decoded sibling node of the current child node; The decoded neighbor child node in a first preset direction adjacent to the current child node; The decoded neighbor child node in a second preset direction adjacent to the current child node; The decoded neighbor child node in a third preset direction adjacent to the current child node.

15. The method according to claim 12, wherein, The determining the target context state set of the current child node according to the local sparsity category includes: When the local sparsity category is the first category, determining that the target context state set is the first context state set; When the local sparsity category is the second category, determining that the target context state set is the second context state set.

16. The method according to any one of claims 12 to 15, wherein, The determining the target context state set of the current child node according to the local sparsity category includes: In the case where the current child node enables the inter-frame prediction mode, determining the target context state set of the current child node from the inter-frame context state set according to the local sparsity category; In the case where the current child node enables the intra-frame prediction mode, determining the target context state set of the current child node from the intra-frame context state set according to the local sparsity category.

17. The method according to claim 16, wherein The method further includes: Construct multiple context information in the intra-context state set according to the occupancy information of the context node and the first construction strategy, and initialize the context state of each context information; Construct multiple context information in the inter-context state set according to the occupancy information of the context node and the second construction strategy, and initialize the context state of each context information.

18. The method according to claim 17, wherein, The context node includes at least one of the following: The decoded sibling nodes of the current child node; The decoded neighbor child nodes that are coplanar, co-edged, and co-pointed with the current child node; The decoded neighbor parent nodes that are coplanar and co-edged with the current child node; Other decoded neighbor nodes of the current child node.

19. The method according to claim 12, wherein The method further includes: When the current child node enables the intra prediction mode, determine the target entropy decoding parameter set of the current child node according to the local sparsity category.

20. The method according to claim 19, wherein, The determining the target entropy decoding parameter set of the current child node according to the local sparsity category includes: When the local sparsity category is the first category, determine that the target entropy decoding parameter set is the third entropy decoding parameter set; When the local sparsity category is the second category, determine that the target entropy decoding parameter set is the fourth entropy decoding parameter set.

21. The method according to claim 11, wherein, The determining the target entropy decoding parameter of the current child node from the target entropy decoding parameter set according to the context state of the current child node includes: Determine the index value of the target entropy decoding parameter according to the context state; Determine the target entropy decoding parameter of the current child node from the target entropy decoding parameter set according to the index value of the target entropy decoding parameter.

22. The method according to claim 21, wherein, The determining the index value of the target entropy decoding parameter according to the context state includes: Determine the index value of the target entropy decoding parameter according to the high M bits of the context state; where M is related to the number of parameters in the target entropy decoding parameter set.

23. The method according to any one of claims 1 to 22, wherein, The target entropy decoding parameter includes the probability that the current child node occupies or does not occupy under the context information.

24. The method according to claim 23, wherein, After the entropy decoding of the code stream according to the target entropy decoding parameter to determine the occupancy information of the current child node, the method further includes: Update the target entropy decoding parameter according to the occupancy information of the current child node.

25. An encoding method, applied to a point cloud encoder, the method includes: When the current child node enables the inter prediction mode, determine the target entropy encoding parameter set of the current child node according to the occupancy information of the predicted child node of the current child node in the reference frame; Determine the target entropy encoding parameter of the current child node from the target entropy encoding parameter set according to the context information of the current child node; Entropy encode the occupancy information of the current child node according to the target entropy encoding parameter, and write the obtained encoded bits into the code stream.

26. The method according to claim 25, wherein, The method further includes: Determine whether the current node allows the inter prediction mode to be enabled according to the value of the first syntax element; When the current node allows the inter prediction mode to be enabled, determine the occupancy information of the predicted node of the current node in the reference frame; Determine whether the child nodes of the current node enable the inter-frame prediction mode according to the occupancy information of the prediction node; wherein, the current child node is any child node within the current node.

27. The method according to claim 26, wherein, The determining whether the current node allows enabling the inter-frame prediction mode according to the value of the first syntax element includes: When the value of the first syntax element is the first numerical value, determine that the current node allows enabling the inter-frame prediction mode; When the value of the first syntax element is the second numerical value, determine that the current node does not allow enabling the inter-frame prediction mode.

28. The method according to claim 26, wherein, The determining whether the child nodes of the current node enable the inter-frame prediction mode according to the occupancy information of the prediction node includes: When the occupancy information of the prediction node is represented as occupied, determine that the current node enables the inter-frame prediction mode; When the occupancy information of the prediction node is represented as not occupied, determine that the current node enables the intra-frame prediction mode.

29. The method according to claim 28, wherein The method further includes: Determine the occupancy information of multiple prediction child nodes in the prediction node; When the occupancy information of at least one prediction child node in the prediction node is represented as occupied, determine that the occupancy information of the prediction node is represented as occupied; Otherwise, determine that the occupancy information of the prediction node is represented as not occupied.

30. The method according to claim 25, wherein The Determine the target entropy coding parameter set of the current child node according to the occupancy information of the prediction child node of the current child node in the reference frame, including: In the case where the occupancy information of the prediction child node is represented as not occupied, determine that the target entropy coding parameter set is the first entropy coding parameter set; In the case where the occupancy information of the prediction child node is represented as occupied, determine that the target entropy coding parameter set is the second entropy coding parameter set.

31. The method according to claim 30, wherein, In the case where the occupancy information of the prediction child node is represented as occupied, the method further includes: Determine the occupancy intensity of the prediction child node according to the number of occupied nodes in the prediction child node; Determine the second entropy coding parameter set according to the occupancy intensity.

32. The method according to claim 31, wherein The determining the occupancy intensity of the prediction child node according to the number of occupied nodes in the prediction child node includes: When the number of occupied nodes in the prediction child node is greater than the first threshold, determine that the occupancy intensity is strong occupancy; When the number of occupied nodes in the prediction child node is less than or equal to the first threshold, determine that the occupancy intensity is occupancy.

33. The method according to claim 25, wherein, The method further includes: Construct the context information according to the occupancy information of the context node of the current child node and the target construction strategy.

34. The method according to claim 33, wherein The target construction strategy includes: constructing the context information according to the preset context node scanning order and the occupancy information of the context node; Alternatively, the target construction strategy includes: constructing the first information and the second information of the context information according to the preset context information composition structure and the occupancy information of the context node; the number of bits of the first information is fixed, and the number of bits of the second information is adjustable.

35. The method according to claim 25, wherein The determining the target entropy coding parameter of the current child node from the target entropy coding parameter set according to the context information of the current child node includes: Determine the context state of the current child node from the set of target context states of the current child node according to the context information of the current child node; wherein, the set of target context states includes mapping relationships between various context information and context states; Determine the target entropy coding parameter of the current child node from the set of target entropy coding parameters according to the context state of the current child node.

36. The method according to claim 35, wherein, The method further includes: Determine the local sparsity category of the current child node according to the occupancy information of the encoded neighbor nodes of the current child node; Determine the set of target context states of the current child node according to the local sparsity category.

37. The method according to claim 36, wherein, The determining the local sparsity category of the current child node according to the occupancy information of the encoded neighbor nodes of the current child node includes: Determine the occupancy quantity of the neighbor nodes according to the occupancy information of the neighbor nodes; If the occupancy quantity of the neighbor nodes is greater than a second threshold, determine that the local sparsity category of the current child node is the first category; If the occupancy quantity of the neighbor nodes is less than or equal to the second threshold, determine that the local sparsity category of the current child node is the second category.

38. The method according to claim 36, wherein, The neighbor nodes include at least one of the following: The encoded sibling nodes of the current child node; The encoded neighbor child nodes in a first preset direction adjacent to the current child node; The encoded neighbor child nodes in a second preset direction adjacent to the current child node; The encoded neighbor child nodes in a third preset direction adjacent to the current child node.

39. The method according to claim 36, wherein The determining the set of target context states of the current child node according to the local sparsity category includes: When the local sparsity category is the first category, determine that the set of target context states is the first set of context states; When the local sparsity category is the second category, determine that the set of target context states is the second set of context states.

40. The method according to any one of claims 36 to 39, wherein, The determining the set of target context states of the current child node according to the local sparsity category includes: In the case where the current child node enables the inter-frame prediction mode, determine the set of target context states of the current child node from the set of inter-frame context states according to the local sparsity category; In the case where the current child node enables the intra-frame prediction mode, determine the set of target context states of the current child node from the set of intra-frame context states according to the local sparsity category.

41. The method according to claim 40, wherein, The method further includes: Construct various context information in the set of intra-frame context states according to the occupancy information of the context nodes and a first construction strategy, and initialize the context states of each context information; Construct various context information in the set of inter-frame context states according to the occupancy information of the context nodes and a second construction strategy, and initialize the context states of each context information; wherein, the first construction strategy and the second construction strategy are the same or different.

42. The method according to claim 40, wherein The context nodes include at least one of the following: The encoded sibling nodes of the current child node; The encoded neighbor child nodes coplanar, co-edged and co-pointed with the current child node; The encoded neighbor parent nodes coplanar and co-edged with the current child node; Other encoded neighbor nodes of the current child node.

43. The method according to claim 36, wherein, The method further includes: When the intra prediction mode is enabled for the current child node, determine a set of target entropy coding parameters for the current child node according to the local sparsity category.

44. The method according to claim 43, wherein, The determining, according to the local sparsity category, a set of target entropy coding parameters for the current child node includes: When the local sparsity category is the first category, determine that the set of target entropy coding parameters is the third set of entropy coding parameters; When the local sparsity category is the second category, determine that the set of target entropy coding parameters is the fourth set of entropy coding parameters.

45. The method according to claim 35, wherein, The determining, according to the context state of the current child node, the target entropy coding parameter for the current child node from the set of target entropy coding parameters includes: Determine an index value of the target entropy coding parameter according to the context state; Determine the target entropy coding parameter for the current child node from the set of target entropy coding parameters according to the index value of the target entropy coding parameter.

46. The method according to claim 45, wherein, The determining, according to the context state, the index value of the target entropy coding parameter includes: Determine the index value of the target encoder according to the high M bits of the context state; where M is related to the number of parameters in the set of target entropy coding parameters.

47. The method according to any one of claims 25 to 46, wherein, The target entropy decoding parameter includes the probability that the current child node occupies or does not occupy under the context information.

48. The method according to claim 47, wherein After entropy coding the occupancy information of the current child node according to the target entropy coding parameter, the method further includes: Update the target entropy coding parameter according to the occupancy information of the current child node.

49. A point cloud encoder, the point cloud encoder includes a first determination unit and an encoding unit; wherein, The first determination unit is configured to, when the inter prediction mode is enabled for the current child node, determine a set of target entropy coding parameters for the current child node according to the occupancy information of the prediction child node of the current child node in the reference frame; Determine the target entropy coding parameter for the current child node from the set of target entropy coding parameters according to the context information of the current child node; The encoding unit is configured to entropy code the occupancy information of the current child node according to the target entropy coding parameter and write the obtained coded bits into the bitstream.

50. A point cloud encoder, the point cloud encoder includes a first memory and a first processor; wherein, The first memory is used to store a computer program that can run on the first processor; The first processor is used to execute the method according to any one of claims 25 to 48 when running the computer program.

51. A point cloud decoder, the point cloud decoder includes a second determination unit and a decoding unit; wherein, The second determination unit is configured to, when the inter prediction mode is enabled for the current child node, determine a set of target entropy decoding parameters for the current child node according to the occupancy information of the prediction child node of the current child node in the reference frame; Determine the target entropy decoding parameter for the current child node from the set of target entropy decoding parameters according to the context information of the current child node; The decoding unit is configured to perform entropy decoding on the bitstream according to the target entropy decoding parameter to determine the occupancy information of the current child node.

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

53. A computer-readable storage medium, wherein, The computer-readable storage medium stores a bitstream generated by the encoding method according to any one of claims 25 to 48.

54. A computer-readable storage medium, wherein, The computer-readable storage medium stores a computer program, and when the computer program is executed, it implements the method according to any one of claims 1 to 24, or implements the method according to any one of claims 25 to 48.