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

CN120391059APending Publication Date: 2025-07-29GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202380088655.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-01-09
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In existing geometric point cloud compression technology, the accuracy of constructing contextual information is insufficient, resulting in reduced coding performance and invalidation of encoded sign bits.

Method used

By determining the occupation information of the reference sub-node of the current sub-node, the preset identification information and context information are determined based on this information, and then the syntax elements to be encoded are encoded at the encoding end, and the syntax elements to be decoded are decoded at the decoding end to ensure that the identification information has actual meaning and makes the encoded sign bit valid.

Benefits of technology

It improves the accuracy of constructing context information, improves encoding and decoding efficiency and performance, and selects the best encoder for encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120391059A_ABST
    Figure CN120391059A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an encoding and decoding method, a code stream, an encoder, a decoder and a storage medium. The method comprises the following steps: determining occupation information of a reference sub-node of a current sub-node; determining preset identification information of the current child node based on the occupation information of the reference child node; determining context information of the current child node based on preset identification information; and decoding the syntax element to be decoded of the current child node based on the context information, and determining the value of the syntax element to be decoded. Therefore, the accuracy of constructing the context information can be improved, and the coding and decoding efficiency is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

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

[0001] The embodiments of the present application relate to the field of point cloud encoding and decoding technology, and in particular to an encoding and decoding method, a bit stream, an encoder, a 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 related technologies, the purpose of constructing context information is to use coded syntax elements for conditional coding, thereby improving coding performance. However, some of the context information lacks practical meaning or is invalid, which reduces coding performance during context usage.

[0004] Summary of the Invention

[0005] The embodiments of the present application provide a coding and decoding method, a bit stream, an encoder, a decoder, and a storage medium, which can improve the accuracy of constructing context information and thereby improve 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 decoder, the method comprising:

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

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

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

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

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

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

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

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

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

[0017] In a third aspect, an embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least one of the following: the value of the syntax element to be encoded of the current child node.

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

[0019] A first determining unit is configured to determine occupancy information of a reference child node of a current child node; determine preset identification information of the current child node based on the occupancy information of the reference child node; and determine context information of the current child node based on the preset identification information;

[0020] The encoding unit is configured to encode the value of the to-be-encoded syntax element of the current child node based on the context information, and write the obtained coded bits into the bitstream.

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

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

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

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

[0025] a second determining unit configured to determine occupancy information of a reference child node of the current child node; determine preset identification information of the current child node based on the occupancy information of the reference child node; and determine context information of the current child node based on the preset identification information;

[0026] The decoding unit is configured to decode the syntax element to be decoded of the current child node based on the context information and determine the value of the syntax element to be decoded.

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

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

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

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

[0031] The embodiment of the present application provides a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium. Whether it is the coding end or the decoding end, the occupancy information of the reference subnode of the current subnode is first determined; then, based on the occupancy information of the reference subnode, the preset identification information of the current subnode is determined; based on the preset identification information, the context information of the current subnode is determined. Finally, at the coding end, the value of the grammatical element to be encoded of the current subnode is encoded based on the context information, and the obtained coding bits are written into the code stream; so that at the decoding end, the grammatical element to be decoded of the current subnode can be decoded based on the context information, and the value of the grammatical element to be decoded can be determined. In this way, for the context information, the identification information therein can be given practical meaning, and the encoded symbol bit can also be made valid; thereby, the accuracy of constructing the context information can be improved so as to select the best target encoder for encoding; in this way, not only the coding and decoding performance can be maintained, but also the coding and decoding efficiency can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

[0035] FIG4 is a schematic diagram of a CABAC arithmetic encoder structure;

[0036] FIG5 is a schematic diagram of a process for dynamically adjusting context;

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

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

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

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

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

[0042] FIG11 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;

[0043] FIG12 is a schematic diagram of a dynamic reduction process of context information provided by an embodiment of the present application;

[0044] FIG13 is a schematic diagram of a process for dynamically reducing context information updates provided by an embodiment of the present application;

[0045] FIG14 is a schematic diagram of the structure of an encoder provided in an embodiment of the present application;

[0046] FIG15 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application;

[0047] FIG16 is a schematic diagram of the structure of a decoder provided in an embodiment of the present application;

[0048] FIG17 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application;

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

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

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

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

[0053] 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:

[0054] Point Cloud Compression (PCC);

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

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

[0057] Octree;

[0058] Triangle soup (Trisoup);

[0059] K Nearest Neighbor (KNN);

[0060] Level of Detail (LOD);

[0061] Predicting Transform;

[0062] Lifting Transform;

[0063] Region Adaptive Hierarchal Transform (RAHT);

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

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

[0066] A point cloud 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.

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

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

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

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

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

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

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

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

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

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

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

[0078] 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).

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

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

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

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

[0083] 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:

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

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

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

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

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

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

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

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

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

[0093] It should also be noted that in one possible implementation of the related technology, the encoder currently used by G-PCC is context-based adaptive binary arithmetic coding CABAC, which is an entropy encoder widely used in video coding. Like traditional arithmetic coding, CABAC uses a recursive interval partitioning method for coding representation. Since CABAC is adaptive coding, that is, the probability model will adjust with the appearance of symbols, it fully considers the statistical characteristics of the source and greatly improves coding efficiency. Among them, the CABAC encoder can be divided into three parts: binarization, context modeling, and binary arithmetic coding; the details are as follows:

[0094] ① 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.

[0095] ②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.

[0096] ③ 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.

[0097] For example, see Figure 4, which shows a schematic diagram of the composition framework of a CABAC arithmetic encoder. As shown in Figure 4, the overall structure of the CABAC arithmetic encoder can include a binarization module 401, a context modeling module 402, a conventional encoder 403, and a bypass encoder 404. After the syntax element to be encoded is input, it is first determined whether it is a binary syntax element; if it is a non-binary syntax element, it can be converted into a binary string through the processing of the binarization module 401; otherwise, if it is a binary syntax element, it directly enters the next part, that is, assigning a probability model. At this time, there are two ways to choose: one is to encode through the context modeling module 402 and the conventional encoder 403, and at this time, the context model needs to be updated according to the binary value; the other is to encode the binary value directly using the bypass encoder 404, and finally output the code stream.

[0098] It should also be noted that in another possible implementation of the related technology, the context can be dynamically adjusted in the following manner: (1) obtaining the context information of the placeholder code to be encoded and reducing the context information, wherein the information to be reduced each time is dynamically adjusted as the encoding process progresses; (2) mapping the reduced context information to a smaller set of binary encoders, and after each placeholder code encoding is completed, its index mapping relationship is also updated.

[0099] For example, referring to FIG5 , a schematic diagram of a process of dynamically adjusting context is shown. As shown in FIG5 , the process may include:

[0100] S501: Determine a current syntax element to be encoded.

[0101] S502: Determine context information.

[0102] S503: Dynamically reduce the context information to determine a reduced context state.

[0103] S504: Determine an encoder index value based on the index mapping table.

[0104] S505: Determine a context / probability model based on the encoder index value.

[0105] S506: Encode the current syntax element and update the probability value of the encoder.

[0106] S507: Update the dynamic reduction process.

[0107] S508: Go to the next syntax element.

[0108] S509: Update the index mapping table.

[0109] It should be understood that in the embodiment of the present application, the index mapping table may refer to an encoder mapping table (Look Up Table, LUT) / context index table, which provides a mapping relationship between context states and encoder index values. Through this mapping table, the encoder index value (CtxIdx) that should be used for the syntax element to be encoded in any context state can be obtained; then, according to the context / probability model table, the corresponding context / probability model can be determined, that is, the corresponding target encoder (Ctx) is determined, and finally, the target encoder is used to encode the current syntax element. In addition, after each syntax element is encoded, the mapping relationship between the context state and the encoder index value in the mapping table will be adjusted according to the result of the syntax element.

[0110] It should also be understood that in an embodiment of the present application, for the implementation method of dynamically adjusting the context, the context information can be composed of encoded grammatical elements, and can be divided into primary information and secondary information according to the importance of the information, where part of the secondary information will be reduced during the dynamic reduction process, and the context after reorganization of the primary information and the reduced secondary information is used as the input of the method and mapped to the encoder for encoding.

[0111] Furthermore, in the process of constructing context information, the context information of the child node to be encoded can be determined by the following types of information:

[0112] i Local sparsity of the sub-node to be encoded;

[0113] ii. The location information of the child node to be encoded and the occupancy of its encoded sibling nodes;

[0114] iii The occupancy of the six coplanar parent neighbors of the current node

[0115] iv The occupancy status of the other 20 parent neighbors of the current node that share the same edges and points.

[0116] Here, the above context information is converted into binary stream bins, where the information that is more relevant to the current child node is located in the high position of the bins as the main information; the information that is less relevant to the current child node is located in the low position of the bins as the secondary information.

[0117] It should be noted that the order of importance of these context information 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. For example, FIG6 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] (1) For child node 0, there are child node neighbors with the same plane, edge, and point, no encoded sibling nodes, and there are parent node neighbors with the same plane and other encoded 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 19states, 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.

[0120] Among them, the local sparsity of child node 0 can be determined according to the number of occupancy (NN) of the 12 encoded child nodes in the negative x, y, and z directions adjacent to the current child node in Figure 8. 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 8 shows a distribution diagram of the child neighbor nodes and coplanar parent neighbor nodes of child node 0, and Figure 9 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.

[0121] Table 1 Context information of child node 0

[0122]

[0123] Here, Table 1 shows the interpretation of each bit of context information corresponding to child node 0, and the order from the highest bit to the lowest bit reflects the importance of the information. Among them, the 1 or 0 filled with black represents the flag bit of the current classification, and the negation operation "!" represents that the symbol of this bit is the information after the actual symbol is inverted; in addition, coplanar child nodes, co-edge child nodes, co-point child nodes, clamped edge child nodes and co-position child nodes are also involved here. 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 8. Since these three encoded nodes are located in the negative direction of the coordinate axis of the current node, their child node occupancy information can be obtained, so 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 full English name Bott om, 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 8, numbered 32, 8, and 1, respectively. Since these three encoded nodes are located in the positive direction of the current node's coordinate axis, their child node occupancy information cannot be obtained, and their correlation 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 9. 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 encoded 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).

[0124] (2) For child node 1, there are child node neighbors that share the same plane, edge, and point with it, there is one coded brother node bit0, there are parent node neighbors that share the same plane with it, and there are other coded 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.

[0125] The local sparsity of child node 1 can be determined based on the occupancy count (NN) of the four encoded child nodes adjacent to the current child node in the negative y direction (Front) in Figure 8. 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 bin. It can be seen that the encoded occupancy information of sibling node 0 is the most important, being located in the highest bin.

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

[0127]

[0128] (3) For child node 2, there are child node neighbors that share the same plane, edge, and point with it, there are two encoded sibling nodes bit0 and bit1, there are parent node neighbors that share the same plane with it, and there are other encoded 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.

[0129] The local sparsity of child node 2 can be determined based on the occupancy count (NN) of the four encoded child nodes adjacent to the current child node in the negative z direction (bottom) in Figure 8. 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 bin. It can be seen that the encoded occupancy information of sibling node 0 is the most important, being located in the highest bin.

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

[0131]

[0132] (4) For child node 3, there are child node neighbors with the same plane, edge, and point. There are 3 encoded sibling nodes bit0, bit1, and bit2. There are parent node neighbors with the same plane and other encoded 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.

[0133] Among them, for the local sparsity of child node 3, the three nodes bit0+bit1+bit2 and the seven nodes encoded in the negative x direction (Left) adjacent to the current child node in Figure 8 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.

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

[0135]

[0136] (5) For child node 4, there are child node neighbors with the same plane, edge, and point. There are 4 encoded sibling nodes bit0, bit1, bit2, and bit3. There are parent node neighbors with the same plane and other encoded 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.

[0137] 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 nodes encoded in the negative y direction (Front) adjacent to the current child node in Figure 8, and the 4 nodes encoded 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.

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

[0139]

[0140] (5) For child node 5, there are child node neighbors with the same plane, edge, and point. There are 5 encoded sibling nodes bit0, bit1, bit2, bit3, and bit4. There are parent node neighbors with the same plane and other encoded 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.

[0141] Among them, for the local sparsity of child node 5, the negative y direction (Front) adjacent to the current child node in Figure 8 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.

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

[0143]

[0144] (7) For child node 6, there are child node neighbors with the same plane, edge, and point. There are 6 coded sibling nodes bit0, bit1, bit2, bit3, bit4, and bit5. There are parent node neighbors with the same plane and other coded 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.

[0145] Among them, for the local sparsity of child node 6, the negative z direction (Bottom) adjacent to the current child node in Figure 8 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.

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

[0147]

[0148] (8) For child node 7, there is no child node neighbor with the same plane, edge, or point. There are 7 coded sibling nodes bit0, bit1, bit2, bit3, bit4, bit5, and bit6. There is a parent node neighbor with the same plane and other coded 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.

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

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

[0151]

[0152] Simply put, in related technologies, the purpose of constructing context information is to utilize coded syntax elements for conditional coding, thereby improving coding performance. However, in related technologies, the context is specific coded symbol information and corresponding identification information. However, the existing identification information lacks practical meaning and is insufficient to be considered a valid context. In addition, the negation of certain bits in the existing context bins causes the coded symbol bits to lose their original meaning. According to conditional entropy theory, the more accurate the condition, the smaller the resulting conditional entropy. Therefore, it is necessary to modify the context information to achieve better coding performance.

[0153] Based on this, an embodiment of the present application provides a coding method to determine the occupancy information of the reference subnode of the current subnode; based on the occupancy information of the reference subnode, determine the preset identification information of the current subnode; based on the preset identification information, determine the context information of the current subnode; based on the context information, encode the value of the to-be-encoded syntax element of the current subnode, and write the obtained coded bits into the bitstream.

[0154] An embodiment of the present application also provides a decoding method for determining the occupancy information of a reference subnode of a current subnode; determining preset identification information of the current subnode based on the occupancy information of the reference subnode; determining context information of the current subnode based on the preset identification information; decoding the to-be-decoded grammatical element of the current subnode based on the context information, and determining the value of the to-be-decoded grammatical element.

[0155] In this way, whether it is the encoding end or the decoding end, for the context information, the identification information therein can be given practical meaning, and the encoded sign bits can also be made valid; thereby improving the accuracy of constructing the context information so as to select the best target encoder for encoding; this can improve the encoding and decoding efficiency, and at the same time improve the encoding and decoding performance.

[0156] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0157] 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:

[0158] S1001: Determine occupancy information of a reference child node of a current child node.

[0159] It should be noted that the decoding method of the embodiment of the present application is applied to a decoder (or "entropy decoder"). In addition, the decoding method can specifically refer to a point cloud decoding method, or a point cloud entropy decoding method. More specifically, the embodiment of the present application provides a context adjustment method to make the identification information in the context information have practical meaning and also to make the decoded sign bit valid.

[0160] It should also be noted that, taking the G-PCC decoder shown in Figure 3 as an example, the method of the embodiment of the present application can construct the context information of the current child node, and then apply it to the entropy decoding part (i.e., the bold part in Figure 3), thereby improving the accuracy of constructing the upper and lower information, and thus improving the decoding performance of the point cloud.

[0161] It should also be noted that in a point cloud, a point can be all points in the point cloud or some points in the point cloud, which are relatively concentrated in space. Among them, the current node can refer to the node to be decoded in the point cloud. For the current node, it can include eight child nodes, and then according to the preset scanning order (as shown in Figure 7), the child nodes to be decoded at different positions of the current node are sequentially used as the current child nodes, thereby constructing context information for the current child node to decode the syntax elements to be decoded of the current child node.

[0162] It should be understood that in the embodiments of the present application, the reference subnode refers to a neighboring node that is coplanar, co-edge, or co-pointed with the current subnode. In some embodiments, the reference subnode may include at least one of the following:

[0163] The decoded sibling nodes of the current child node;

[0164] The decoded child nodes in the first preset direction adjacent to the current child node;

[0165] The decoded child nodes in the second preset direction adjacent to the current child node;

[0166] The decoded child nodes in the third preset direction adjacent to the current child node;

[0167] The decoded child node in the fourth preset direction adjacent to the current child node.

[0168] It should be noted that, in the embodiment of the present application, the first preset direction may refer to the negative x-axis direction (left direction) of the current child node, the second preset direction may refer to the negative y-axis direction (front direction) of the current child node, and the third preset direction may refer to the negative z-axis direction (bottom direction) of the current child node. In addition, it should be noted that the fourth preset direction only exists when the current child node is child node 4, child node 5, child node 6, or child node 7. In this case, the fourth preset direction may refer to the new Left direction composed of child node 0, child node 1, child node 2, and child node 3.

[0169] It should also be noted that in the embodiment of the present application, child node 0 can be represented by bit0, child node 1 can be represented by bit1, child node 2 can be represented by bit2, child node 3 can be represented by bit3, child node 4 can be represented by bit4, child node 5 can be represented by bit5, child node 6 can be represented by bit6, and child node 7 can be represented by bit6.

[0170] For the decoded sibling nodes of the current child node, if the current child node is child node 0, then there is no decoded sibling node; if the current child node is child node 1, then the decoded sibling node is bit0; if the current child node is child node 2, then the decoded sibling nodes are bit0 and bit1; if the current child node is child node 3, then the decoded sibling nodes are bit0, bit1 and bit2; if the current child node is child node 4, then the decoded sibling nodes are bit0, bit1, bit2 and bit3; and so on, if the current child node is child node 7, then the decoded sibling nodes are bit0, bit1, bit2, bit3, bit4, bit5 and bit6.

[0171] For example, if the current child node is child node 0, then the reference child node may include child node neighbors that are coplanar, co-edge, and co-point with it, no decoded sibling node, and coplanar parent node neighbors with it, as well as other decoded 20 neighbors that can be referenced; if the current child node is child node 1, then the reference child node may include child node neighbors that are coplanar, co-edge, and co-point with it, there is 1 decoded sibling node bit0, and coplanar parent node neighbors with it, as well as other decoded 20 neighbors that can be referenced; if the current child node is child node 2, then the reference child node may include Including child node neighbors with the same plane, the same edge, and the same point, there are 2 decoded brother nodes bit0 and bit1, as well as the parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced; if the current child node is child node 3, then the reference child node can include child node neighbors with the same plane, the same edge, and the same point, there are 3 decoded brother nodes bit0, bit1, bit2, as well as the parent node neighbors with the same plane and other decoded 20 neighbors that can be referenced; if the current child node is child node 4, then the reference child node can include child node neighbors with the same plane, The child node neighbors that share the same edge and point include 4 decoded sibling nodes bit0, bit1, bit2, and bit3, as well as the parent node neighbors that are coplanar with them and 20 other decoded neighbors that can be referenced; if the current child node is child node 5, then the reference child node can include the child node neighbors that share the same plane, edge, and point with it, including 5 decoded sibling nodes bit0, bit1, bit2, bit3, and bit4, as well as the parent node neighbors that are coplanar with it and 20 other decoded neighbors that can be referenced; if the current child node is child node 6, then the reference child node can include the child node neighbors that share the same plane, edge, and point with it, including 6 decoded sibling nodes bit0, bit1, bit2, bit3, bit4, and bit5, as well as the parent node neighbors that are coplanar with it and 20 other decoded neighbors that can be referenced; if the current child node is child node 7, then the reference child node can include 7 decoded sibling nodes bit0, bit1, bit2, bit3, bit4, bit5, and bit6, as well as the parent node neighbors that are coplanar with it and 20 other decoded neighbors that can be referenced. Here, for child node 7, there is no child node neighbor that shares the same plane, edge, or point with it.

[0172] It should also be understood that in the embodiments of the present application, the occupancy information of the reference subnode is used to indicate whether the reference subnode is point occupied. For example, if the occupancy information of the reference subnode is 1, it can indicate that the reference subnode is point occupied; conversely, if the occupancy information of the reference subnode is 0, it can indicate that the reference subnode is not point occupied.

[0173] S1002: Determine preset identification information of the current child node based on the occupancy information of the reference child node.

[0174] It should be noted that in the embodiments of the present application, the preset identification information in the context information of the current child node can be given actual meaning. Specifically, the value of the preset identification information can be determined based on the occupancy information of the reference child node. In some embodiments, determining the preset identification information of the current child node based on the occupancy information of the reference child node can include:

[0175] When the current child node meets the first condition, determining identification information of the first target position of the current child node based on the occupancy information of the reference child node; or,

[0176] When the current subnode satisfies the second condition, identification information of the second target position of the current subnode is determined based on the occupancy information of the reference subnode.

[0177] In the embodiment of the present application, the current child node satisfies the first condition, which may include: the current child node is one of the zeroth child node and the fourth child node.

[0178] In the embodiment of the present application, the current subnode satisfies the second condition, which may include: the current subnode is one of the first subnode, the second subnode, the third subnode, the fifth subnode, and the sixth subnode.

[0179] The zeroth child node (bit0), the first child node (bit1), the second child node (bit2), the third child node (bit3), the fourth child node (bit4), the fifth child node (bit5), and the sixth child node (bit6) are the child nodes of the current node to be decoded in sequence according to a preset scanning order. For example, the preset scanning order can be the scanning order shown in FIG.

[0180] It should also be noted that, in the embodiment of the present application, the local sparse category of the current sub-node can also be determined based on the occupancy information of the reference sub-node. In some embodiments, the method may further include:

[0181] determining an occupied quantity of the reference child node based on the occupied information of the reference child node;

[0182] According to the occupancy count of the reference child node, the local sparse category of the current child node is determined.

[0183] Furthermore, in some embodiments, determining the local sparse category of the current child node based on the occupied quantity of the reference child node may include:

[0184] If the number of occupants of the reference child node is greater than a first threshold, determining that the local sparse category of the current child node is the first category;

[0185] If the occupancy number of the reference child node is less than or equal to the first threshold, the local sparse category of the current child node is determined to be the second category.

[0186] That is, based on the occupancy information of the reference child node (i.e., whether it is occupied), the occupancy number (NN) of the reference child node can be determined. Then, based on the comparison result of NN with the first 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.

[0187] For example, for the local sparse category of child node 0, the occupancy number (NN) of the 12 child nodes decoded in the negative x, y, and z directions adjacent to the current child node in FIG8 can be established. If the occupancy number NN>1, it is determined to be a non-sparse category; if the occupancy number NN≤1, it is determined to be a sparse category. For the local sparse category of child node 1, the occupancy number (NN) of the 4 child nodes decoded in the negative y direction (Front) adjacent to the current child node in FIG8 can be established. 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. For the local sparse category of child node 2, the occupancy number (NN) of the 4 child nodes decoded in the negative z direction (Bottom) adjacent to the current child node in FIG8 can be established. 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. For the local sparse category 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 8 can be established as NN. If the occupancy number NN>1, it is determined to be a non-sparse category. If the occupancy number NN≤1, it is determined to be a sparse category.

[0188] In addition, for child node 4, the local sparse category can be determined using the NN of the four nodes (bit0+bit1+bit2+bit3) (denoted as "New Left"), the four decoded nodes in the negative y direction (Front) adjacent to the current child node in Figure 8, and the four decoded nodes in the negative z direction (Bottom) adjacent to the current child node. If the occupancy number NN is greater than 1, the category is non-sparse; if the occupancy number NN is less than 1, the category is sparse. For child node 5, the local sparse category can be determined using the NN in the negative y direction (Front) adjacent to the current child node in Figure 8. If the occupancy number NN is greater than 0, the category is non-sparse; if the occupancy number NN is less than 0, the category is sparse. For child node 6, the local sparse category can be determined using the NN in the negative z direction (Bottom) adjacent to the current child node in Figure 8. If the occupancy number NN is greater than 0, the category is non-sparse; if the occupancy number NN is less than 0, the category is sparse. For the local sparse category of child node 7, the 7 nodes bit0+bit1+bit2+bit3+bit4+bit5+bit6 can be established as NN. If the occupancy number NN>1, it is determined to be a non-sparse category. If the occupancy number NN≤1, it is determined to be a sparse category. There is no specific limitation on this here.

[0189] It can be understood that when the current child node is the zeroth child node or the fourth child node, the identification information of the first target bit of the current child node refers to the identification information under the first category (ie, non-sparse category), which can also be called header information here.

[0190] In some embodiments, when the current child node is the zeroth child node, determining identification information of the first target bit of the current child node based on occupancy information of the reference child node may include:

[0191] Determine, based on occupancy information of decoded subnodes adjacent to the zeroth subnode in a first preset direction, identification information of the mth bit of the zeroth subnode in the first category;

[0192] Determine, based on occupancy information of decoded subnodes in a second preset direction adjacent to the zeroth subnode, identification information of the m-1th bit of the zeroth subnode in the first category;

[0193] Based on the occupancy information of the decoded sub-nodes adjacent to the zeroth sub-node in the third preset direction, identification information of the m-2th bit of the zeroth sub-node in the first category is determined.

[0194] Where m is the highest bit number of the zeroth child node in the first category.

[0195] In an embodiment of the present application, the first preset direction may be the left direction of the zeroth subnode, the second preset direction may be the front direction of the zeroth subnode, and the third preset direction may be the bottom direction of the zeroth subnode.

[0196] That is to say, in the zeroth child node, the identification information of the mth bit can be determined by whether the four child nodes in the left direction are occupied. If none of the four child nodes in the left direction are occupied, the identification information of the mth bit is set to 0; otherwise, the identification information of the mth bit is set to 1. The identification information of the m-1th bit can be determined by whether the four child nodes in the front direction are occupied. If none of the four child nodes in the front direction are occupied, the identification information of the m-1th bit is set to 0; otherwise, the identification information of the m-1th bit is set to 1. The identification information of the m-2th bit can be determined by whether the four child nodes in the lower direction are occupied. If none of the four child nodes in the lower direction are occupied, the identification information of the m-2th bit is set to 0; otherwise, the identification information of the m-2th bit is set to 1.

[0197] For example, for the zeroth child node (ie, child node 0), the three-bit identification information under the non-sparse category (in order from high to low) is adjusted to the explanations shown in Table 9.

[0198] Table 9

[0199]

[0200] Thus, Table 10 shows the context information of a corrected child node 0 provided by an embodiment of the present application. The gray-filled portion corresponds to three bits of identification information that are given practical meaning. In Table 10, 3 directions refer to: Left, Front, and Bottom; 2 directions refer to: Left and Bottom, Front and Bottom, and Left and Front; and 1 direction refers to: Left, Front, and Bottom.

[0201] Table 10 Corrected context information of child node 0

[0202]

[0203] In some embodiments, when the current child node is the fourth child node, determining identification information of the first target bit of the current child node based on occupancy information of the reference child node may include:

[0204] Determine, based on occupancy information of decoded subnodes in a fourth preset direction, a second preset direction, and a third preset direction adjacent to the fourth subnode, the n-th bit identification information of the fourth subnode in the first category;

[0205] Determine, based on occupancy information of decoded child nodes adjacent to the fourth child node in a fourth preset direction, identification information of the n-1th bit of the fourth child node in the first category;

[0206] Determining, based on occupancy information of decoded subnodes adjacent to the fourth subnode in a second preset direction, identification information of the n-2th bit of the fourth subnode in the first category;

[0207] Based on the occupancy information of the decoded sub-nodes adjacent to the fourth sub-node in the third preset direction, identification information of the n-3 th bit of the fourth sub-node in the first category is determined.

[0208] Wherein, n is the highest bit number of the fourth child node in the first category.

[0209] In an embodiment of the present application, the fourth preset direction can be the left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction can be the front direction of the fourth subnode, and the third preset direction can be the lower direction of the fourth subnode.

[0210] In an embodiment of the present application, for the fourth subnode, the zeroth subnode, the first subnode, the second subnode, and the third subnode can constitute the "new left direction" of the fourth subnode. That is, for the identification information of the nth bit, it can be determined whether the new left direction, the front direction, and the bottom direction are all occupied. If the new left direction, the front direction, and the bottom direction are all occupied, the identification information of the nth bit is set to 1; otherwise, the identification information of the nth bit is set to 0. For the identification information of the n-1th bit, it can be determined whether the four subnodes of the new left direction are occupied. If none of the four subnodes of the new left direction are occupied, the identification information of the n-1th bit is set to 0; otherwise, the identification information of the n-1th bit is set to 1. For the identification information of the n-2th bit, it can be determined whether the four subnodes of the front direction are occupied. If none of the four child nodes in the front direction are occupied, the identification information of the n-2th bit is set to 0; otherwise, the identification information of the n-2th bit is set to 1. The identification information of the n-3th bit can be determined by whether the four child nodes in the lower direction are occupied. If none of the four child nodes in the lower direction are occupied, the identification information of the n-3th bit is set to 0; otherwise, the identification information of the n-3th bit is set to 1.

[0211] For example, for the fourth child node (i.e., child node 4), the four bits of identification information under the non-sparse category (in descending order) are adjusted to the interpretation shown in Table 11. Among them, the four nodes "bit0+bit1+bit2+bit3" are recorded as "new left".

[0212] Table 11

[0213]

[0214] Thus, Table 12 shows the context information of the corrected child node 4 provided by an embodiment of the present application, wherein the gray-filled portion corresponds to the four-bit identification information that is given actual meaning.

[0215] Table 12 Corrected context information of child node 0

[0216]

[0217] It can also be understood that when the current subnode is any one of the first subnode, the second subnode, the third subnode, the fifth subnode, and the sixth subnode, the identification information of the corresponding second target position can also be determined based on the occupancy information of the reference subnode. In some embodiments, when the current subnode meets the second condition, determining the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode may include:

[0218] Determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the decoded subnode adjacent to the left of the first subnode; or

[0219] Determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the decoded subnode adjacent to the left of the second subnode; or

[0220] Determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, and the second subnode; or

[0221] Determine the identification information of the k4th bit of the fifth child node based on the occupancy information of the zeroth child node, the first child node, the second child node, and the third child node; or

[0222] Based on the occupancy information of the 0th child node, the first child node, the second child node, and the third child node, identification information of the k5th bit of the sixth child node in the first category is determined.

[0223] In the embodiment of the present application, k1, k2, k3, k4 and k5 are all positive integers. In a specific embodiment, the method may further include: setting the values ​​of k1, k2, k4 and k5 to be equal to 16, and setting the value of k3 to be equal to 17.

[0224] In a specific implementation, for the first child node (ie, child node 1), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the Left direction. If none of the four child nodes in the Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Thus, Table 13 shows the context information of the corrected child node 1 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0225] Table 13 Corrected context information of child node 1

[0226]

[0227] In a specific implementation, for the second child node (ie, child node 2), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the Left direction. If none of the four child nodes in the Left direction are occupied, the identification information at the 16th bit is set to 0; otherwise, the identification information at the 16th bit is set to 1. Thus, Table 14 shows the context information of the corrected child node 2 provided by an embodiment of the present application. The gray-filled portion corresponds to the identification information that is given practical meaning.

[0228] Table 14 Corrected context information of child node 2

[0229]

[0230] In a specific implementation, for the third child node (ie, child node 3), the 17th bit (b 17 ) The identification information can be determined by the occupancy of the three child nodes bit0+bit1+bit2. Among them, if none of the three child nodes bit0+bit1+bit2 are occupied, the identification information of the 17th bit is set to 0; otherwise, the identification information of the 17th bit is set to 1. Thus, Table 15 shows the context information of the corrected child node 3 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0231] Table 15 Corrected context information of child node 3

[0232]

[0233] In a specific implementation, for the fifth child node (ie, child node 5), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the new Left direction. Among them, if none of the four child nodes in the new Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Among them, the four child nodes in the new Left direction are composed of the four child nodes bit0+bit1+bit2+bit3. In this way, Table 16 shows the context information of the corrected child node 5 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0234] Table 16 Corrected context information of child node 5

[0235]

[0236] In a specific implementation, for the sixth child node (ie, child node 6), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the new Left direction. Among them, if none of the four child nodes in the new Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Among them, the four child nodes in the new Left direction are composed of the four child nodes bit0+bit1+bit2+bit3. In this way, Table 17 shows the context information of the corrected child node 6 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0237] Table 17 Corrected context information of child node 6

[0238]

[0239] It should also be noted that, in the embodiments of the present application, if the current child node satisfies the second condition, that is, if the current child node is any of the first child node, the second child node, the third child node, the fifth child node, and the sixth child node, the identification strategy indicated by the identification information of the second target bit of the current child node is different from that of the related art. Therefore, in some embodiments, the method may further include: adjusting the identification strategy of the second target bit to determine the identification information of the second target bit of the current child node.

[0240] The identification strategy of the related art is: based on the occupancy of the corresponding reference child node, if no point is occupied, it is 1, otherwise it is 0; while the identification strategy of the embodiment of the present application is: based on the occupancy of the corresponding reference child node, if no point is occupied, it is 0, otherwise it is 1. Therefore, the identification information of the second target bit of the current child node can also be obtained by performing a negation operation on the second target bit in the related art. In some embodiments, the method may further include:

[0241] Determine initial identification information of the second target bit of the current child node;

[0242] Perform a negation operation on the initial identification information to determine the identification information of the second target bit of the current child node.

[0243] That is to say, taking child node 1 as an example, for the 16th bit (b 16 ) identification information, the related technology is determined by the occupancy of the 4 child nodes in the Left direction, but here it is 1 if there is no point occupied, and 0 if there is no point occupied, which will cause the decoded sign bit to lose its original meaning. Therefore, in the embodiment of the present application, the 16th bit (b 16 ) The symbol indicating the occupancy of the 4 child nodes in the Left direction can be corrected to 0 if no node is occupied and 1 if no node is occupied; that is, it is equivalent to performing a negation operation on the identification information of the related technology. Taking child node 3 as an example, for the 17th bit (b 17 ) identification information, the related art is determined by the occupation of the three sub-nodes bit0+bit1+bit2, but here no point is occupied as 1, otherwise it is 0, which will also cause the decoded sign bit to lose its original meaning. Therefore, in the embodiment of the present application, the 17th bit (b 17 ) The symbol indicating the occupation status of the three sub-nodes bit0+bit1+bit2 can be corrected to 0 if no point is occupied, and 1 otherwise; that is, it is equivalent to performing a negation operation on the identification information of the relevant technology.

[0244] It should also be noted that in the embodiments of the present application, some bits of the context information in the related art may have a negation operation, resulting in the loss of validity of the decoded symbols in the context information. Therefore, correction processing can be performed on the third target bit in the context information that has a negation operation. Therefore, in some embodiments, the method may further include: correcting the third target bit in the context information that has a negation operation, and determining identification information of the third target bit in the context information.

[0245] In a specific embodiment, the correction process here may be to delete the negation operation of the third target bit to improve the validity of the decoded symbol in the context information.

[0246] For example, still taking child node 1 as an example, Table 18 shows the bits with negation operation in the context information of child node 1 (the dot-filled portion), and Table 19 shows the context information of child node 1 after correction provided by an embodiment of the present application. Among them, the dot-filled portion corresponds to the removal of the identification information of the negation operation.

[0247] Table 18

[0248]

[0249] Table 19

[0250]

[0251] It should also be noted that in the embodiment of the present application, for the seventh child node (i.e., child node 7), regardless of whether it is a non-sparse category or a sparse category, the identification information here is not adjusted; and no correction is made to the negation operation in the context information.

[0252] S1003: Determine the context information of the current child node based on the preset identification information.

[0253] S1004: Decode the syntax element to be decoded of the current child node based on the context information, and determine the value of the syntax element to be decoded.

[0254] It should be noted that, with the exception of the seventh child node, the context information for the remaining zeroth child node, the first child node, the second child node, the third child node, the fourth child node, the fifth child node, and the sixth child node, after the above technical solution, is shown in Tables 20 to 26. The dot-filled portion corresponds to the removal of the identification information for the negation operation.

[0255] Table 20 Corrected context information of child node 0

[0256]

[0257] Table 21 Corrected context information of child node 1

[0258]

[0259] Table 22 Corrected context information of child node 2

[0260]

[0261] Table 23 Corrected context information of child node 3

[0262]

[0263] Table 24 Corrected context information of child node 4

[0264]

[0265] Table 25 Corrected context information of child node 5

[0266]

[0267] Table 26 Corrected context information of child node 6

[0268]

[0269] It should also be noted that, in some embodiments, the method may further include: adjusting the position of the preset identification information in the context information.

[0270] In the embodiments of the present application, context information may include primary information and secondary information, with primary information having a higher priority than secondary information. Therefore, in the context information, primary information is positioned relatively higher than secondary information. The position of the preset identification information may be adjusted based on the priority of the context information. For example, if the preset identification information is less important, the preset identification information may be adjusted to a relatively lower position.

[0271] It should also be noted that, in some embodiments, the method may further include: adjusting the usage of the decoded syntax elements in the context information.

[0272] In the embodiment of the present application, taking child node 1 as an example, the 16th bit (b 16 ) The identification information is determined based on the occupancy of the four sub-nodes in the Left direction. In other words, the identification information is determined based on the four sub-nodes as a whole, but it can also be determined based on eight or twelve sub-nodes as a whole, and there is no limitation on this.

[0273] It should also be noted that after determining the context information, the target data processing mode (i.e., the target decoder) can also be determined based on the context information, and then the syntax elements to be decoded can be decoded according to the target data processing mode, so that the values ​​of the syntax elements to be decoded can be obtained.

[0274] This embodiment provides a decoding method that determines occupancy information of a reference subnode of a current subnode; determines preset identification information of the current subnode based on the occupancy information of the reference subnode; determines context information of the current subnode based on the preset identification information; and decodes a to-be-decoded syntax element of the current subnode based on the context information to determine the value of the to-be-decoded syntax element. In this way, the identification information in the context information can be given practical meaning, and the decoded sign bit can be made valid. This improves the accuracy of constructing the context information, thereby selecting the optimal target data processing mode for decoding. This method improves encoding and decoding efficiency while maintaining encoding and decoding performance.

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

[0276] S1101: Determine occupancy information of a reference child node of a current child node.

[0277] It should be noted that the encoding method of the embodiment of the present application is applied to an encoder (or "entropy encoder"). In addition, the encoding method can specifically refer to a point cloud encoding method, or a point cloud entropy encoding method. More specifically, the embodiment of the present application provides a context adjustment method to make the identification information in the context information have practical meaning and also to make the encoded sign bit valid.

[0278] It should also be noted that, taking the G-PCC encoder shown in Figure 2 as an example, the method of the embodiment of the present application can construct the context information of the current child node, and then apply it to the entropy coding part (i.e., the bold part in Figure 2), thereby improving the accuracy of constructing the upper and lower information, and thus improving the encoding performance of the point cloud.

[0279] It should also be noted that in a point cloud, a point can be all points in the point cloud or some points in the point cloud, and these points are relatively concentrated in space. Among them, the current node can refer to the node to be encoded in the point cloud. For the current node, it can include eight child nodes, and then according to the preset scanning order (as shown in Figure 7), the child nodes to be encoded at different positions of the current node are sequentially used as the current child nodes, thereby constructing context information for the current child node to encode the syntax elements to be encoded of the current child node.

[0280] It should be understood that in the embodiments of the present application, the reference subnode refers to a neighboring node that is coplanar, co-edge, or co-pointed with the current subnode. In some embodiments, the reference subnode may include at least one of the following:

[0281] The encoded sibling nodes of the current child node;

[0282] The encoded child node in the first preset direction adjacent to the current child node;

[0283] The encoded child node in the second preset direction adjacent to the current child node;

[0284] The encoded child node in the third preset direction adjacent to the current child node;

[0285] The encoded sub-node in the fourth preset direction adjacent to the current sub-node.

[0286] It should be noted that, in the embodiment of the present application, the first preset direction may refer to the negative x-axis direction (left direction) of the current child node, the second preset direction may refer to the negative y-axis direction (front direction) of the current child node, and the third preset direction may refer to the negative z-axis direction (bottom direction) of the current child node. In addition, it should be noted that the fourth preset direction only exists when the current child node is child node 4, child node 5, child node 6, or child node 7. In this case, the fourth preset direction may refer to the new Left direction composed of child node 0, child node 1, child node 2, and child node 3.

[0287] It should also be noted that in the embodiment of the present application, child node 0 can be represented by bit0, child node 1 can be represented by bit1, child node 2 can be represented by bit2, child node 3 can be represented by bit3, child node 4 can be represented by bit4, child node 5 can be represented by bit5, child node 6 can be represented by bit6, and child node 7 can be represented by bit6.

[0288] For the coded sibling nodes of the current child node, if the current child node is child node 0, then there is no coded sibling node; if the current child node is child node 1, then the coded sibling node is bit0; if the current child node is child node 2, then the coded sibling nodes are bit0 and bit1; if the current child node is child node 3, then the coded sibling nodes are bit0, bit1 and bit2; if the current child node is child node 4, then the coded sibling nodes are bit0, bit1, bit2 and bit3; and so on, if the current child node is child node 7, then the coded sibling nodes are bit0, bit1, bit2, bit3, bit4, bit5 and bit6.

[0289] For example, if the current child node is child node 0, then the reference child node may include child node neighbors that are coplanar, co-edge, and co-point with it, no coded sibling node, and coplanar parent node neighbors with it, as well as other coded 20 neighbors that can be referenced; if the current child node is child node 1, then the reference child node may include child node neighbors that are coplanar, co-edge, and co-point with it, there is 1 coded sibling node bit0, and coplanar parent node neighbors with it, as well as other coded 20 neighbors that can be referenced; if the current child node is child node 2, then the reference child node may include Including child node neighbors with the same plane, the same edge, and the same point, there are 2 coded brother nodes bit0, bit1, and the parent node neighbors with the same plane and other coded 20 neighbors that can be referenced; if the current child node is child node 3, then the reference child node can include child node neighbors with the same plane, the same edge, and the same point, there are 3 coded brother nodes bit0, bit1, bit2, and the parent node neighbors with the same plane and other coded 20 neighbors that can be referenced; if the current child node is child node 4, then the reference child node can include child node neighbors with the same plane, The child node neighbors that share the same edge and point have 4 coded sibling nodes bit0, bit1, bit2, bit3, as well as the parent node neighbors that are coplanar with them and other coded 20 neighbors that can be referenced; if the current child node is child node 5, then the reference child node can include the child node neighbors that share the same plane, edge, and point with it, and have 5 coded sibling nodes bit0, bit1, bit2, bit3, bit4, as well as the parent node neighbors that are coplanar with it and other coded 20 neighbors that can be referenced; if the current child node is child node 6, then the reference child node can include the child node neighbors that share the same plane, edge, and point with it, and have 6 coded sibling nodes bit0, bit1, bit2, bit3, bit4, bit5, as well as the parent node neighbors that are coplanar with it and other coded 20 neighbors that can be referenced; if the current child node is child node 7, then the reference child node can include 7 coded sibling nodes bit0, bit1, bit2, bit3, bit4, bit5, bit6, as well as the parent node neighbors that are coplanar with it and other coded 20 neighbors that can be referenced. Here, for child node 7, there is no child node neighbor that shares the same plane, edge, or point with it.

[0290] It should also be understood that in the embodiments of the present application, the occupancy information of the reference subnode is used to indicate whether the reference subnode is point occupied. For example, if the occupancy information of the reference subnode is 1, it can indicate that the reference subnode is point occupied; conversely, if the occupancy information of the reference subnode is 0, it can indicate that the reference subnode is not point occupied.

[0291] S1102: Determine preset identification information of the current child node based on the occupancy information of the reference child node.

[0292] It should be noted that in the embodiments of the present application, the preset identification information in the context information of the current child node can be given actual meaning. Specifically, the value of the preset identification information can be determined based on the occupancy information of the reference child node. In some embodiments, determining the preset identification information of the current child node based on the occupancy information of the reference child node can include:

[0293] When the current child node meets the first condition, determining identification information of the first target position of the current child node based on the occupancy information of the reference child node; or,

[0294] When the current subnode satisfies the second condition, identification information of the second target position of the current subnode is determined based on the occupancy information of the reference subnode.

[0295] In the embodiment of the present application, the current child node satisfies the first condition, which may include: the current child node is one of the zeroth child node and the fourth child node.

[0296] In the embodiment of the present application, the current subnode satisfies the second condition, which may include: the current subnode is one of the first subnode, the second subnode, the third subnode, the fifth subnode, and the sixth subnode.

[0297] The zeroth child node (bit0), the first child node (bit1), the second child node (bit2), the third child node (bit3), the fourth child node (bit4), the fifth child node (bit5), and the sixth child node (bit6) are the child nodes to be encoded in the current node in a preset scanning order. For example, the preset scanning order can be the scanning order shown in FIG.

[0298] It should also be noted that, in the embodiment of the present application, the local sparse category of the current sub-node can also be determined based on the occupancy information of the reference sub-node. In some embodiments, the method may further include:

[0299] determining an occupied quantity of the reference child node based on the occupied information of the reference child node;

[0300] According to the occupancy count of the reference child node, the local sparse category of the current child node is determined.

[0301] Furthermore, in some embodiments, determining the local sparse category of the current child node based on the occupied quantity of the reference child node may include:

[0302] If the number of occupants of the reference child node is greater than a first threshold, determining that the local sparse category of the current child node is the first category;

[0303] If the occupancy number of the reference child node is less than or equal to the first threshold, the local sparse category of the current child node is determined to be the second category.

[0304] That is, based on the occupancy information of the reference child node (i.e., whether it is occupied), the occupancy number (NN) of the reference child node can be determined. Then, based on the comparison result of NN with the first 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.

[0305] For example, for the local sparse category of child node 0, the occupancy number (NN) of the 12 child nodes encoded in the negative x, y, and z directions adjacent to the current child node in FIG8 can be established. If the occupancy number NN>1, it is determined to be a non-sparse category; if the occupancy number NN≤1, it is determined to be a sparse category. For the local sparse category of child node 1, the occupancy number (NN) of the 4 child nodes encoded in the negative y direction (Front) adjacent to the current child node in FIG8 can be established. 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. For the local sparse category of child node 2, the occupancy number (NN) of the 4 child nodes encoded in the negative z direction (Bottom) adjacent to the current child node in FIG8 can be established. 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. For the local sparse category of child node 3, the three nodes bit0+bit1+bit2 and the seven nodes encoded in the negative x direction (Left) adjacent to the current child node in Figure 8 can be established as NN. If the occupancy number NN>1, it is determined to be a non-sparse category. If the occupancy number NN≤1, it is determined to be a sparse category.

[0306] In addition, for child node 4, the local sparse category can be determined using the NN of the four nodes (bit0+bit1+bit2+bit3) (denoted as "New Left"), the four nodes encoded in the negative y direction (Front) adjacent to the current child node in Figure 8, and the four nodes encoded in the negative z direction (Bottom). If the occupancy number NN is greater than 1, the category is non-sparse; if the occupancy number NN is less than 1, the category is sparse. For child node 5, the local sparse category can be determined using the negative y direction (Front) adjacent to the current child node in Figure 8 as the NN. If the occupancy number NN is greater than 0, the category is non-sparse; if the occupancy number NN is less than 0, the category is sparse. For child node 6, the local sparse category can be determined using the negative z direction (Bottom) adjacent to the current child node in Figure 8 as the NN. If the occupancy number NN is greater than 0, the category is non-sparse; if the occupancy number NN is less than 0, the category is sparse. For the local sparse category of child node 7, the 7 nodes bit0+bit1+bit2+bit3+bit4+bit5+bit6 can be established as NN. If the occupancy number NN>1, it is determined to be a non-sparse category. If the occupancy number NN≤1, it is determined to be a sparse category. There is no specific limitation on this here.

[0307] It can be understood that when the current child node is the zeroth child node or the fourth child node, the identification information of the first target bit of the current child node refers to the identification information under the first category (ie, non-sparse category), which can also be called header information here.

[0308] In some embodiments, when the current child node is the zeroth child node, determining identification information of the first target bit of the current child node based on occupancy information of the reference child node may include:

[0309] Determine, based on occupancy information of encoded subnodes in a first preset direction adjacent to the zeroth subnode, identification information of the mth bit of the zeroth subnode in the first category;

[0310] Determine, based on occupancy information of encoded subnodes in a second preset direction adjacent to the zeroth subnode, identification information of the m-1th bit of the zeroth subnode in the first category;

[0311] Based on the occupancy information of the encoded sub-nodes in the third preset direction adjacent to the zeroth sub-node, identification information of the m-2th bit of the zeroth sub-node in the first category is determined.

[0312] Where m is the highest bit number of the zeroth child node in the first category.

[0313] In an embodiment of the present application, the first preset direction may be the left direction of the zeroth subnode, the second preset direction may be the front direction of the zeroth subnode, and the third preset direction may be the bottom direction of the zeroth subnode.

[0314] That is to say, in the zeroth child node, the identification information of the mth bit can be determined by whether the four child nodes in the left direction are occupied. If none of the four child nodes in the left direction are occupied, the identification information of the mth bit is set to 0; otherwise, the identification information of the mth bit is set to 1. The identification information of the m-1th bit can be determined by whether the four child nodes in the front direction are occupied. If none of the four child nodes in the front direction are occupied, the identification information of the m-1th bit is set to 0; otherwise, the identification information of the m-1th bit is set to 1. The identification information of the m-2th bit can be determined by whether the four child nodes in the lower direction are occupied. If none of the four child nodes in the lower direction are occupied, the identification information of the m-2th bit is set to 0; otherwise, the identification information of the m-2th bit is set to 1.

[0315] For example, for the zeroth child node (i.e., child node 0), the three-digit identification information under the non-sparse category (in order from high to low) is adjusted as shown in the aforementioned Table 9. Thus, Table 10 shows the context information of the corrected child node 0 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the three-digit identification information that is given practical meaning.

[0316] In some embodiments, when the current child node is the fourth child node, determining identification information of the first target bit of the current child node based on occupancy information of the reference child node may include:

[0317] Determine, based on occupancy information of encoded subnodes in a fourth preset direction, a second preset direction, and a third preset direction adjacent to the fourth subnode, the n-th bit identification information of the fourth subnode in the first category;

[0318] Determine, based on occupancy information of encoded subnodes adjacent to the fourth subnode in a fourth preset direction, identification information of the n-1th bit of the fourth subnode in the first category;

[0319] Determining, based on occupancy information of encoded subnodes in a second preset direction adjacent to the fourth subnode, identification information of the n-2th bit of the fourth subnode in the first category;

[0320] Based on the occupancy information of the encoded sub-nodes adjacent to the fourth sub-node in the third preset direction, identification information of the n-3 th bit of the fourth sub-node in the first category is determined.

[0321] Wherein, n is the highest bit number of the fourth child node in the first category.

[0322] In an embodiment of the present application, the fourth preset direction can be the left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction can be the front direction of the fourth subnode, and the third preset direction can be the lower direction of the fourth subnode.

[0323] In an embodiment of the present application, for the fourth subnode, the zeroth subnode, the first subnode, the second subnode, and the third subnode can constitute the "new left direction" of the fourth subnode. That is, for the identification information of the nth bit, it can be determined whether the new left direction, the front direction, and the bottom direction are all occupied. If the new left direction, the front direction, and the bottom direction are all occupied, the identification information of the nth bit is set to 1; otherwise, the identification information of the nth bit is set to 0. For the identification information of the n-1th bit, it can be determined whether the four subnodes of the new left direction are occupied. If none of the four subnodes of the new left direction are occupied, the identification information of the n-1th bit is set to 0; otherwise, the identification information of the n-1th bit is set to 1. For the identification information of the n-2th bit, it can be determined whether the four subnodes of the front direction are occupied. If none of the four child nodes in the front direction are occupied, the identification information of the n-2th bit is set to 0; otherwise, the identification information of the n-2th bit is set to 1. The identification information of the n-3th bit can be determined by whether the four child nodes in the lower direction are occupied. If none of the four child nodes in the lower direction are occupied, the identification information of the n-3th bit is set to 0; otherwise, the identification information of the n-3th bit is set to 1.

[0324] For example, for the fourth child node (i.e., child node 4), the four-bit identification information under the non-sparse category (in order from high to low) is adjusted as shown in the aforementioned Table 11. Among them, the four nodes "bit0+bit1+bit2+bit3" are recorded as "new Left". In this way, Table 12 shows the context information of the corrected child node 4 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the four-bit identification information that is given practical meaning.

[0325] It can also be understood that when the current subnode is any one of the first subnode, the second subnode, the third subnode, the fifth subnode, and the sixth subnode, the identification information of the corresponding second target position can also be determined based on the occupancy information of the reference subnode. In some embodiments, when the current subnode meets the second condition, determining the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode may include:

[0326] Determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the encoded subnode adjacent to the left of the first subnode; or

[0327] Determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the encoded subnode adjacent to the left of the second subnode; or

[0328] Determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, and the second subnode; or

[0329] Determine the identification information of the k4th bit of the fifth child node based on the occupancy information of the zeroth child node, the first child node, the second child node, and the third child node; or

[0330] Based on the occupancy information of the 0th child node, the first child node, the second child node, and the third child node, identification information of the k5th bit of the sixth child node in the first category is determined.

[0331] In the embodiment of the present application, k1, k2, k3, k4 and k5 are all positive integers. In a specific embodiment, the method may further include: setting the values ​​of k1, k2, k4 and k5 to be equal to 16, and setting the value of k3 to be equal to 17.

[0332] In a specific implementation, for the first child node (ie, child node 1), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the Left direction. If none of the four child nodes in the Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Thus, Table 13 shows the context information of the corrected child node 1 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0333] In a specific implementation, for the second child node (ie, child node 2), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the Left direction. If none of the four child nodes in the Left direction are occupied, the identification information at the 16th bit is set to 0; otherwise, the identification information at the 16th bit is set to 1. Thus, Table 14 shows the context information of the corrected child node 2 provided by an embodiment of the present application. The gray-filled portion corresponds to the identification information that is given practical meaning.

[0334] In a specific implementation, for the third child node (ie, child node 3), the 17th bit (b 17 ) The identification information can be determined by the occupancy of the three child nodes bit0+bit1+bit2. Among them, if none of the three child nodes bit0+bit1+bit2 are occupied, the identification information of the 17th bit is set to 0; otherwise, the identification information of the 17th bit is set to 1. Thus, Table 15 shows the context information of the corrected child node 3 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0335] In a specific implementation, for the fifth child node (ie, child node 5), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the new Left direction. Among them, if none of the four child nodes in the new Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Among them, the four child nodes in the new Left direction are composed of the four child nodes bit0+bit1+bit2+bit3. In this way, Table 16 shows the context information of the corrected child node 5 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0336] In a specific implementation, for the sixth child node (ie, child node 6), the 16th bit (b 16 ) The identification information can be determined by the occupancy of the four child nodes in the new Left direction. Among them, if none of the four child nodes in the new Left direction are occupied, the identification information of the 16th bit is set to 0; otherwise, the identification information of the 16th bit is set to 1. Among them, the four child nodes in the new Left direction are composed of the four child nodes bit0+bit1+bit2+bit3. In this way, Table 17 shows the context information of the corrected child node 6 provided by an embodiment of the present application. Among them, the gray-filled part corresponds to the identification information that is given practical meaning.

[0337] It should also be noted that, in the embodiments of the present application, if the current child node satisfies the second condition, that is, if the current child node is any of the first child node, the second child node, the third child node, the fifth child node, and the sixth child node, the identification strategy indicated by the identification information of the second target bit of the current child node is different from that of the related art. Therefore, in some embodiments, the method may further include: adjusting the identification strategy of the second target bit to determine the identification information of the second target bit of the current child node.

[0338] The identification strategy of the related art is: based on the occupancy of the corresponding reference child node, if no point is occupied, it is 1, otherwise it is 0; while the identification strategy of the embodiment of the present application is: based on the occupancy of the corresponding reference child node, if no point is occupied, it is 0, otherwise it is 1. Therefore, the identification information of the second target bit of the current child node can also be obtained by performing a negation operation on the second target bit in the related art. In some embodiments, the method may further include:

[0339] Determine initial identification information of the second target bit of the current child node;

[0340] Perform a negation operation on the initial identification information to determine the identification information of the second target bit of the current child node.

[0341] That is to say, taking child node 1 as an example, for the 16th bit (b 16 ) identification information, the related technology is determined by the occupancy of the 4 child nodes in the Left direction, but here it is 1 if there is no point occupied, and 0 if there is no point occupied, which will cause the encoded sign bit to lose its original meaning. Therefore, in the embodiment of the present application, the 16th bit (b 16 ) The symbol indicating the occupancy of the 4 child nodes in the Left direction can be corrected to 0 if no node is occupied and 1 if no node is occupied; that is, it is equivalent to performing a negation operation on the identification information of the related technology. Taking child node 3 as an example, for the 17th bit (b 17 ) identification information, the related technology is determined by the occupation of the three sub-nodes bit0+bit1+bit2, but here no point is occupied as 1, otherwise it is 0, which will also make the encoded sign bit lose its original meaning. Therefore, in the embodiment of the present application, the 17th bit (b 17 ) The symbol indicating the occupation status of the three sub-nodes bit0+bit1+bit2 can be corrected to 0 if no point is occupied, and 1 otherwise; that is, it is equivalent to performing a negation operation on the identification information of the relevant technology.

[0342] It should also be noted that in the embodiments of the present application, some bits of the context information in the related art may have a negation operation, resulting in the loss of validity of the encoded symbols in the context information. Therefore, the third target bit in the context information that has a negation operation can be corrected. Therefore, in some embodiments, the method may further include: correcting the third target bit in the context information that has a negation operation, and determining identification information of the third target bit in the context information.

[0343] In a specific embodiment, the correction process here may be to delete the negation operation of the third target bit to improve the validity of the encoded symbol in the context information.

[0344] For example, still taking child node 1 as an example, Table 18 above shows the bits with a negation operation in the context information of child node 1, and Table 19 shows the context information of child node 1 after correction provided by an embodiment of the present application. Among them, the dot-filled portion corresponds to the removal of the identification information of the negation operation.

[0345] It should also be noted that in the embodiment of the present application, for the seventh child node (i.e., child node 7), regardless of whether it is a non-sparse category or a sparse category, the identification information here is not adjusted; and no correction is made to the negation operation in the context information.

[0346] S1103: Determine the context information of the current child node based on the preset identification information.

[0347] S1104: Encode the value of the syntax element to be encoded of the current child node based on the context information, and write the obtained encoded bits into the bitstream.

[0348] It should be noted that, after applying the above technical solution, Tables 20 to 26 show the final context information of the remaining seven child nodes, excluding the seventh child node, for the zeroth child node, the first child node, the second child node, the third child node, the fourth child node, the fifth child node, and the sixth child node. The dot-filled portion corresponds to the removal of the identification information for the negation operation.

[0349] It should also be noted that, in some embodiments, the method may further include: adjusting the position of the preset identification information in the context information.

[0350] In the embodiments of the present application, context information may include primary information and secondary information, with primary information having a higher priority than secondary information. Therefore, in the context information, primary information is positioned relatively higher than secondary information. The position of the preset identification information may be adjusted based on the priority of the context information. For example, if the preset identification information is less important, the preset identification information may be adjusted to a relatively lower position.

[0351] It should also be noted that, in some embodiments, the method may further include: adjusting the usage of the encoded syntax elements in the context information.

[0352] In the embodiment of the present application, taking child node 1 as an example, the 16th bit (b 16 ) The identification information is determined based on the occupancy of the four sub-nodes in the Left direction. In other words, the identification information is determined based on the four sub-nodes as a whole, but it can also be determined based on eight or twelve sub-nodes as a whole, and there is no limitation on this.

[0353] It should also be noted that after determining the context information, the target data processing mode (i.e., the target encoder) can also be determined based on the context information, and then the values ​​of the syntax elements to be encoded are encoded according to the target data processing mode, and the obtained encoded bits are written into the bitstream.

[0354] Furthermore, an embodiment of the present application also provides a code stream, wherein the code stream is generated by bit encoding according to information to be encoded; wherein the information to be encoded includes at least: a value of a syntax element to be encoded of a current child node.

[0355] It should also be noted that, in the embodiment of the present application, the encoding end can encode the syntax element to be encoded of the current child node and write it into the bitstream; subsequently, the decoding end can determine the value of the syntax element through decoding, so that the decoding end can use the value of the syntax element to perform related decoding operations.

[0356] This embodiment provides an encoding method that determines occupancy information of a reference child node of a current child node; determines preset identification information of the current child node based on the occupancy information of the reference child node; determines context information of the current child node based on the preset identification information; and encodes the value of a syntax element to be encoded of the current child node based on the context information, and writes the resulting coded bits into a bitstream. This method allows the identification information in the context information to be given practical meaning, and also allows the encoded sign bit to be valid. This improves the accuracy of constructing the context information, thereby enabling the selection of the optimal target encoder for encoding. This method improves encoding and decoding efficiency while maintaining encoding and decoding performance.

[0357] In another embodiment of the present application, the context adjustment method provided in the embodiment of the present application mainly includes two modifications compared with the related art:

[0358] (1) Modify the identification information in the existing context to give it practical meaning.

[0359] For child node 0, the three-bit identification information under the non-sparse category (in order from high to low) is adjusted to the interpretation shown in the aforementioned Table 9; correspondingly, the context information of child node 0 after correction is shown in Table 10.

[0360] For child node 1, for the 16th bit (b 16 ) The sign indicating the occupancy status of the four child nodes in the Left direction is corrected to 0 if not occupied; otherwise, it is 1; correspondingly, the context information of the child node 1 after correction is shown in Table 13.

[0361] For child node 2, for the 16th bit (b 16) The sign indicating the occupancy status of the four child nodes in the Left direction is corrected to 0 if not occupied; otherwise, it is 1; correspondingly, the context information of the corrected child node 2 is shown in Table 14.

[0362] For child node 3, for the 17th bit (b 17 ) The signs of the occupancy status of the three child nodes bit0+bit1+bit2 are corrected to 0 if not occupied; otherwise, it is 1; correspondingly, the context information of the corrected child node 3 is shown in Table 15.

[0363] For child node 4, the four-bit identification information under the non-sparse category (in order from high to low) is adjusted to the interpretation shown in Table 11, where the four nodes bit0+bit1+bit2+bit3 are recorded as "New Left"; correspondingly, the context information of child node 4 after correction is shown in Table 12.

[0364] For child node 5, the 16th flag (b 16 ) The signs of the occupancy status of the four nodes of "New Left" are corrected to 0 if not occupied and 1 otherwise; correspondingly, the context information of the corrected child node 5 is shown in Table 16.

[0365] For child node 6, the 16th flag (b 16 ) The signs of the occupancy status of the four nodes of "New Left" are corrected to 0 if not occupied and 1 otherwise; correspondingly, the context information of the corrected child node 6 is shown in Table 17.

[0366] For child node 7, no adjustment is made to the flag bits of the non-sparse category and the sparse category.

[0367] (2) Modify the negation operation of the compiled grammatical element in the existing context.

[0368] The modified negation operation is performed using the context information of child node 1 as an example. For details, see Table 18 and Table 19. In addition, the same modification is performed on other child nodes except child node 7.

[0369] Combining the above two context information correction schemes, Tables 20 to 26 show the final context information of the seven child nodes (excluding child node 7), where the dot-filled portion corresponds to the removal of the identification information of the negation operation.

[0370] Furthermore, in an embodiment of the present application, the context information can also be dynamically reduced / updated. FIG12 shows a schematic diagram of a dynamic reduction process of context information provided by an embodiment of the present application. As shown in FIG12 , the process may include:

[0371] S1201: Divide context information according to importance.

[0372] S1202: Reduce the secondary information to obtain reduced secondary information.

[0373] S1203: Reorganize the context information according to the primary information and the reduced secondary information.

[0374] FIG13 shows a schematic diagram of a process for dynamically reducing context information updates provided by an embodiment of the present application. As shown in FIG13 , the process may include:

[0375] S1301: Increment the current context counter.

[0376] S1302: Determine whether N(i1, i2′) ≥ threshold th.

[0377] S1303: Update secondary information.

[0378] S1304: Update the reorganization context information.

[0379] It should be noted that in the update dynamic reduction process, the update of secondary information into ), where the updated context inherits the encoder index value mapped by the original context (LUT for coder (context index)).

[0380] It should also be noted that, for step S1302, if the judgment result is no, the output If the answer is yes, then execute steps S1303 and S1304, and finally output

[0381] That is, in the embodiment of the present application, after the original context information bins (i1, i2) is divided into primary information i1 and secondary information i2 (as shown in FIG12 ), only the secondary information i2 is reduced, that is, k bits of i2 are set to 0 (truncated) to obtain secondary information i'2, and then the context information is reorganized to form a context state D(i1, i'2); each context state D will have a counter N(i1, i'2) to record the number of times the current state D is accessed. The "dynamic reduction" process is reflected in the process of FIG13 . If N(i1, i'2) is greater than the set threshold th, the k-bit secondary information in the original context information bins is truncated and replaced with k-1 bits of secondary information, and the context information is reorganized again, activating the new state D(i1, i'2'). That is, the subsequent syntax elements to be encoded will consider more secondary information to form a new context state, which means that the reduced secondary information is dynamically adjusted; thereby achieving the encoding and decoding processing of the current syntax element.

[0382] Thus, in the embodiment of the present application, based on the G-PCC general test software TMC13 V20, the performance comparison of the octree geometric coding bitstream under lossless conditions is shown in Table 27. It can be seen from Table 27 that the performance of the geometric bitstream of the present technical solution on these data does not change.

[0383] Table 27 Performance results of this technical solution

[0384] Sequence bpip ratio [%] basketball_player_vox11_00000200 100% dancer_vox11_00000001100% facade_00064_vox11 100% longdress_vox10_1300 100% loot_vox10_1200 100% queen_0200 100% redandblack_vox10_1550 100% soldier_vox10_0690 100% thaidancer_viewdep_vox12 100% average 100%

[0385] In the embodiments of the present application, the specific implementation of the aforementioned embodiments is elaborated in detail through the above embodiments. It can be seen that according to the technical scheme of the aforementioned embodiments, on the one hand, the practical significance of the context identification information is taken into account, and on the other hand, the validity of the encoded symbols in the context is taken into account; thereby, the accuracy of constructing the context information can be improved so as to select the best target encoder for encoding; in this way, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

[0386] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see Figure 14, which shows a schematic diagram of the composition structure of an encoder provided by an embodiment of the present application. As shown in Figure 14, the encoder 140 may include: a first determining unit 1401 and an encoding unit 1402; wherein,

[0387] The first determining unit 1401 is configured to determine occupancy information of a reference child node of a current child node; determine preset identification information of the current child node based on the occupancy information of the reference child node; and determine context information of the current child node based on the preset identification information;

[0388] The encoding unit 1402 is configured to encode the value of the syntax element to be encoded of the current child node based on the context information, and write the obtained encoding bits into the bitstream.

[0389] In some embodiments, the reference sub-node may include at least one of the following:

[0390] The encoded sibling nodes of the current child node;

[0391] The encoded child node in the first preset direction adjacent to the current child node;

[0392] The encoded child node in the second preset direction adjacent to the current child node;

[0393] The encoded child node in the third preset direction adjacent to the current child node;

[0394] The encoded sub-node in the fourth preset direction adjacent to the current sub-node.

[0395] In some embodiments, the first determination unit 1401 is further configured to determine the identification information of the first target position of the current subnode based on the occupancy information of the reference subnode when the current subnode meets the first condition; or to determine the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode when the current subnode meets the second condition.

[0396] In some embodiments, the first determining unit 1401 is further configured to adjust the identification strategy of the second target bit to determine identification information of the second target bit of the current subnode when the current subnode satisfies the second condition.

[0397] In some embodiments, the first determination unit 1401 is further configured to determine that the current subnode satisfies a first condition, including: the current subnode is one of the zeroth subnode and the fourth subnode; and is further configured to determine that the current subnode satisfies a second condition, including: the current subnode is one of the first subnode, the second subnode, the third subnode, the fifth subnode and the sixth subnode; wherein the zeroth subnode, the first subnode, the second subnode, the third subnode, the fourth subnode, the fifth subnode and the sixth subnode are subnodes in the current node to be encoded in sequence according to a preset scanning order.

[0398] In some embodiments, when the current child node is the zeroth child node, the first determination unit 1401 is further configured to determine the identification information of the mth bit of the zeroth child node in the first category based on the occupancy information of the encoded child nodes in the first preset direction adjacent to the zeroth child node; determine the identification information of the m-1th bit of the zeroth child node in the first category based on the occupancy information of the encoded child nodes in the second preset direction adjacent to the zeroth child node; and determine the identification information of the m-2th bit of the zeroth child node in the first category based on the occupancy information of the encoded child nodes in the third preset direction adjacent to the zeroth child node; wherein m is the highest bit number of the zeroth child node in the first category.

[0399] In some embodiments, the first preset direction is the left side direction of the zeroth subnode, the second preset direction is the front side direction of the zeroth subnode, and the third preset direction is the bottom side direction of the zeroth subnode.

[0400] In some embodiments, when the current child node is the fourth child node, the first determination unit 1401 is further configured to determine the nth bit identification information of the fourth child node in the first category based on the occupancy information of the encoded child nodes in the fourth preset direction, the second preset direction, and the third preset direction adjacent to the fourth child node; determine the n-1th bit identification information of the fourth child node in the first category based on the occupancy information of the encoded child nodes in the fourth preset direction adjacent to the fourth child node; determine the n-2th bit identification information of the fourth child node in the first category based on the occupancy information of the encoded child nodes in the second preset direction adjacent to the fourth child node; determine the n-3th bit identification information of the fourth child node in the first category based on the occupancy information of the encoded child nodes in the third preset direction adjacent to the fourth child node; wherein n is the highest bit number of the fourth child node in the first category.

[0401] In some embodiments, the fourth preset direction is the left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction is the front direction of the fourth subnode, and the third preset direction is the bottom direction of the fourth subnode.

[0402] In some embodiments, when the current subnode satisfies the second condition, the first determination unit 1401 is further configured to determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the encoded subnode in the left direction adjacent to the first subnode; or, determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the encoded subnode in the left direction adjacent to the second subnode; or, determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, determine the identification information of the k4th bit of the fifth subnode based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, determine the identification information of the k5th bit of the sixth subnode in the first category based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode, where k1, k2, k3, k4, and k5 are all positive integers.

[0403] In some embodiments, the first determining unit 1401 is further configured to set the values ​​of k1, k2, k4, and k5 to be equal to 16, and set the value of k3 to be equal to 17.

[0404] In some embodiments, the first determining unit 1401 is further configured to determine the occupancy quantity of the reference subnode based on the occupancy information of the reference subnode; and determine the local sparse category of the current subnode according to the occupancy quantity of the reference subnode.

[0405] In some embodiments, the first determination unit 1401 is further configured to determine that the local sparse category of the current child node is the first category if the occupied number of the reference child node is greater than the first threshold; and / or, if the occupied number of the reference child node is less than or equal to the first threshold, determine that the local sparse category of the current child node is the second category.

[0406] In some embodiments, the first determining unit 1401 is further configured to perform correction processing on the third target bit having a negation operation in the context information, and determine identification information of the third target bit in the context information.

[0407] In some embodiments, the first determining unit 1401 is further configured to adjust the position of the preset identification information in the context information.

[0408] It is understood that in the embodiments of the present application, a "unit" may be a portion of a circuit, a portion of a processor, a portion of a program or software, and so forth. It may also be a module or a non-modular component. Furthermore, the various components in this embodiment may be integrated into a single processing unit, each unit may exist physically as a separate unit, or two or more units may be integrated into a single unit. These integrated units may be implemented in either hardware or software functional modules.

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

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

[0411] Based on the composition of the above-mentioned encoder 140 and the computer-readable storage medium, refer to Figure 15, which shows a specific hardware structure diagram of the encoder 140 provided in an embodiment of the present application. As shown in Figure 15, the encoder 140 may include: a first communication interface 1501, a first memory 1502 and a first processor 1503; each component is coupled together through a first bus system 1504. It can be understood that the first bus system 1504 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 1504 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 1504 in Figure 15. Among them,

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

[0413] A first memory 1502 is used to store computer programs that can be run on the first processor 1503;

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

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

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

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

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

[0419] It is understood that the first memory 1502 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. 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 1502 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0420] The first processor 1503 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 1503. The above-mentioned first processor 1503 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 1502 , and the first processor 1503 reads the information in the first memory 1502 and completes the steps of the above method in combination with its hardware.

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

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

[0423] This embodiment provides an encoder in which, for context information, actual meaning can be given to the identification information therein, and the encoded sign bits can also be made valid; thereby, the accuracy of constructing the context information can be improved so that the best target encoder can be selected for encoding; thus, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

[0424] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see Figure 16, which shows a schematic diagram of the composition structure of a decoder provided by the embodiment of the present application. As shown in Figure 16, the decoder 160 may include: a second determining unit 1601 and a decoding unit 1602; wherein,

[0425] The second determining unit 1601 is configured to determine occupancy information of a reference child node of the current child node; determine preset identification information of the current child node based on the occupancy information of the reference child node; and determine context information of the current child node based on the preset identification information;

[0426] The decoding unit 1602 is configured to decode the syntax element to be decoded of the current child node based on the context information, and determine the value of the syntax element to be decoded.

[0427] In some embodiments, the reference sub-node may include at least one of the following:

[0428] The decoded sibling nodes of the current child node;

[0429] The decoded child nodes in the first preset direction adjacent to the current child node;

[0430] The decoded child nodes in the second preset direction adjacent to the current child node;

[0431] The decoded child nodes in the third preset direction adjacent to the current child node;

[0432] The decoded child node in the fourth preset direction adjacent to the current child node.

[0433] In some embodiments, the second determination unit 1601 is further configured to determine the identification information of the first target position of the current subnode based on the occupancy information of the reference subnode when the current subnode meets the first condition; or to determine the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode when the current subnode meets the second condition.

[0434] In some embodiments, the second determining unit 1601 is further configured to adjust the identification strategy of the second target bit to determine the identification information of the second target bit of the current subnode when the current subnode satisfies the second condition.

[0435] In some embodiments, the second determination unit 1601 is further configured to determine that the current subnode satisfies the first condition, including: the current subnode is one of the zeroth subnode and the fourth subnode; and is also configured to determine that the current subnode satisfies the second condition, including: the current subnode is one of the first subnode, the second subnode, the third subnode, the fifth subnode and the sixth subnode; wherein the zeroth subnode, the first subnode, the second subnode, the third subnode, the fourth subnode, the fifth subnode and the sixth subnode are the subnodes in the current node to be decoded in sequence according to a preset scanning order.

[0436] In some embodiments, when the current child node is the zeroth child node, the second determination unit 1601 is further configured to determine the identification information of the mth bit of the zeroth child node in the first category based on the occupancy information of the decoded child nodes in the first preset direction adjacent to the zeroth child node; determine the identification information of the m-1th bit of the zeroth child node in the first category based on the occupancy information of the decoded child nodes in the second preset direction adjacent to the zeroth child node; determine the identification information of the m-2th bit of the zeroth child node in the first category based on the occupancy information of the decoded child nodes in the third preset direction adjacent to the zeroth child node; wherein m is the highest number of bits of the zeroth child node in the first category.

[0437] In some embodiments, the first preset direction is the left side direction of the zeroth subnode, the second preset direction is the front side direction of the zeroth subnode, and the third preset direction is the bottom side direction of the zeroth subnode.

[0438] In some embodiments, when the current child node is the fourth child node, the second determination unit 1601 is further configured to determine the nth bit identification information of the fourth child node in the first category based on the occupancy information of the decoded child nodes in the fourth preset direction, the second preset direction, and the third preset direction adjacent to the fourth child node; determine the n-1th bit identification information of the fourth child node in the first category based on the occupancy information of the decoded child nodes in the fourth preset direction adjacent to the fourth child node; determine the n-2th bit identification information of the fourth child node in the first category based on the occupancy information of the decoded child nodes in the second preset direction adjacent to the fourth child node; determine the n-3th bit identification information of the fourth child node in the first category based on the occupancy information of the decoded child nodes in the third preset direction adjacent to the fourth child node; wherein n is the highest bit number of the fourth child node in the first category.

[0439] In some embodiments, the fourth preset direction is the left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction is the front direction of the fourth subnode, and the third preset direction is the bottom direction of the fourth subnode.

[0440] In some embodiments, when the current subnode satisfies the second condition, the second determination unit 1601 is further configured to determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the decoded subnode in the left direction adjacent to the first subnode; or, determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the decoded subnode in the left direction adjacent to the second subnode; or, determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, determine the identification information of the k4th bit of the fifth subnode based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, determine the identification information of the k5th bit of the sixth subnode in the first category based on the occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode, where k1, k2, k3, k4, and k5 are all positive integers.

[0441] In some embodiments, the second determining unit 1601 is further configured to set the values ​​of k1, k2, k4, and k5 to be equal to 16, and set the value of k3 to be equal to 17.

[0442] In some embodiments, the second determining unit 1601 is further configured to determine the occupancy quantity of the reference subnode based on the occupancy information of the reference subnode; and determine the local sparse category of the current subnode according to the occupancy quantity of the reference subnode.

[0443] In some embodiments, the second determination unit 1601 is further configured to determine that the local sparse category of the current child node is the first category if the occupied number of the reference child node is greater than the first threshold; and / or, if the occupied number of the reference child node is less than or equal to the first threshold, determine that the local sparse category of the current child node is the second category.

[0444] In some embodiments, the second determining unit 1601 is further configured to perform correction processing on the third target bit having a negation operation in the context information, and determine identification information of the third target bit in the context information.

[0445] In some embodiments, the second determining unit 1601 is further configured to adjust the position of the preset identification information in the context information.

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

[0447] 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 decoder 160. 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.

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

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

[0450] The second memory 1702 is used to store computer programs that can be run on the second processor 1703;

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

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

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

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

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

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

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

[0458] This embodiment provides a decoder in which, for context information, actual meaning can be given to the identification information therein, and the encoded sign bits can also be made valid; thereby, the accuracy of constructing the context information can be improved so that the best target decoder can be selected for decoding; thus, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

[0459] In yet another embodiment of the present application, referring to FIG18 , a schematic diagram of the structure of a coding and decoding system provided by an embodiment of the present application is shown. As shown in FIG18 , the coding and decoding system 180 may include an encoder 1801 and a decoder 1802 .

[0460] In the embodiment of the present application, the encoder 1801 may be the encoder described in any one of the aforementioned embodiments, and the decoder 1802 may be the decoder described in any one of the aforementioned embodiments.

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

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

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

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

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

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

[0467] In an embodiment of the present application, whether it is the encoding end or the decoding end, the occupancy information of the reference subnode of the current subnode is first determined; then, based on the occupancy information of the reference subnode, the preset identification information of the current subnode is determined; based on the preset identification information, the context information of the current subnode is determined. Finally, at the encoding end, the value of the grammatical element to be encoded of the current subnode is encoded based on the context information, and the obtained encoding bits are written into the bitstream; so that at the decoding end, the grammatical element to be decoded of the current subnode can be decoded based on the context information, and the value of the grammatical element to be decoded can be determined. In this way, for the context information, the identification information therein can be given practical meaning, and the encoded symbol bit can also be made valid; thereby, the accuracy of constructing the context information can be improved, so that the best target encoder can be selected for encoding; thus, while maintaining the encoding and decoding performance, the encoding and decoding efficiency can also be improved.

Claims

1. A decoding method, applied to a decoder, the method comprising: Determine the occupancy information of the reference child node of the current child node; Determining preset identification information of the current subnode based on the occupancy information of the reference subnode; Based on the preset identification information, determining the context information of the current child node; The syntax element to be decoded of the current child node is decoded based on the context information, and a value of the syntax element to be decoded is determined.

2. The method according to claim 1, wherein: The reference subnode includes at least one of the following: The decoded sibling nodes of the current child node; A decoded sub-node in a first preset direction adjacent to the current sub-node; A decoded sub-node in a second preset direction adjacent to the current sub-node; A decoded sub-node in a third preset direction adjacent to the current sub-node; The decoded sub-nodes in a fourth preset direction adjacent to the current sub-node.

3. The method according to claim 1, wherein: The determining the preset identification information of the current subnode based on the occupancy information of the reference subnode includes: When the current subnode satisfies the first condition, determining identification information of the first target position of the current subnode based on the occupancy information of the reference subnode; or, When the current subnode satisfies the second condition, identification information of the second target position of the current subnode is determined based on the occupancy information of the reference subnode.

4. The method according to claim 3, wherein: When the current child node satisfies the second condition, the method further includes: The identification strategy of the second target position is adjusted to determine identification information of the second target position of the current child node.

5. The method according to claim 3, wherein: The current child node satisfies the first condition, including: the current child node is one of the zeroth child node and the fourth child node; The current child node satisfies the second condition, including: the current child node is one of the first child node, the second child node, the third child node, the fifth child node and the sixth child node; Among them, the zeroth subnode, the first subnode, the second subnode, the third subnode, the fourth subnode, the fifth subnode and the sixth subnode are subnodes to be decoded in sequence in the current node according to a preset scanning order.

6. The method according to claim 5, wherein: When the current child node is the zeroth child node, determining the identification information of the first target bit of the current child node based on the occupancy information of the reference child node includes: Determine the identification information of the mth bit of the zeroth subnode in the first category based on the occupancy information of the decoded subnodes in the first preset direction adjacent to the zeroth subnode; Determine, based on occupancy information of decoded subnodes in a second preset direction adjacent to the zeroth subnode, identification information of the m-1th bit of the zeroth subnode in the first category; Determine, based on occupancy information of decoded subnodes in a third preset direction adjacent to the zeroth subnode, identification information of the m-2th bit of the zeroth subnode in the first category; Wherein, m is the highest bit number of the zeroth child node in the first category.

7. The method according to claim 6, wherein: The first preset direction is the left direction of the zeroth subnode, the second preset direction is the front direction of the zeroth subnode, and the third preset direction is the bottom direction of the zeroth subnode.

8. The method according to claim 5, wherein: When the current subnode is the fourth subnode, determining the identification information of the first target position of the current subnode based on the occupancy information of the reference subnode includes: Determine the nth bit identification information of the fourth subnode in the first category based on the occupancy information of the decoded subnodes in the fourth preset direction, the second preset direction, and the third preset direction adjacent to the fourth subnode; Determine, based on occupancy information of decoded subnodes adjacent to the fourth subnode in a fourth preset direction, identification information of the n-1th bit of the fourth subnode in the first category; Determine, based on the occupancy information of the decoded subnodes in the second preset direction adjacent to the fourth subnode, the identification information of the n-2th bit of the fourth subnode in the first category; Determine, based on occupancy information of decoded subnodes adjacent to the fourth subnode in a third preset direction, identification information of the n-3th bit of the fourth subnode in the first category; Wherein, n is the highest number of bits of the fourth sub-node in the first category.

9. The method according to claim 8, wherein: The fourth preset direction is a left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction is a front direction of the fourth subnode, and the third preset direction is a lower direction of the fourth subnode.

10. The method according to claim 5, wherein: When the current subnode satisfies the second condition, determining the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode includes: Determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the decoded subnodes adjacent to the first subnode in the left direction; or, Determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the decoded subnode adjacent to the second subnode in the left direction; or, Determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, and the second subnode; or Determine identification information of the k4th bit of the fifth subnode based on occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, Based on the occupancy information of the zeroth child node, the first child node, the second child node and the third child node, the identification information of the k5th bit of the sixth child node in the first category is determined, wherein k1, k2, k3, k4 and k5 are all positive integers.

11. The method according to claim 10, wherein: The method further comprises: Set the values ​​of k1, k2, k4, and k5 to 16, and Set the value of k3 to 17.

12. The method according to claim 1, wherein: The method further comprises: Determining the occupancy quantity of the reference subnode based on the occupancy information of the reference subnode; The local sparse category of the current child node is determined according to the occupied quantity of the reference child node.

13. The method according to claim 12, wherein: The determining the local sparse category of the current child node according to the occupied quantity of the reference child node includes: If the number of occupancy of the reference child node is greater than a first threshold, determining that the local sparse category of the current child node is a first category; If the occupancy number of the reference child node is less than or equal to the first threshold, it is determined that the local sparse category of the current child node is the second category.

14. The method according to any one of claims 1 to 13, wherein: The method further comprises: A correction process is performed on the third target bit having a negation operation in the context information to determine identification information of the third target bit in the context information.

15. The method according to any one of claims 1 to 13, wherein: The method further comprises: The position of the preset identification information in the context information is adjusted.

16. A coding method, applied to an encoder, the method comprising: Determine the occupancy information of the reference child node of the current child node; Determining preset identification information of the current subnode based on the occupancy information of the reference subnode; Based on the preset identification information, determining the context information of the current child node; The value of the to-be-encoded syntax element of the current child node is encoded based on the context information, and the obtained encoding bits are written into a bitstream.

17. The method according to claim 16, wherein: The reference subnode includes at least one of the following: The encoded sibling node of the current child node; An encoded sub-node in a first preset direction adjacent to the current sub-node; An encoded sub-node in a second preset direction adjacent to the current sub-node; An encoded sub-node in a third preset direction adjacent to the current sub-node; an encoded sub-node in a fourth preset direction adjacent to the current sub-node.

18. The method according to claim 16, wherein: The determining the preset identification information of the current subnode based on the occupancy information of the reference subnode includes: When the current subnode satisfies the first condition, determining identification information of the first target position of the current subnode based on the occupancy information of the reference subnode; or, When the current subnode satisfies the second condition, identification information of the second target position of the current subnode is determined based on the occupancy information of the reference subnode.

19. The method according to claim 18, wherein: When the current child node satisfies the second condition, the method further includes: The identification strategy of the second target position is adjusted to determine identification information of the second target position of the current child node.

20. The method according to claim 18, wherein: The current child node satisfies the first condition, including: the current child node is one of the zeroth child node and the fourth child node; The current child node satisfies the second condition, including: the current child node is one of the first child node, the second child node, the third child node, the fifth child node and the sixth child node; Among them, the zeroth subnode, the first subnode, the second subnode, the third subnode, the fourth subnode, the fifth subnode and the sixth subnode are subnodes to be encoded in the current node in sequence according to a preset scanning order.

21. The method according to claim 20, wherein: When the current child node is the zeroth child node, determining the identification information of the first target bit of the current child node based on the occupancy information of the reference child node includes: Determine, based on occupancy information of encoded subnodes in a first preset direction adjacent to the zeroth subnode, identification information of the mth bit of the zeroth subnode in the first category; Determine, based on occupancy information of encoded subnodes in a second preset direction adjacent to the zeroth subnode, identification information of the m-1th bit of the zeroth subnode in the first category; Determine, based on occupancy information of encoded subnodes in a third preset direction adjacent to the zeroth subnode, identification information of the m-2th bit of the zeroth subnode in the first category; Wherein, m is the highest bit number of the zeroth child node in the first category.

22. The method according to claim 21, wherein: The first preset direction is the left direction of the zeroth subnode, the second preset direction is the front direction of the zeroth subnode, and the third preset direction is the bottom direction of the zeroth subnode.

23. The method according to claim 20, wherein: When the current subnode is the fourth subnode, determining the identification information of the first target position of the current subnode based on the occupancy information of the reference subnode includes: Determine the nth bit identification information of the fourth subnode in the first category based on the occupation information of the encoded subnodes in the fourth preset direction, the second preset direction, and the third preset direction adjacent to the fourth subnode; Determine, based on occupancy information of encoded subnodes in a fourth preset direction adjacent to the fourth subnode, identification information of the n-1th bit of the fourth subnode in the first category; Determine, based on occupancy information of encoded subnodes in a second preset direction adjacent to the fourth subnode, identification information of the n-2th bit of the fourth subnode in the first category; Determine, based on occupancy information of encoded subnodes in a third preset direction adjacent to the fourth subnode, identification information of the n-3th bit of the fourth subnode in the first category; Wherein, n is the highest number of bits of the fourth sub-node in the first category.

24. The method according to claim 23, wherein: The fourth preset direction is a left direction based on the zeroth subnode, the first subnode, the second subnode and the third subnode, the second preset direction is a front direction of the fourth subnode, and the third preset direction is a lower direction of the fourth subnode.

25. The method according to claim 20, wherein: When the current subnode satisfies the second condition, determining the identification information of the second target position of the current subnode based on the occupancy information of the reference subnode includes: Determine the identification information of the k1th bit of the first subnode in the first category based on the occupancy information of the encoded subnode adjacent to the first subnode in the left direction; or Determine the identification information of the k2th bit of the second subnode in the first category based on the occupancy information of the encoded subnode adjacent to the second subnode in the left direction; or, Determine the identification information of the k3th bit of the third subnode in the second category based on the occupancy information of the zeroth subnode, the first subnode, and the second subnode; or Determine identification information of the k4th bit of the fifth subnode based on occupancy information of the zeroth subnode, the first subnode, the second subnode, and the third subnode; or, Based on the occupancy information of the zeroth child node, the first child node, the second child node and the third child node, the identification information of the k5th bit of the sixth child node in the first category is determined, wherein k1, k2, k3, k4 and k5 are all positive integers.

26. The method according to claim 25, wherein: The method further comprises: Set the values ​​of k1, k2, k4, and k5 to 16, and Set the value of k3 to 17.

27. The method of claim 16, wherein: The method further comprises: Determining the occupancy quantity of the reference subnode based on the occupancy information of the reference subnode; The local sparse category of the current child node is determined according to the occupied quantity of the reference child node.

28. The method according to claim 27, wherein: The determining the local sparse category of the current child node according to the occupied quantity of the reference child node includes: If the number of occupancy of the reference child node is greater than a first threshold, determining that the local sparse category of the current child node is a first category; If the occupancy number of the reference child node is less than or equal to the first threshold, it is determined that the local sparse category of the current child node is the second category.

29. The method according to any one of claims 16 to 28, wherein: The method further comprises: A correction process is performed on the third target bit having a negation operation in the context information to determine identification information of the third target bit in the context information.

30. The method according to any one of claims 16 to 28, wherein: The method further comprises: The position of the preset identification information in the context information is adjusted.

31. A code stream, wherein The code stream is generated by bit coding according to the information to be coded; wherein the information to be coded includes at least: the value of the syntax element to be coded of the current child node.

32. An encoder, comprising a first determining unit and an encoding unit; wherein: The first determining unit is configured to determine occupancy information of a reference subnode of a current subnode; Determining preset identification information of the current subnode based on the occupancy information of the reference subnode; Based on the preset identification information, determining the context information of the current child node; The encoding unit is configured to encode the value of the to-be-encoded syntax element of the current child node based on the context information, and write the obtained coded bits into a bitstream.

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

34. A decoder, comprising a second determining unit and a decoding unit; wherein: The second determining unit is configured to determine the occupancy information of the reference sub-node of the current sub-node; Determining preset identification information of the current subnode based on the occupancy information of the reference subnode; Based on the preset identification information, determining the context information of the current child node; The decoding unit is configured to decode the syntax element to be decoded of the current child node based on the context information, and determine the value of the syntax element to be decoded.

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

36. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 15 is implemented, or the method according to any one of claims 16 to 30 is implemented.

Citation Information

Patent Citations

  • Point cloud geometrical information encoding and decoding method

    CN112565795A

  • Point cloud encoding method, point cloud decoding method, encoder, decoder and storage medium

    CN115299057A

  • Coding processing method and decoding processing method for geometric information of point cloud and related equipment

    CN115471627A

  • Point cloud encoding / decoding method, encoder, decoder, and storage medium

    WO2021232251A1

  • Point cloud geometric information encoding processing method, decoding processing method, and related device

    WO2022257970A1