Coding and decoding method and device based on inter-frame prediction, chip and storage medium

By using an inter-frame prediction-based coding method, the coding of point cloud data is optimized by utilizing an independent OBUF inter-frame context state tree and context probability model group. This solves the efficiency problem of point cloud data storage and transmission, achieving more efficient coding and saving memory.

CN121397237APending Publication Date: 2026-01-23HISENSE VISUAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410924243.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-10
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

The massive and unstructured nature of point cloud data poses significant challenges to storage and transmission, and existing technologies struggle to compress and process it efficiently.

Method used

An inter-frame prediction-based coding method is adopted. By determining the prediction mode of the symbol to be encoded, and using an independent OBUF inter-frame context state tree and context probability model group, the coding process is optimized, the number of bits in the context state tree is reduced, and memory is saved.

Benefits of technology

Without affecting coding efficiency, the number of bits in the context state tree is reduced, thereby improving coding efficiency and saving memory.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121397237A_ABST
    Figure CN121397237A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a coding and decoding method and device based on inter-frame prediction, a chip and a storage medium thereof. The coding method may comprise: determining a prediction mode of a symbol to be coded, the prediction mode may comprise an intra-frame prediction mode and an inter-frame prediction mode; on the basis that the prediction mode is an inter-frame prediction mode, determining an inter-frame context state tree of the symbol to be coded; for the inter-frame context state tree, determining a predicted value of the symbol to be coded; determining a context probability model group corresponding to the symbol to be coded based on the inter-frame context state trees and the predicted values, different inter-frame context state trees and different predicted values corresponding to different context probability model groups; determining a context probability model based on a context probability model group corresponding to the to-be-coded symbol; and coding the symbol to be coded based on the context probability model.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of audio and video technology, and in particular, to a coding method and device based on inter-frame prediction, a chip and a storage medium thereof. BACKGROUND

[0002] A point cloud is a three-dimensional data set composed of a large number of points, each of which contains position information in space and possibly other attributes (such as color, normal vector, texture coordinate, and intensity value). Point cloud data can include rich spatial information and attribute information, and thus can express three-dimensional media content and be used to provide VR, AR, MR, and other services. However, point cloud data often includes tens of thousands or even hundreds of thousands of point data for representation, and thus requires an effective method for processing point cloud data. SUMMARY

[0003] The following is a brief summary of the present disclosure, which can be used to provide a basic understanding of some aspects of the present disclosure. The summary is not a broad overview of the present disclosure. The summary is not intended to identify key or important elements of the present disclosure, nor is it intended to limit any scope of the specific implementations of the present disclosure or any scope of the claims. The sole purpose of the summary is to provide a language-based presentation of some concepts of the present disclosure as a preliminary introduction to the more detailed description presented later.

[0004] According to one or more aspects of the present disclosure, a coding method based on inter-frame prediction is provided. The method includes determining a prediction mode of a to-be-coded symbol, wherein the prediction mode includes an intra-frame prediction mode and an inter-frame prediction mode; determining an inter-frame context state tree of the to-be-coded symbol based on the prediction mode being the inter-frame prediction mode; determining a prediction value of the to-be-coded symbol for the inter-frame context state tree; determining a context probability model group corresponding to the to-be-coded symbol based on the inter-frame context state tree and the prediction value, wherein different inter-frame context state trees and different prediction values correspond to different context probability model groups; determining a context probability model based on the context probability model group corresponding to the to-be-coded symbol; and coding the to-be-coded symbol based on the context probability model.

[0005] According to one or more aspects of the present disclosure, an inter prediction based encoder is provided. The encoder comprises: a prediction mode determining module configured to determine a prediction mode of a to-be-encoded symbol, wherein the prediction mode comprises an intra prediction mode and an inter prediction mode; a context state tree determining module configured to determine an inter context state tree of the to-be-encoded symbol based on the prediction mode being the inter prediction mode, wherein the inter context state tree of the to-be-encoded symbol is an independent OBUF inter context state tree; a prediction module configured to determine a prediction value of the to-be-encoded symbol for the inter context state tree; a context probability model group determining module configured to determine a context probability model group corresponding to the to-be-encoded symbol based on the inter context state tree and the prediction value, and determine a context probability model based on the context probability model group corresponding to the to-be-encoded symbol, wherein different inter context state trees and different prediction values correspond to different context probability model groups; and an entropy encoding module configured to encode the to-be-encoded symbol based on the context probability model.

[0006] According to one or more aspects of the present disclosure, an apparatus is provided. The apparatus comprises: a memory configured to store a computer program; and a processor configured to invoke the computer program to perform the encoding method as described above.

[0007] According to one or more aspects of the present disclosure, a non-transitory computer storage medium is provided. The non-transitory computer storage medium stores a computer program which, when invoked by a processor, causes the processor to implement the encoding method as described above.

[0008] According to one or more aspects of the present disclosure, a chip is provided. The chip comprises: a memory configured to store a computer program; and a processor configured to invoke the computer program to perform the encoding method as described above. BRIEF DESCRIPTION OF DRAWINGS

[0009] The present disclosure will be more fully understood from the following detailed description, taken in connection with the accompanying drawings, in which:

[0010] Figure 1 An exemplary block diagram of a system 100 that can be used for G-PCC encoding and decoding in accordance with some embodiments of the present disclosure is shown;

[0011] Figure 2 An exemplary block diagram of a G-PCC encoder 200 in accordance with some embodiments of the present disclosure is shown;

[0012] Figure 3An exemplary block diagram of a G-PCC decoder 300 according to some embodiments of the present disclosure is shown;

[0013] Figure 4 An exemplary diagram of Trisoup-based geometry reconstruction according to some embodiments of the present disclosure is shown;

[0014] Figure 5 An exemplary block diagram of an encoder 500 using Optimal binarization with update on the fly (OBUF) technique for encoding according to some embodiments of the present disclosure is shown;

[0015] Figure 6 An exemplary diagram of neighbor vertices of an edge to be encoded located at x, y, z axes is shown;

[0016] Figure 7 An exemplary block diagram of an encoding module 700 that can be used to perform inter-prediction based Trisoup geometry encoding according to some embodiments of the present disclosure is shown;

[0017] Figure 8 An information structure diagram showing secondary information in the intra context state tree and the inter context state tree one, inter context state tree two, inter context state tree three, inter context state tree four according to some embodiments of the present disclosure is shown;

[0018] Figure 9 An information structure diagram showing secondary information in the intra context state tree and the inter context state tree one, inter context state tree two, inter context state tree three, inter context state tree four according to some other embodiments of the present disclosure is shown;

[0019] Figure 10 An information structure diagram showing secondary information in the intra context state tree and the inter context state tree one, inter context state tree two, inter context state tree three, inter context state tree four according to some other embodiments of the present disclosure is shown;

[0020] Figure 11 An exemplary block diagram of a decoding module 1100 that can be used to perform inter-prediction based Trisoup geometry decoding according to some embodiments of the present disclosure is shown;

[0021] Figure 12 An exemplary flow diagram of an encoding method flow 1200 using Optimal binarization with update on the fly technique according to some embodiments of the present disclosure is shown;

[0022] Figure 13An exemplary flowchart of an encoding method 1300 for Trisoup geometry coding based on inter prediction according to some embodiments of the present disclosure is shown;

[0023] Figure 14 An exemplary flowchart of a decoding method 1400 for Trisoup geometry coding based on inter prediction according to some embodiments of the present disclosure is shown;

[0024] Figure 15 An exemplary block diagram of a hardware structure 1500 that can be used to perform the encoding method and the decoding method according to some embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0025] In some embodiments, the method provided in some embodiments of the present disclosure can be used for encoding of Trisoup vertices in G-PCC. More specifically, the method provided in some embodiments of the present disclosure can be used for encoding of position information in Trisoup vertex information in G-PCC. In some embodiments, the position information can include N bits, each bit can divide the position interval where the Trisoup vertex currently locates into two intervals, left and right. Wherein the position interval where the Trisoup vertex currently locates is determined by the previous bits. In some embodiments, when the bit value is 0, the bit value indicates that the Trisoup vertex locates in the left interval of the position interval where it currently locates, and when the bit value is 1, the bit value indicates that the Trisoup vertex locates in the right interval of the position interval where it currently locates. In some embodiments, when the bit value is 0, the bit value indicates that the Trisoup vertex locates in the right interval of the position interval where it currently locates, and when the bit value is 1, the bit value indicates that the Trisoup vertex locates in the left interval of the position interval where it currently locates.

[0026] In some embodiments, the N bits in the position information indicate that the position interval where the Trisoup vertex locates is divided N times, wherein the first bit in the N bits divides the position interval where the Trisoup vertex locates into left and right intervals, and determines whether the Trisoup vertex locates in the left interval or the right interval according to the value of the first bit. According to the second bit in the N bits, the left interval or the right interval where the Trisoup vertex locates is further divided into left and right intervals, and determines whether the Trisoup vertex locates in the left interval or the right interval according to the value of the second bit. Similarly, the subsequent bits in the N bits are also determined in the above manner, and after being divided N times, the position of the final Trisoup vertex is determined.

[0027] For example, when N equals 2, the first bit in the position information divides the position interval where the Trisoup vertex is located into a first left interval and a first right interval. When the first bit is 0, the Trisoup vertex is in the first left interval; when the first bit is 1, the Trisoup vertex is in the first right interval. When the Trisoup vertex is in the first left interval, the second bit in the position information divides the first left interval into a second left interval and a second right interval. When the second bit is 0, the Trisoup vertex is in the second left interval; when the second bit is 1, the Trisoup vertex is in the second right interval.

[0028] In some embodiments, the position information of the to-be-encoded vertex includes N-bit information. Similarly, the position information of the neighbor compensated reference vertex and the neighbor uncompensated reference vertex of the to-be-encoded vertex also includes N-bit information.

[0029] In some embodiments, the method provided by some embodiments of the present disclosure can be used to encode the second bit of the position information of the Trisoup vertex. In some embodiments, the method provided by some embodiments of the present disclosure can include determining a prediction mode of a to-be-encoded symbol, wherein the prediction mode can include an intra prediction mode and an inter prediction mode; determining an inter context state tree of the to-be-encoded symbol based on the prediction mode being an inter prediction mode, wherein the inter context state tree of the to-be-encoded symbol is an independent OBUF inter context state tree; determining a prediction value of the to-be-encoded symbol for the inter context state tree; determining a context probability model group corresponding to the to-be-encoded symbol based on the inter context state tree and the prediction value, wherein different inter context state trees and different prediction values correspond to different context probability model groups; determining that a context probability model can be used for subsequent encoding based on the context probability model group corresponding to the to-be-encoded symbol; and encoding the to-be-encoded symbol based on the context probability model. According to the method of the present disclosure, embodiments of the present disclosure select a context probability model group suitable for each state for the context state tree according to the inter prediction result to determine the context probability model, thereby more fully utilizing the inter prediction information, and reducing the number of bits of the context state tree and saving memory without affecting the Solid G-PCC set encoding efficiency.

[0030] In some embodiments, the method provided by some embodiments of the present disclosure further determines the inter prediction information as the information of prediction 0 and prediction 1 based on the first quantity information and the second quantity information, and updates the partial inter prediction information from prediction 0 and prediction 1 to non-prediction. The first quantity information is the cumulative sum of the second bits in the position information of the coded vertex determined to be in the prediction position, and the second quantity information is the cumulative sum of the second bits in the position information of the coded vertex. In some embodiments, the above operation can merge the partial inter context state tree, thereby avoiding the slow convergence of the probability corresponding to the inter context state tree and the poor prediction effect when the use of inter prediction is less.

[0031] In some embodiments, the context state tree can include the intra context, the first inter context state tree and the second inter context state tree. In some embodiments, the context state tree can include more context state trees, for example, the number of context state trees can be determined according to N.

[0032] In some embodiments, the context probability model group can include 7 context probability model groups. Each inter context state tree corresponds to three prediction results, i.e. non-prediction, prediction 0 and prediction 1. In some embodiments, the context probability model group corresponds to one context state tree and one prediction result. For example, in some embodiments, one of the context probability model groups in the context probability model group can be used to determine the context probability model based on the intra context state tree. In some embodiments, the remaining 6 context probability model groups in the context probability model group can be used to determine the context probability model based on the first inter context state tree and the second inter context state tree and their corresponding prediction results. In some embodiments, after determining the context state tree of the second bit in the position information of the vertex, the method provided by some embodiments of the present disclosure maps the context state tree to the corresponding context probability model group to determine the context probability model for subsequent encoding according to the inter prediction result.

[0033] In some embodiments, the context probability model group includes one or more context probability models. In some embodiments, after determining the corresponding context probability model group, the context probability model group determines the corresponding context probability model index based on the determined context state tree, wherein the context probability model index can indicate one context probability model in the context probability model group. In some embodiments, based on the context state tree, the context probability model indicated by the context probability model index can be determined.

[0034] In some embodiments, the to-be-encoded symbol can be encoded based on the context probability model.

[0035] In some embodiments, the inter-prediction-based encoding apparatus, storage medium and method provided by the present disclosure are based on the same concept, and the implementation of the apparatus and the storage medium can be referred to each other since the principles of solving technical problems are similar, and the repeated parts will not be described again.

[0036] In some embodiments, the inter-prediction-based decoding apparatus, storage medium and method provided by the present disclosure are based on the same concept as the inter-prediction-based encoding apparatus, storage medium and method provided by the present disclosure, and the principles of the technology adopted are similar, so the implementation of the decoding apparatus, storage medium and method can refer to the implementation of the encoding apparatus, storage medium and method, and the repeated parts will not be described again.

[0037] In some embodiments, a point cloud refers to a collection of massive three-dimensional points. After obtaining the spatial coordinates of each sampling point on the surface of an object, a collection of points is obtained, which is called a point cloud. In addition to geometric coordinates, the points in the point cloud can also include some other attribute information, such as color, normal vector, reflectivity, transparency, material type, etc. Point clouds can be obtained in various ways. In some embodiments, the implementation of obtaining a point cloud can include using a camera array with known fixed positions in space to observe an object, and using some related algorithms to obtain a three-dimensional representation of the object from the two-dimensional images taken by the camera array, thereby obtaining the point cloud corresponding to the object. In other embodiments, the implementation of obtaining a point cloud can include using a laser radar scanning device to obtain the point cloud corresponding to the object. The sensor of the laser radar scanning device records the electromagnetic waves emitted by the radar and reflected by the surface of the object, thereby obtaining the volume information of the object, and obtaining the point cloud corresponding to the object according to the volume information of the object. In other embodiments, the implementation of obtaining a point cloud can also include creating three-dimensional volume information from two-dimensional images by using artificial intelligence or computer vision algorithms, thereby obtaining the point cloud corresponding to the object.

[0038] Point clouds provide a high-precision three-dimensional representation for fine digitalization of the physical world, and can be widely used in fields such as three-dimensional modeling, smart cities, autonomous navigation systems, augmented reality, etc. However, due to the characteristics of massive data, unstructured, uneven density, etc., the storage and transmission of point clouds face great challenges. Therefore, it is necessary to efficiently compress point clouds. Currently, the compression standards for point clouds include Geometry-based Point Cloud Compression (G-PCC) and Video-based Point Cloud Compression (V-PCC). The principles and related algorithms of G-PCC are described below.

[0039] Figure 1 An exemplary block diagram of a system 100 that can be used for G-PCC encoding and decoding in accordance with some embodiments of the present disclosure is shown. As shown, the system 100 can be used for encoding and / or decoding point cloud data, i.e., supporting point cloud compression and / or decompression. The system can efficiently compress and / or decompress point cloud data. In some embodiments, the system 100 can be used for Solid G-PCC encoding and decoding. Figure 1

[0040] In some embodiments, the system 100 can include a source device 110. The source device 110 can be used to provide encoded point cloud data to the destination device 120 for decoding. In some embodiments, the system 100 can include a destination device 120. The destination device 120 can be used to receive and decode the encoded point cloud data sent by the source device 110. In some embodiments, the system 100 can include a storage device 130. The source device 110 can store the encoded point cloud data in the storage device 130 after encoding the point cloud data. The destination device 120 can read the encoded point cloud data from the storage device 130 for decoding. In some embodiments, the source device 110 and the destination device 120 can be any suitable device, such as one or more of a computer, a notebook, a Pad, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, a land or sea vehicle, a spacecraft, an airplane, a robot, a LIDAR (Light Detection and Ranging) device, a satellite, etc. In some embodiments, the source device 110 and the destination device 120 can also use wireless communication, or can use wired communication. In some embodiments, the storage device 130 can be any suitable storage device and / or storage medium, such as a file server, a cloud server, a communication medium, a storage device, etc.

[0041] ​In some embodiments, the source device 110 can include a data source 111. The data source 111 can be configured to obtain point cloud data, in particular, point cloud data that has not been encoded. The data source 111 can be configured to provide a series of consecutive data frames to the G-PCC encoder 113 for encoding. The data source 111 can include a point cloud data obtaining device. The point cloud data obtaining device can be any one or more of a camera or a sensor, such as a 3D scanner, a Lidar sensor, a video camera, etc. In some embodiments, the point cloud data obtaining device can also obtain historical point cloud data that has been obtained, or corresponding data from a data content provider. In summary, the point cloud data obtaining device can be configured to obtain point cloud data that can be encoded. The point cloud data obtaining device can obtain point cloud data in a variety of ways, and any way of obtaining point cloud data can be used as the point cloud data obtaining device.

[0042] In some embodiments, the source device 110 can include a first memory 112. The first memory 112 can be configured to store point cloud data from the data source 111. The first memory 112 can be a general memory device. In some embodiments, the first memory 112 can also be configured to store encoded point cloud data from the G-PCC encoder 113.

[0043] In some embodiments, the source device 110 can include a G-PCC encoder 113. The G-PCC encoder 113 can be configured to encode point cloud data obtained from the data source 111. The G-PCC encoder 113 can rearrange received data frames from a received order to an encoding order that can be used for encoding. The G-PCC encoder 113 can generate one or more bitstreams corresponding to the point cloud data, where the one or more bitstreams can include encoded data.

[0044] In some embodiments, the source device can include an output interface 114. The output interface 114 can be configured to output one or more bitstreams generated by the G-PCC encoder 113 to the G-PCC decoder 120 for decoding or to a storage device 130 for storage. In some embodiments, the output interface 114 can be a wireless transmitter / receiver, a modem, a wired network component (e.g., an Ethernet card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. The output interface 114 can be configured to transmit encoded data according to a cellular communication standard, e.g., 4G, 4G-LTE, 5G, etc. In some embodiments, the output interface 114 can also be configured to transmit encoded data according to other wireless standards, e.g., IEEE 802.11 specifications, IEEE 802.15 specifications (e.g., ZigBee™), Bluetooth™ standards, etc.

[0045] In some embodiments, the source device can further include any other suitable components for point cloud data encoding.

[0046] In some embodiments, the target device 120 can include an application 121. The application 121 can be configured to use the decoded point cloud data. For example, the application 121 can determine the location of a particular object using the decoded point cloud data. In some embodiments, the application 121 can include a display configured to display an image generated based on the decoded point cloud data.

[0047] In some embodiments, the target device 120 can include a second memory 122. The second memory 122 can be configured to store the decoded point cloud data. In some embodiments, the second memory 122 and the first memory 112 can be memories in different devices. In some embodiments, the second memory 122 and the first memory 112 can also be different memories or the same memory in the same device. In some embodiments, when the second memory 122 and the first memory 112 are in the same device, the first memory 112 and the second memory 122 can be distinguished by storing instructions.

[0048] In some embodiments, the target device 120 can include a G-PCC decoder 123; wherein the G-PCC decoder 123 can be configured to decode the encoded point cloud data. The G-PCC decoder 123 can receive one or more bitstreams from the input interface 124 and decode the one or more bitstreams to obtain the point cloud data. After obtaining the point cloud data, the G-PCC decoder 123 can store the point cloud data in the second memory 122 or transmit the point cloud data to the application 121.

[0049] In some embodiments, the target device 120 can include an input interface 124; wherein the input interface 124 can receive and / or obtain one or more bitstreams from the source device 110 and / or the storage device 130 and transmit the one or more bitstreams to the G-PCC decoder 123 for decoding. In some embodiments, the input interface 124 can be a wireless transmitter / receiver, a modem, a wired network component (e.g., an Ethernet card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. The input interface 124 can be configured to transmit encoded data according to a cellular communication standard, e.g., 4G, 4G-LTE, 5G, etc. In some embodiments, the input data 124 can also be configured to transmit encoded data according to other wireless standards, e.g., IEEE 802.11 specifications, IEEE 802.15 specifications (e.g., ZigBee™), Bluetooth™ standards, etc.

[0050] In some embodiments, the target device 120 can include any suitable components that can be used to decode point cloud data.

[0051] In some embodiments, the G-PCC encoder 113 and the G-PCC decoder 123 can be any one of a variety of coding / decoding circuitry, such as a microprocessor, a digital signal processor, an image processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), discrete logic, software, hardware, firmware or any combinations thereof. In some embodiments, when the encoding and / or decoding techniques are implemented in software, the source device 110 and the destination device 120 can store instructions for the software in a suitable, non-volatile storage medium and execute the instructions using one or more of the processors described previously. The G-PCC encoder 113 and the G-PCC decoder 123 can be included in one or more encoders and / or decoders, which can be integrated as part of a combined codec (CODEC) in a device. In some embodiments, a device including the G-PCC encoder 113 and the G-PCC decoder 123 can be and / or can include one or more integrated circuits, microprocessors, and / or other types of devices.

[0052] In some embodiments, the G-PCC encoder 113 and the G-PCC decoder 123 can operate according to an encoding standard, such as the Video Point Cloud Compression (V-PCC) standard or the Geometric Point Cloud Compression (G-PCC) standard. The one or more bitstreams can generally include a series of values for syntax elements that encode decisions (e.g., encoding modes).

[0053] Figure 2 An exemplary block diagram of a G-PCC encoder 200 is shown, in accordance with some embodiments of the present disclosure. In some embodiments, the G-PCC encoder 200 can be and / or can include the G-PCC encoder 113 described in connection with Figure 1 the G-PCC encoder 113.

[0054] In some embodiments, the G-PCC encoder 200 can be configured to encode a point cloud to be encoded. The point cloud to be encoded can include geometry information and attribute information.

[0055] In some embodiments, the G-PCC encoder 200 can include the geometry encoding module 210. The geometry encoding module 210 can be configured to encode the geometry information. In some embodiments, the geometry encoding module 210 can include a coordinate conversion unit 211. The coordinate conversion unit 211 can be configured to perform coordinate conversion on the geometry information, so that all the points in the point cloud to be encoded are contained in a bounding box. In some embodiments, the geometry encoding module 210 can include a voxelization unit 212. The voxelization unit 212 can be configured to perform voxelization on the geometry information after coordinate conversion. In some embodiments, the voxelization unit 212 performing voxelization on the geometry information after coordinate conversion means that the voxelization unit 212 quantizes the geometry information after coordinate conversion and removes duplicate points, so as to scale the point cloud to be encoded. Since quantization rounding can make the positions of some points in the point cloud to be encoded the same, the voxelization unit 212 needs to determine whether to remove duplicate points according to a parameter. In some embodiments, the geometry encoding module 210 can include an octree encoding unit 213. In some embodiments, the geometry encoding module 210 can include a prediction tree encoding unit 214. The octree encoding unit 213 and the prediction tree encoding unit 214 can be configured to perform arithmetic encoding on the geometry information after voxelization, to obtain a geometry information bitstream of the point cloud to be encoded. In some embodiments, the geometry encoding module 210 can include a first arithmetic encoding unit 215. In some embodiments, the G-PCC encoder 200 can perform arithmetic encoding on the geometry information after voxelization by using the octree encoding unit 213 and the first arithmetic encoding unit 215. In some embodiments, the G-PCC encoder 200 can perform arithmetic encoding on the geometry information after voxelization by using the prediction tree encoding unit 214 and the first arithmetic encoding unit 215.

[0056] In some embodiments, the octree encoding unit 213 can include an octree partitioning subunit 2131. The octree partitioning subunit 2131 can be configured to perform octree partitioning. In some embodiments, the octree partitioning subunit 2131 can perform octree partitioning (octree / tetree / bintree) on the bounding box in a breadth first search order, and encode the occupancy code of each node. That is, the octree partitioning subunit 2131 can successively partition the bounding box to obtain child cubes, and continue to partition the child cubes that are not empty (contain points in the point cloud) until the leaf nodes obtained by the partitioning are 1x1x1 unit cubes. Then the number of points contained in the leaf nodes is encoded, and finally the geometry octree is encoded to generate a binary code stream. In some embodiments, whether the child cube contains points is represented by an 8-bit binary code, which is referred to as an occupancy code. In some embodiments, when the child cube contains points, the bit is 1; when the child cube does not contain points, the bit is 0. In some embodiments, the octree encoding unit 213 can include a surface fitting subunit 2132 and any suitable unit that can be used for octree-based geometry encoding. In some embodiments, the surface fitting subunit 2132 can perform surface fitting on the geometry information based on a Trisoup (Triangle soup). When performing surface fitting, the surface fitting subunit 2132 can first perform octree partitioning, but does not need to successively partition the point cloud to be encoded to unit cubes with an edge length of 1x1x1, but rather stops partitioning when the edge length of the child block is a preset value, and then obtains at most twelve vertices generated by the surface formed based on the distribution of the point cloud in each child block and the twelve edges of the child block. The first arithmetic encoding unit 215 can successively encode the vertex coordinates of each child block to generate a binary geometry information code stream.

[0057] In some embodiments, the prediction tree encoding unit can include a prediction tree construction subunit 2141. The prediction tree construction subunit 2141 can be configured to construct a prediction tree structure. In some embodiments, the prediction tree construction subunit 2141 can be configured to sort points in the point cloud to be encoded and construct a prediction tree structure in two different ways (e.g., a high latency slow way and a low latency fast way), where the sorting can be in disorder, in Morton order, in azimuth angle order, in radial distance order, etc. The prediction tree encoding unit can include a prediction quantization subunit 2142 and other suitable subunits for performing prediction tree based geometry encoding. The prediction quantization subunit 2142 can be configured to traverse each node in the prediction tree based on the prediction tree structure, predict several position information of the node by selecting different prediction modes to obtain prediction residuals, and quantize the geometry prediction residuals using a quantization parameter. The prediction modes can include at least an intra prediction mode and an inter prediction mode. The first arithmetic encoding unit 215 can be configured to iteratively encode the prediction residuals of the position information of the nodes in the prediction tree, the prediction tree structure, and the quantization parameter, and further generate a binary geometry information bitstream.

[0058] In some embodiments, the G-PCC encoder 200 can include an attribute encoding module 220. The attribute encoding module 220 can be configured to encode the attribute information. In some embodiments, the attribute encoding module 220 can include a color conversion unit 221. The color conversion unit 221 can be configured to perform color conversion on the attribute information. In some embodiments, the attribute encoding module 220 can include a re-coloring unit 222. The re-coloring unit 222 can be configured to re-color the geometry information. The re-coloring refers to assigning attribute information to the reconstructed point cloud using the original point cloud, with the goal of making the attribute values of the reconstructed point cloud as similar as possible to the attribute values of the point cloud to be encoded, so as to minimize the error. In some embodiments, the attribute encoding module 220 can include a RAHT (Region Adaptive Hierarchical Transform) unit 223. The RAHT unit 223 can be configured to perform region adaptive hierarchical transform on the attribute information. In some embodiments, the attribute encoding module 220 can include a quantization unit 224. The quantization unit 224 can be configured to quantize the coefficients of the RAHT transform. In some embodiments, the attribute encoding module 220 can include a geometry reconstruction unit 226. Since the attribute encoding module 220 is processed based on the reconstructed geometry information, after the lossy geometry encoding is completed, the geometry reconstruction unit 226 can be configured to reconstruct the geometry information according to the geometry bitstream, and match the original attribute information and the reconstructed geometry information. In some embodiments, the attribute encoding module 220 can include a second arithmetic encoding module 225. The second arithmetic encoding module 225 can be configured to perform arithmetic encoding on the quantized coefficients of the RAHT transform, so as to obtain the attribute information bitstream.

[0059] Figure 3 is an exemplary block diagram of a G-PCC decoder 300 according to some embodiments of the present disclosure. In some embodiments, the G-PCC decoder 300 can be and / or can include the G-PCC decoder 123 as described in connection with Figure 1 the G-PCC decoder 123.

[0060] In some embodiments, the G-PCC decoder 300 can be configured to decode the geometry information bitstream and the attribute information bitstream, to obtain the geometry information and the attribute information, and to reconstruct the point cloud.

[0061] In some embodiments, the G-PCC decoder 300 can include a geometry decoding module 310. The geometry decoding module 310 can be configured to decode a geometry information bitstream to obtain geometry information. In some embodiments, the geometry decoding module can include a first arithmetic decoding unit 311. The first arithmetic decoding unit 311 can be configured to perform arithmetic decoding on the geometry information bitstream. In some embodiments, the geometry decoding module can include an octree decoding unit 312. The octree decoding unit 312 can be configured to perform octree decoding on the geometry information bitstream after arithmetic decoding. In some embodiments, the geometry decoding module can include a prediction tree decoding unit 313. The prediction tree decoding unit 313 can be configured to perform prediction tree decoding on the geometry information bitstream after arithmetic decoding. In some embodiments, the geometry decoding module can include a geometry reconstruction unit 314. The geometry reconstruction unit 314 can be configured to reconstruct the geometry information. In some embodiments, the geometry decoding module can include an inverse coordinate conversion unit 315. The inverse coordinate conversion unit 315 can be configured to perform inverse coordinate conversion on the reconstructed geometry information to output the geometry information.

[0062] In some embodiments, the octree decoding unit 312 can include an octree synthesis subunit 3121. The octree synthesis subunit 3121 can be configured to synthesize an octree. In some embodiments, the octree decoding unit 312 can include a surface fitting subunit 3122. The surface fitting subunit 3122 can be configured to perform surface fitting to reconstruct geometry. In some embodiments, the octree decoding unit 312 can be configured to parse an occupancy code of each node by continuously parsing the occupancy code of each node and successively partitioning nodes in a breadth-first traversal order until a 1x1x1 unit cube is obtained, parse a number of points contained in each leaf node, and finally recover geometry reconstruction point cloud information.

[0063] In some embodiments, the prediction tree decoding unit 313 can include a prediction tree reconstruction subunit 3131. The prediction tree reconstruction subunit 3131 can be configured to reconstruct a prediction tree. In some embodiments, the prediction tree decoding unit 313 can include a residual calculation subunit 3132. The residual calculation subunit 3132 can be configured to obtain geometry position prediction residual information and a quantization parameter of each prediction node and perform inverse quantization, which can be used by the geometry reconstruction unit 314 and the inverse coordinate conversion unit 315 to obtain geometry information.

[0064] In some embodiments, the G-PCC decoder 300 may include an attribute decoding module 320. The attribute decoding module 320 is used to decode the attribute information bitstream to obtain attribute information. In some embodiments, the attribute decoding module 320 may include a second arithmetic decoding unit 321. The second arithmetic decoding unit 321 is used to perform arithmetic decoding on the attribute information bitstream. In some embodiments, the attribute decoding module 320 may include an inverse quantization unit 322. The inverse quantization unit 322 is used to inverse quantize the arithmetic-decoded attribute information bitstream. In some embodiments, the attribute decoding module 320 may include a RAHT transform unit 323. The RAHT transform unit 323 is used to perform an inverse RAHT transform on the attribute information bitstream. In some embodiments, the attribute decoding module 320 may include a color inverse transform unit 325. The color inverse transform unit 325 is used to perform a color inverse transform on the inverse-transformed attribute information bitstream to obtain attribute information.

[0065] In some embodiments, based on the geometric information obtained by the geometric decoding module 310 and the attribute information obtained by the attribute decoding module 320, the G-PCC decoder can reconstruct the three-dimensional image model of the point cloud data to be encoded.

[0066] In such Figure 2 The G-PCC encoder and such Figure 3 In the G-PCC decoder, both the octree encoding unit 213 and the octree decoding unit 312 can perform Trisoup-based geometric encoding and decoding. When performing Trisoup-based geometric encoding, the octree encoding unit 213 can first perform octree partitioning, dividing the point cloud to be encoded into leaf nodes of a specified side length; then, it represents the surface information composed of voxels within the nodes using a series of triangle meshes. In some embodiments, G-PCC typically uses the parameter `trisoup node size` to represent the size of the block containing the triangle. When the size of the block containing the triangle is greater than 0, a single geometric facet can represent the set of voxels within a node, and the maximum of twelve foci generated by the geometric facet and the twelve edges of the block containing the triangle are called vertices.

[0067] In some embodiments, the presence of a vertex on each node edge and the quantized position of the vertex on the edge can be represented by 1 bit and N bits, respectively, sequentially encoding the vertex-related information of each triangular facet block to generate a binary code stream. In some embodiments, N can be a positive integer greater than or equal to 2, for example, N can be equal to 2. Inside each node, the reconstructed surface is constructed from non-planar polygons formed by the vertices, organized into a set of triangles. Furthermore, each node has a centroid vertex, and encoding the offset between the final centroid coordinates and the initial centroid coordinates (using the method along the surface normal vector n) can improve the representation of the surface curvature within each node. Additionally, surface vertices can be created and labeled. Figure 4 Schematic diagrams of geometric reconstruction based on Trisoup according to some embodiments of this disclosure are provided. In some embodiments, the octree coding unit can use fiber optic tracing technology to convert triangular voxels into points, thereby reconstructing a point cloud.

[0068] In some embodiments, such as Figure 4 As shown, the centroid vertex C is encoded as the drift value of the average centroid of all vertices. The vector represents the normal to the triangle surface.

[0069] When performing Trisoup-based geometric decoding, the octree decoding unit 312 can use triangulation technology to decode the geometric coordinates of the point cloud from the triangular facets of the nodes. For example, the octree decoding unit 312 checks whether each voxel in the node cube intersects with the triangular facet. If the voxel in the node cube intersects with the triangular facet, the intersection point is calculated and the decoded cube is output. In some embodiments, the octree decoding unit 312 can use six unit vectors (0, 1, 1), (0, 1, 1), (0, 1, 1), (0, 1, 1), (0, 1, 1), (0, 1, 1) to perform intersection checks, thereby determining whether each unit vector intersects with the triangular facet. In some embodiments, the number of points generated by the G-PCC decoder is determined by the grid distance d.

[0070] As described above, the vertex information refers to the existence of the vertex and the position information of the vertex. The position information can be represented by N bits, where each bit can be used to divide the current position interval of the vertex into a left interval and a right interval, and N can be an integer greater than or equal to 2.

[0071] In some embodiments, when N equals 2, the position information in the vertex information is 2 bits. The first bit divides the position interval where the vertex is located into a first left interval and a first right interval. When the first bit value is 0, the vertex is in the first left interval; when the first bit value is 1, the vertex is in the first right interval. When the vertex is in the first left interval, the second bit divides the first left interval into a second left interval and a second right interval. When the second bit value is 0, the vertex is in the second left interval; when the second bit value is 1, the vertex is in the second right interval.

[0072] In some embodiments, when the G-PCC encoder encodes the vertex, it can be considered as encoding the vertex information, i.e., encoding the position information of the vertex, i.e., encoding the N bits. In some embodiments, when encoding the second bit in the N bits in the position information of the vertex, the vertex is a vertex to be encoded, and the second bit in the N bits is a symbol to be encoded.

[0073] Figure 5 An exemplary block diagram of an encoder 500 using an Optimal binarization with update on the fly (OBUF) technique for encoding in some embodiments of the present disclosure is shown. In some embodiments, the OBUF technique can quickly and accurately map some columns of discrete states of field information to a fixed number M of adaptive entropy encoders through a mapping relationship Look-Up Table (LUT). The above operation can make the context state tree information state no longer one-to-one corresponding to the context probability model, but will update the fixed number of context probability models with the current encoded syntax element, and update its mapping relationship after each placeholder code encoding is completed.

[0074] As shown in Figure 5 The encoder 500 can include any suitable components for encoding point cloud data. In some embodiments, the encoder 500 can be and / or can include the G-PCC encoder 123 and the geometry encoding module 210 described in connection with Figure 1 and Figure 2 the G-PCC encoder 123 and the geometry encoding module 210 described in connection with

[0075] In some embodiments, the encoder 500 may include a context state tree determination module 501. The context state tree determination module 501 is used to determine the context state tree of the symbol to be encoded. The context state tree of the symbol to be encoded is composed of the information of its encoded neighbor vertices in space. In some embodiments, the vertices of the context state tree of the vertex to be encoded can be found from 12 neighbor nodes. (Reference) Figure 6 , Figure 6 An example diagram of neighboring vertices of the edge to be encoded along the x, y, and z axes is shown. Figure 6 As shown, the neighboring nodes may include one or more of the following categories: (1) vertices on the negative direction of the axis corresponding to the edge to be encoded; (2) vertices on the neighboring edge (directly in contact) that is perpendicular to the edge to be encoded; (3) vertices on the neighboring edge (not directly in contact) that is perpendicular to the edge to be encoded; and (4) vertices on the neighboring edge that is parallel to the edge to be encoded.

[0076] In some embodiments, the context state tree determination module 501 can construct a context state tree for the vertices to be encoded in a certain order. The first K vertices of the context state tree represent primary information, while the last L vertices represent secondary information, where L can be dynamically adjusted during the encoding process.

[0077] In some embodiments, each context state tree vertex can be either present or absent, i.e., a 1 or 0 state. The context state tree can then be the state information of K+L context state tree vertices, meaning the context state tree can be represented by K+L bits. The K+L bit context state tree can include K primary information and L secondary information. During encoding, the encoder can record the number of times each context state tree is used. When the number of times a context state tree is used exceeds a threshold T, a new context state tree node is added in the scanning order, i.e., the context state tree is subdivided by introducing a new context state tree node. In subsequent encoding processes, when encoding the vertex to be encoded, the updated context state tree can be used for geometric encoding.

[0078] In some embodiments, the encoder 500 can include a mapping module 502. The mapping module 502 can be configured to determine, based on a mapping relationship, a context probability model index i corresponding to a context state tree of the to-be-encoded symbol. In some embodiments, the mapping module 502 can determine, based on the mapping relationship lookup table LUT and the context state tree, the context probability model index i corresponding to the context state tree before all to-be-encoded symbols are encoded. The context probability model index i can correspond to a binary encoder with index i in one or more context probability model groups in the encoding module 502. For example, the encoding module 502 can include one context probability model group, which can include 32 binary encoders coder i (i takes values [0, 1, …, 31]), the binary encoder with index i corresponds to the encoder coder i In some embodiments, the above binary encoders can also be entropy encoders.

[0079] In some embodiments, the encoder 500 can include an encoding module 503. The encoding module 503 can be configured to perform geometric encoding and / or entropy encoding on the to-be-encoded symbol. In some embodiments, the encoding module 503 can include one or more context probability model groups, each of which can include a plurality of context probability models. The encoding module 503 can perform binary encoding on the to-be-encoded symbol through the context probability model corresponding to the context state tree of the to-be-encoded symbol.

[0080] In some embodiments, the encoding module 503 can further include an encoder. The encoder can be configured to encode the to-be-encoded symbol based on the context probability model.

[0081] Figure 7 An exemplary block diagram of an encoding module 700 that can be used to perform inter-prediction based Trisoup geometry encoding in accordance with some embodiments of the present disclosure is shown. In some embodiments, the encoding module 700 can be and / or can include the G-PCC encoder 113, the geometry encoding module 210, and the encoding module 503 described in connection with Figure 1 、 Figure 2 and Figure 5 In some embodiments, the encoding module 700 can be configured to encode a second bit in the position information of the to-be-encoded vertex.

[0082] As Figure 7 described, the encoding module 700 can include any suitable components that can be used to perform inter-prediction based Trisoup geometry encoding.

[0083] In some embodiments, the encoding module 700 can comprise a prediction mode determining module 701. The prediction mode determining module 701 can be configured to determine a prediction mode of the to-be-encoded symbol. In some embodiments, the prediction mode can comprise an intra prediction. In some embodiments, the prediction mode can comprise an inter prediction. In some embodiments, the prediction mode determining module 701 can determine the prediction mode based on a first syntax element and a compensated reference vertex information, wherein the first syntax element can be configured to indicate whether the inter prediction is enabled, and the compensated reference vertex information can be configured to indicate whether there is a compensated reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled. In some embodiments, when the first syntax element indicates that the inter prediction is not enabled or the compensated reference vertex information indicates that there is no compensated reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled, the prediction mode determining module 701 can determine the prediction mode as the intra prediction mode.

[0084] When the first syntax element indicates that the inter prediction is enabled and the compensated reference vertex information indicates that there is a compensated reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled, the prediction mode determining module 701 can determine the prediction mode as the inter prediction mode.

[0085] In some embodiments, the encoding module 700 can comprise a context state tree determining module 702. The context state tree determining module 702 can be configured to determine a context state tree of the to-be-encoded symbol. In some embodiments, when the prediction mode determining module 701 determines that the prediction mode is the intra prediction mode, the context state tree determining module 702 can determine the context state tree as an intra context state tree. In some embodiments, when the prediction mode determining module 701 determines that the prediction mode is the inter prediction mode, the context state tree determining module 702 can determine the inter context state tree according to parity bit information based on the compensated reference vertex information.

[0086] In some embodiments, the inter context state tree can be divided into an inter context state tree one and an inter context state tree two. And a first bit divides a position interval where the to-be-encoded vertex is located into a first left interval and a first right interval. When the vertex is in the first left interval, a second bit divides the first left interval into a second left interval and a second right interval. When the vertex is in the first right interval, the second bit divides the first right interval into a third left interval and a third right interval.

[0087] In some embodiments, when the parity bit information of the compensated reference vertex information is 0, the context state tree determination module 702 can determine the inter-frame context context state tree as inter-frame context state tree one. When the parity bit information of the compensated reference vertex information is 1, the context state tree determination module 702 can determine the inter-frame context context state tree as inter-frame context state tree two.

[0088] In some embodiments, the secondary information in the intra-frame context state tree can include 15-bit information. The secondary information in the inter-frame context state tree one and inter-frame context state tree two can include 17-bit information. The structures of the intra-frame context state tree and the inter-frame context state tree one, inter-frame context state tree two can refer to Figure 8 .

[0089] In some embodiments, the encoding module 700 can include a prediction module 703. The prediction module 703 can be used to determine the prediction value of the to-be-encoded symbol when the prediction mode is an inter-frame prediction mode. In some embodiments, the prediction module 703 includes one or more prediction units 703-1, 703-2, …, 703-G, where G = 2. In some embodiments, G can also be determined based on the number of bits of the position information in the to-be-encoded vertex. In some embodiments, each of the one or more prediction units has the same structure.

[0090] In some embodiments, the one or more prediction units determine the prediction value based on a second syntax element and the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex, where the value of the second syntax element is determined based on the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex, the uncompensated reference vertex information, and the prediction result of the first bit of the uncompensated reference vertex. In some embodiments, based on the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex not meeting a preset condition or the uncompensated reference vertex information indicating that the uncompensated reference vertex does not exist or the prediction result of the first bit of the uncompensated reference vertex not meeting a preset condition, the value of the second syntax element is not equal to 1; based on the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex meeting a preset condition, the uncompensated reference vertex information indicating that the uncompensated reference vertex exists, and the prediction result of the first bit of the uncompensated reference vertex meeting a preset condition, the value of the second syntax element is equal to 1. In some embodiments, the preset condition refers to the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex or the prediction result of the first bit of the uncompensated reference vertex being good, i.e., the prediction accuracy of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex or the first bit of the uncompensated reference vertex being high.

[0091] In some embodiments, based on the value of the second syntax element not equal to 1, the one or more prediction units can determine that the to-be-encoded symbol is not predicted using the uncompensated reference vertex information, i.e., NoPred. In some embodiments, based on the value of the second syntax element equal to 1, the one or more prediction units can determine the predicted value of the to-be-encoded symbol based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex. Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 0, the one or more prediction units can determine the predicted value of the to-be-encoded symbol as 0 (Pred 0). Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 1, the one or more prediction units can determine the predicted value of the to-be-encoded symbol as 1 (Pred 1).

[0092] In some embodiments, based on the predicted value of the to-be-encoded symbol being 0 or 1, the one or more prediction units can update the predicted value of the to-be-encoded symbol based on first quantity information and second quantity information, wherein the first quantity information is the cumulative sum of the second bits in the position information of the encoded vertices determined to be predicted, and the second quantity information is the cumulative sum of the second bits in the position information of the encoded vertices. In some embodiments, the one or more prediction units can update the predicted value of the to-be-encoded symbol based on whether the ratio of the first quantity information and the second quantity information is greater than a preset threshold. In some embodiments, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the one or more prediction units can update the predicted value of the to-be-encoded symbol to be not predicted; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the predicted value is updated to be not predicted. In some embodiments, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the predicted value is not updated; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the predicted value remains the original predicted value of 0 or 1.

[0093] In some embodiments, the budget value determined by the one or more prediction units in the prediction module 703 can include the following cases: 1. No prediction; 2. The predicted value before updating is 0, and the predicted value after updating is not predicted; 3. The predicted value before updating is 1, and the predicted value after updating is not predicted; 4. The predicted value is 0; 5. The predicted value is 1.

[0094] In some embodiments, when the prediction mode is inter prediction mode, the context probability model group 704 determines the context probability model for encoding the to-be-encoded symbol based on the inter context state tree determined by the context state tree determination module 702 and the prediction value determined by the prediction module 703. In some embodiments, when the prediction mode is intra prediction mode, the context probability model group 704 determines the context probability model for encoding the to-be-encoded symbol based on the intra context state tree.

[0095] In some embodiments, the encoding module can include a context probability model group 704. The context probability model group 704 can include one or more context probability model groups 704-1, 704-2, …, 704-H, where H = 13. In some embodiments, H can also be determined based on the bit number of the position information in the to-be-encoded vertex. In some embodiments, when the prediction mode is intra prediction mode, the context probability model group 704-1 can be used to determine the context probability model based on the intra context state tree. In some embodiments, when the prediction mode is inter prediction mode, the context probability model groups 704-2, 704-3 can be used to determine the context probability model based on the inter context state tree one, the inter context state tree two, and their corresponding prediction values, respectively. In some embodiments, when N is other values, the context probability model group 704 can set the corresponding inter context state tree and the corresponding context probability model group according to the value of N, and determine the context probability model based on the corresponding inter context state tree and the corresponding context probability model group.

[0096] In some embodiments, the set of context probability models 704 can include one or more of a set of context probability models 704-1, a set of context probability models 704-2, …, a set of context probability models 704-H, where H = 7. In some embodiments, H can be determined based on the number of bits of the position information in the vertex to be encoded. In some embodiments, based on the prediction mode being an intra prediction mode, the set of context probability models 704-1 can be used to determine context probability models based on an intra context state tree. In some embodiments, based on the prediction mode being an inter prediction mode, each of the inter context state tree one, the inter context state tree two corresponds to three sets of context probability models 704-i, 704-i+1, 704-i+2. That is, each inter context state tree corresponds to three prediction values, each prediction value corresponds to a set of context probability models 704-i. For example, when the prediction mode is an inter prediction mode and the context state tree is the inter context state tree one, the prediction values can be no prediction, prediction 0, and prediction 1, where no prediction corresponds to the set of context probability models 704-2; prediction 0 corresponds to the set of context probability models 704-3; and prediction 1 corresponds to the set of context probability models 704-4.

[0097] In some embodiments, the set of context probability models 704 can include sets of context probability models 1-7. For the context state tree being the inter context state tree one, when the prediction value is no prediction, the set of context probability models 704 can employ the set of context probability models 704-2; when the prediction value is prediction 0, the set of context probability models 704 can employ the set of context probability models 704-3; and when the prediction value is prediction 1, the set of context probability models 704 can employ the set of context probability models 704-4. Similarly, for the context state tree being the inter context state tree two, when the prediction value is no prediction, the set of context probability models 704 can employ the set of context probability models 704-5; when the prediction value is prediction 0, the set of context probability models 704 can employ the set of context probability models 704-6; and when the prediction value is prediction 1, the set of context probability models 704 can employ the set of context probability models 704-7. In the above cases, the intra context state tree and the inter context state tree one and two can each include 15 bits of information. The secondary information structure of the context state tree can be as shown in Figure 9

[0098] ​The seven context probability model groups 704 can be used to select a suitable context probability model group for each context state tree, where the suitable context probability model group refers to the context probability model group corresponding to the prediction value corresponding to the context state tree. The above approach can avoid different prediction values of the context state tree sharing the same context probability model group, thereby improving the efficiency of context probability model group probability updating.

[0099] In some embodiments, each of the context probability model groups 704 can include one or more encoders. In some embodiments, after determining the corresponding context probability model group, the context probability model group determines the corresponding context probability model index based on the determined context state tree, where the context probability model index can indicate a context probability model i in the context probability model group. In some embodiments, based on the context state tree, it can be determined that the context probability model index indicates the context probability model i.

[0100] In some embodiments, the context probability model set 704 can include context probability model set 1-7. Based on the updated situation of the prediction value, the prediction value can include the following cases: 1. no prediction; 2. the prediction value is 0 before updating and no prediction after updating; 3. the prediction value is 1 before updating and no prediction after updating; 4. the prediction value is 0; 5. the prediction value is 1. For the above prediction value, based on the context state tree being the inter context state tree one, the prediction value being no prediction corresponds to the context probability model set 704-2 in the context probability model set 704, i.e. when the prediction value is no prediction, the inter context state tree one corresponds to the context probability model set 704-2 in the context probability model set 704; the prediction value being the prediction value being 0 before updating and no prediction after updating corresponds to the context probability model set 704-3 in the context probability model set 704, i.e. when the prediction value is 0 before updating and no prediction after updating, the inter context state tree one corresponds to the context probability model set 704-3 in the context probability model set 704; the prediction value being the prediction value being 1 before updating and no prediction after updating corresponds to the context probability model set 704-4 in the context probability model set 704, i.e. when the prediction value is 1 before updating and no prediction after updating, the inter context state tree one corresponds to the context probability model set 704-4 in the context probability model set 704; the prediction value being 0 corresponds to the context probability model set 704-3 in the context probability model set 704, i.e. when the prediction value is prediction 0, the inter context state tree one corresponds to the context probability model set 704-3 in the context probability model set 704; the prediction value being 1 corresponds to the context probability model set 704-4 in the context probability model set 704, i.e. when the prediction value is prediction 1, the inter context state tree one corresponds to the context probability model set 704-4 in the context probability model set 704.

[0101] Similarly, for the above prediction values, based on the context state tree being the inter context state tree two, the prediction value is not predicted corresponding to the context probability model group 704-5 in the context probability model groups 704, i.e. when the prediction value is not predicted, the inter context state tree two corresponds to the context probability model group 704-5 in the context probability model groups 704; the prediction value is updated from the prediction value being 0 to not predicted corresponding to the context probability model group 704-6 in the context probability model groups 704, i.e. when the prediction value is updated from being 0 to not predicted, the inter context state tree two corresponds to the context probability model group 704-6 in the context probability model groups 704; the prediction value is updated from the prediction value being 1 to not predicted corresponding to the context probability model group 704-7 in the context probability model groups 704, i.e. when the prediction value is updated from being 1 to not predicted, the inter context state tree two corresponds to the context probability model group 704-7 in the context probability model groups 704; the prediction value being 0 corresponds to the context probability model group 704-6 in the context probability model groups 704, i.e. when the prediction value is predicted 0, the inter context state tree two corresponds to the context probability model group 704-6 in the context probability model groups 704; the prediction value being 1 corresponds to the context probability model group 704-7 in the context probability model groups 704, i.e. when the prediction value is predicted 1, the inter context state tree two corresponds to the context probability model group 704-7 in the context probability model groups 704. For the above cases, the secondary information of the intra context state tree includes 15 bits of information, and the inter context state trees one, two, three and four can each include 16 bits of information. The secondary information structure of the context state tree can be as shown in Figure 10

[0102] In summary, although one or more prediction units in the prediction module 703 update the partial prediction value being 0 and the prediction value being 1 to the prediction value being not predicted, the context probability model group in the context probability model groups 704 corresponding to the context state tree still uses the context probability model group corresponding to the prediction value before the update. This approach can combine some inter context state trees, avoiding slow convergence of the probability corresponding to the inter context state tree when the use of inter prediction is less, thereby having no good prediction effect.

[0103] In some embodiments, the encoding module 700 can include an entropy encoder 705. The entropy encoder 705 can be configured to entropy encode the to-be-encoded symbols based on the context probability model.

[0104] ​In some embodiments, the encoding module 700 can be used to encode not only the second bit in the position information of the vertex to be encoded, but also any bit in the position information of the vertex to be encoded.

[0105] Figure 11 An exemplary block diagram of a decoding module 1100 that can be used to perform inter-prediction based Trisoup geometry decoding in accordance with some embodiments of the present disclosure is shown. In some embodiments, the decoding module 1100 can be and / or can include the geometry decoding module 310 described in connection with Figure 1 and Figure 3 some embodiments of the present disclosure. In some embodiments, the decoding module 1100 can be used to encode the second bit in the position information of the vertex to be decoded.

[0106] As Figure 11 described, the decoding module 1100 can include any suitable components that can be used to perform inter-prediction based Trisoup geometry decoding.

[0107] In some embodiments, the decoding module 1100 can include a prediction mode determination module 1101. In some embodiments, the prediction mode determination module 1101 can be used to determine the prediction mode of the symbol to be decoded. In some embodiments, the prediction mode can include intra-prediction and inter-prediction. In some embodiments, the prediction mode determination module 1101 performs the operations as performed by the prediction mode determination module 701 described in connection with some embodiments of the present disclosure, and thus repeated details are not provided herein. Figure 7

[0108] In some embodiments, the decoding module 1100 can include a context state tree determination module 1102. In some embodiments, the context state tree determination module 1102 can be used to determine the context state tree of the symbol to be decoded, wherein the context state tree is an independent OBUF context state tree. In some embodiments, when the prediction mode determination module 1101 determines that the prediction mode is an intra-prediction mode, the context state tree determination module 1102 determines that the context state tree is an intra-context state tree. In some embodiments, when the prediction mode determination module 1101 determines that the prediction mode is an inter-prediction mode, the context state tree determination module 1102 can determine the inter-context state tree according to the parity bit information based on the compensated reference vertex information. In some embodiments, the context state tree determination module 1102 performs the operations as performed by the context state tree determination module 702 described in connection with some embodiments of the present disclosure, and thus repeated details are not provided herein. Figure 7

[0109] ​​In some embodiments, the decoding module 1100 can include a prediction module 1103. The prediction module 1103 can be configured to determine a prediction value of the to-be-decoded symbol when the prediction mode is the inter prediction mode. In some embodiments, the prediction module 1103 can include one or more prediction units 1103-1, 1103-2, …, 1103-G, where G = 2. In some embodiments, G can be determined based on the number of bits of the position information in the to-be-encoded vertex. In some embodiments, each of the one or more prediction units can have the same structure. In some embodiments, the prediction module 1103 performs the operations as described in connection with the prediction module 703, and repeated details are not repeated here. Figure 7 The prediction module 1103 performs the operations as described in connection with the prediction module 703, and repeated details are not repeated here.

[0110] In some embodiments, the decoding module 1100 can include a context probability model group 1104. The context probability model group 1104 can be configured to determine context probability models based on the inter context state tree determined by the inter context state tree determination module 1102 and the prediction value determined by the prediction module 1103, which can be used for subsequent decoding of the to-be-decoded symbol. In some embodiments, when the prediction mode is the intra prediction mode, the context probability model group 1103 determines context probability models based on the intra context state tree. In some embodiments, the context probability model group 1104 can include one or more context probability model groups 1104-1, 1104-2, …, 1104-H, where H = 7. In some embodiments, H can be determined based on the number of bits of the position information in the to-be-encoded vertex. In some embodiments, the context probability model group 1104 performs decoding operations corresponding to the encoding operations performed by the context probability model group 704, and repeated details are not repeated here. Figure 7 The context probability model group 1104 performs decoding operations corresponding to the encoding operations performed by the context probability model group 704, and repeated details are not repeated here.

[0111] In some embodiments, each of the context probability model groups in the context probability model group 1104 can include one or more context probability models. In some embodiments, after determining the corresponding context probability model group, the context probability model group determines a corresponding context probability model index based on the determined context state tree, where the context probability model index can indicate a context probability model i in the context probability model group. In some embodiments, based on the context state tree, the context probability model i indicated by the context probability model index can be determined.

[0112] In some embodiments, the decoding module 1100 may include an entropy encoder 1105. The entropy decoder 1105 can be used to perform entropy decoding on the symbol to be decoded based on a contextual probability model.

[0113] In some embodiments, the decoding module 1100 can be used not only to decode the second bit in the position information of the vertex to be decoded, but also to decode any bit in the position information of the vertex to be decoded.

[0114] Figure 12 An exemplary flowchart of an encoding method flow 1200 using dynamically updated optimal binarization techniques according to some embodiments of this disclosure is shown. In some embodiments, the execution entity of the encoding method may be an encoder. The encoder may be and / or a combination of Figure 1 , Figure 2 and Figure 5 The G-PCC encoder 113, geometric encoding module 210, and encoding module 503 are described above. The encoder can encode the second bit in the position information of the vertex to be encoded. The second bit is the symbol to be encoded.

[0115] like Figure 12 As shown in 1201, the encoder can determine the context state tree of the symbol to be encoded. The context state tree of the symbol to be encoded is composed of the information of its encoded neighbor vertices in space. In some embodiments, the vertices of the context state tree of the vertex to be encoded can be found from 12 neighbor nodes. These neighbor nodes can be referenced... Figure 6 In some embodiments, the encoder can construct a context state tree for the vertices to be encoded in a certain order. The first K vertices of the context state tree represent primary information, and the last L vertices represent secondary information, where L can be dynamically adjusted during the encoding process.

[0116] In step 1202, the encoder can determine the binary context probability model index corresponding to the context state tree of the symbol to be encoded based on the mapping relationship. In some embodiments, the encoder can determine the context probability model index corresponding to the context state tree through a mapping lookup table (LUT) before all symbols to be encoded. The context probability model index can correspond to a binary encoder with the context probability model index in one or more context probability model groups.

[0117] At 1203, the encoder can perform geometric coding and / or entropy coding on the to-be-encoded symbol based on the context probability model corresponding to the context probability model index. In some embodiments, the encoder can include one or more context probability model groups, where each of the one or more context probability model groups can include a plurality of context probability models. The encoder can perform binary coding on the to-be-encoded symbol through the context probability model corresponding to the context state tree of the to-be-encoded symbol.

[0118] Figure 13 An exemplary flowchart of an encoding method 1300 of Trisoup geometric coding based on inter prediction is shown. In some embodiments, the execution subject of the encoding method can be an encoder. The encoder can be the G-PCC encoder 113, the geometric coding module 210, and the encoding module 503 described in connection with Figure 1 、 Figure 2 and Figure 5 The encoder can encode a second bit in the position information of the to-be-encoded vertex. The second bit is the to-be-encoded symbol.

[0119] As shown in Figure 13 At 1301, the encoder can determine a prediction mode based on a first syntax element and a compensation reference vertex information, where the first syntax element can be used to indicate whether inter prediction is enabled, and the compensation reference vertex information can be used to indicate whether there is a compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled. In some embodiments, when the first syntax element indicates that inter prediction is not enabled or the compensation reference vertex information indicates that there is no compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled, the encoder can determine that the prediction mode is an intra prediction mode, i.e., the encoding method flow can proceed to 1302. In some embodiments, based on the first syntax element indicating that inter prediction is enabled and the compensation reference vertex information indicating that there is a compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled, the encoder can determine that the prediction mode is an inter prediction mode. That is, the encoding method flow can proceed to 1303.

[0120] At 1302, the encoder determines that the prediction mode is an intra prediction mode, and the encoder determines that the context state tree is an intra context state tree.

[0121] At 1303, the encoder determines that the prediction mode is an inter prediction mode.

[0122] In 1304, the encoder can determine the inter context state tree based on the parity bit information of the compensated reference vertex information. In some embodiments, when the encoder determines that the prediction mode is the inter prediction mode, the encoder can determine the inter context state tree according to the parity bit information of the compensated reference vertex information. In some embodiments, the inter context state tree can be divided into an inter context state tree one and an inter context state tree two. In some embodiments, when the parity bit information of the compensated reference vertex information is 0, the encoder can determine that the inter context state tree is the inter context state tree one. When the parity bit information of the compensated reference vertex information is 1, the encoder can determine that the inter context state tree is the inter context state tree two.

[0123] In 1305, the encoder can determine the prediction value of the to-be-encoded symbol. In some embodiments, the encoder determines the prediction value based on a second syntax element and the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex, wherein the value of the second syntax element is determined based on a prediction result of a neighbor uncompensated reference vertex predicting a neighbor vertex second bit, the uncompensated reference vertex information, and a prediction result of an uncompensated reference vertex first bit. In some embodiments, when the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit does not satisfy a preset condition or the uncompensated reference vertex information indicates that the uncompensated reference vertex does not exist or the prediction result of the uncompensated reference vertex first bit does not satisfy the preset condition, the value of the second syntax element is not equal to 1; when the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit satisfies the preset condition, the uncompensated reference vertex information indicates that the uncompensated reference vertex exists, and the prediction result of the uncompensated reference vertex first bit satisfies the preset condition, the value of the second syntax element is equal to 1. In some embodiments, the preset condition refers to that the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit or the prediction result of the uncompensated reference vertex first bit is good, i.e., the prediction accuracy of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit or the uncompensated reference vertex first bit is high.

[0124] In some embodiments, based on the value of the second syntax element not equal to 1, the encoder can determine that the to-be-encoded symbol is not predicted using uncompensated reference vertex information, i.e., NoPred. In some embodiments, based on the value of the second syntax element equal to 1, the encoder can determine the predicted value of the to-be-encoded symbol based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex. Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 0, the encoder can determine that the predicted value of the to-be-encoded symbol is 0 (Pred 0). Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 1, the encoder can determine that the predicted value of the to-be-encoded symbol is 1 (Pred 1).

[0125] In some embodiments, based on the predicted value of the to-be-encoded symbol being 0 or 1, the encoder can update the predicted value of the to-be-encoded symbol based on first quantity information and second quantity information, wherein the first quantity information is the cumulative sum of the second bits in the position information of the encoded vertices determined to be predicted, and the second quantity information is the cumulative sum of the second bits in the position information of the encoded vertices. In some embodiments, the encoder can update the predicted value of the to-be-encoded symbol based on whether the ratio of the first quantity information and the second quantity information is greater than a preset threshold. In some embodiments, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the encoder can update the predicted value of the to-be-encoded symbol to be NoPred; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the predicted value is updated to be NoPred. In some embodiments, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the encoder does not update the predicted value; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the predicted value remains the original predicted value 0 or 1. In some embodiments, the predicted value determined by the encoder can include the following cases: 1. NoPred; 2. the predicted value before updating is 0, and the predicted value after updating is NoPred; 3. the predicted value before updating is 1, and the predicted value after updating is NoPred; 4. the predicted value is 0; 5. the predicted value is 1.

[0126] At 1306, the encoder can determine a context probability model for encoding the to-be-encoded symbol based on the context state tree and the prediction value. In some embodiments, based on the inter-frame context state tree and the context probability model group, a context probability model index is determined, the context probability model index indicating one of the context probability model group; the context probability model indicated by the context probability model index is determined based on the inter-frame context state tree. In some embodiments, when the prediction mode is the intra-frame prediction mode, the encoder determines a context probability model for encoding the to-be-encoded symbol based on the intra-frame context state tree.

[0127] In some embodiments, based on the prediction mode being the inter-frame prediction mode, the encoder determines a context probability model based on the inter-frame context state tree one, the inter-frame context state tree two and their corresponding prediction values, respectively. In some embodiments, the encoder can include one or more context probability model groups 1 - context probability model group H, where H = 3. Wherein, the context probability model group 1 corresponds to the intra-frame context state tree; the context probability model group 2 corresponds to the inter-frame context state tree one; the context probability model group 3 corresponds to the inter-frame context state tree two.

[0128] In some embodiments, the encoder can include one or more context probability model groups 1 - context probability model group H, where H = 7. In some embodiments, H can also be determined based on the number of bits of the position information in the to-be-encoded vertex. Wherein, the context probability model group 1 corresponds to the intra-frame context state tree; the context probability model group 2 corresponds to the inter-frame context state tree one and the prediction value being no prediction; the context probability model group 3 corresponds to the inter-frame context state tree one and the prediction value being 0; the context probability model group 4 corresponds to the inter-frame context state tree one and the prediction value being 1; the context probability model group 5 corresponds to the inter-frame context state tree two and the prediction value being no prediction; the context probability model group 6 corresponds to the inter-frame context state tree two and the prediction value being 0; the context probability model group 7 corresponds to the inter-frame context state tree two and the prediction value being 1.

[0129] In some embodiments, the encoder can include one or more context probability model groups 1 - context probability model group H, where H = 7. In some embodiments, H can also be determined based on the number of bits of the position information in the vertex to be encoded. In some embodiments, the prediction value determined by the encoder can include the following cases: 1. no prediction; 2. prediction value before update is 0, and prediction value after update is no prediction; 3. prediction value before update is 1, and prediction value after update is no prediction; 4. prediction value is 0; 5. prediction value is 1. Wherein, based on the context state tree being an intra context state tree, the encoder adopts context probability model group 1; based on the context state tree being an inter context state tree one and the prediction value being no prediction, the encoder adopts context probability model group 2; based on the context state tree being an inter context state tree one and the prediction value being prediction value before update is 0, and prediction value after update is no prediction, the encoder adopts context probability model group 3; based on the context state tree being an inter context state tree one and the prediction value being prediction value before update is 1, and prediction value after update is no prediction, the encoder adopts context probability model group 4; based on the context state tree being an inter context state tree one and the prediction value being 0, the encoder adopts context probability model group 3; based on the context state tree being an inter context state tree one and the prediction value being 1, the encoder adopts context probability model group 4; based on the context state tree being an inter context state tree two and the prediction value being no prediction, the encoder adopts context probability model group 5; based on the context state tree being an inter context state tree two and the prediction value being prediction value before update is 0, and prediction value after update is no prediction, the encoder adopts context probability model group 6; based on the context state tree being an inter context state tree two and the prediction value being prediction value before update is 1, and prediction value after update is no prediction, the encoder adopts context probability model group 7; based on the context state tree being an inter context state tree two and the prediction value being 0, the encoder adopts context probability model group 6; based on the context state tree being an inter context state tree two and the prediction value being 1, the encoder adopts context probability model group 7.

[0130] In some embodiments, the context probability model group can include one or more context probability models. In some embodiments, after determining the corresponding context probability model group, the context probability model group determines a corresponding context probability model index based on the determined context state tree, where the context probability model index can indicate a context probability model i in the context probability model group. In some embodiments, based on the context state tree, the encoder can determine the context probability model i indicated by the context probability model index.

[0131] In 1307, the encoder encodes the to-be-encoded symbol based on the context probability model.

[0132] In some embodiments, the encoding method can be applied to encode not only the second bit in the position information of the to-be-encoded vertex, but also any bit in the position information of the to-be-encoded vertex.

[0133] In some embodiments, the encoding method of the present disclosure can merge the partial inter-frame context state tree, avoiding the problem that the probability corresponding to the inter-frame context state tree converges slowly when the use of inter-frame prediction is less, thereby having no good prediction effect. In addition, the encoding method of the present disclosure can also avoid that different prediction values share the same context probability model group, thereby improving the efficiency of the context probability model group probability update.

[0134] Figure 14 An exemplary flowchart of a decoding method 1400 of Trisoup geometry decoding based on inter-frame prediction in some embodiments of the present disclosure is shown. In some embodiments, the execution subject of the decoding method can be a decoder. The decoder can be and / or combined with Figure 1 and Figure 3 The G-PCC decoder 123 and the geometry decoding module 310 are described. The decoder can decode the second bit in the position information of the to-be-decoded vertex. The second bit is the to-be-decoded symbol.

[0135] As Figure 14 shown, in 1401, the decoder can determine a prediction mode based on a first syntax element and a compensation reference vertex information, wherein the first syntax element can be used to indicate whether the inter-frame prediction is enabled, and the compensation reference vertex information can be used to indicate whether there is a compensation reference vertex of the to-be-decoded vertex after the inter-frame prediction mode is enabled. In some embodiments, when the first syntax element indicates that the inter-frame prediction is not enabled or the compensation reference vertex information can be used to indicate that there is no compensation reference vertex of the to-be-decoded vertex after the inter-frame prediction mode is enabled, the decoder can determine that the prediction mode is an intra-frame prediction mode, i.e., the decoding method flow can proceed to 1402. In some embodiments, based on the first syntax element indicating that the inter-frame prediction is enabled and the compensation reference vertex information can be used to indicate that there is a compensation reference vertex of the to-be-decoded vertex after the inter-frame prediction mode is enabled, the decoder can determine that the prediction mode is an inter-frame prediction mode. That is, the decoding method flow can proceed to 1403.

[0136] In 1402, the decoder determines that the prediction mode is an intra-frame prediction mode, and the decoder determines that the context state tree is an intra-frame context state tree.

[0137] In 1403, the decoder determines that the prediction mode is the inter prediction mode.

[0138] In 1404, the decoder can determine the inter context state tree based on the parity bit information of the compensated reference vertex information. In some embodiments, when the decoder determines that the prediction mode is the inter prediction mode, the decoder can determine the inter context state tree based on the parity bit information of the compensated reference vertex information. In some embodiments, the inter context state tree can be divided into an inter context state tree one and an inter context state tree two. In some embodiments, when the parity bit information of the compensated reference vertex information is 0, the decoder can determine that the inter context state tree is the inter context state tree one. When the parity bit information of the compensated reference vertex information is 1, the decoder can determine that the inter context state tree is the inter context state tree two.

[0139] In 1405, the decoder can determine the prediction value of the to-be-decoded symbol. In some embodiments, the decoder determines the prediction value based on a second syntax element and the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex, wherein the value of the second syntax element is determined based on a prediction result of a neighbor uncompensated reference vertex predicting a neighbor vertex second bit, the uncompensated reference vertex information, and a prediction result of an uncompensated reference vertex first bit. In some embodiments, when the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit does not satisfy a preset condition or the uncompensated reference vertex information indicates that the uncompensated reference vertex does not exist or the prediction result of the uncompensated reference vertex first bit does not satisfy the preset condition, the value of the second syntax element is not equal to 1; when the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit satisfies the preset condition, the uncompensated reference vertex information indicates that the uncompensated reference vertex exists, and the prediction result of the uncompensated reference vertex first bit satisfies the preset condition, the value of the second syntax element is equal to 1. In some embodiments, the preset condition refers to that the prediction result of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit or the prediction result of the uncompensated reference vertex first bit is good, i.e., the prediction accuracy of the neighbor uncompensated reference vertex predicting the neighbor vertex second bit or the uncompensated reference vertex first bit is high.

[0140] In some embodiments, based on the value of the second syntax element not equal to 1, the decoder can determine that the to-be-decoded symbol is not predicted using uncompensated reference vertex information, i.e., NoPred. In some embodiments, based on the value of the second syntax element equal to 1, the decoder can determine the predicted value of the to-be-decoded symbol based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex. Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 0, the decoder can determine that the predicted value of the to-be-decoded symbol is 0 (Pred 0). Based on the parity bit information of the uncompensated reference vertex information of the to-be-encoded vertex being 1, the decoder can determine that the predicted value of the to-be-decoded symbol is 1 (Pred 1).

[0141] In some embodiments, based on the predicted value of the to-be-decoded symbol being 0 or 1, the decoder can update the predicted value of the to-be-decoded symbol based on first quantity information and second quantity information, wherein the first quantity information is the accumulated sum of the second bit in the position information of the decoded vertex determined to be predicted, and the second quantity information is the accumulated sum of the second bit in the position information of the decoded vertex. In some embodiments, the decoder can update the predicted value of the to-be-decoded symbol based on whether the ratio of the first quantity information and the second quantity information is greater than a preset threshold. In some embodiments, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the decoder can update the predicted value of the to-be-decoded symbol to be not predicted; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information not being greater than the preset threshold, the predicted value is updated to be not predicted. In some embodiments, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the decoder does not update the predicted value; i.e., when the predicted value is 0 or 1, based on the ratio of the first quantity information and the second quantity information being greater than the preset threshold, the predicted value remains the original predicted value of 0 or 1. In some embodiments, the predicted value determined by the decoder can include the following cases: 1. not predicted; 2. the predicted value before updating is 0, and the predicted value after updating is not predicted; 3. the predicted value before updating is 1, and the predicted value after updating is not predicted; 4. the predicted value is 0; 5. the predicted value is 1.

[0142] In 1406, the decoder can determine a context probability model based on the context state tree and the predicted value for decoding the to-be-decoded symbol. In some embodiments, when the prediction mode is an intra prediction mode, the decoder can determine a context probability model based on an intra context state tree for decoding the to-be-decoded symbol.

[0143] In some embodiments, the decoder determines the context probability models based on the inter context state tree one, the inter context state tree two and their corresponding prediction values, respectively, when the prediction mode is an inter prediction mode. In some embodiments, the decoder can include one or more context probability model groups 1 - context probability model group H, where H = 3. Wherein the context probability model group 1 corresponds to the intra context state tree; the context probability model group 2 corresponds to the inter context state tree one; and the context probability model group 3 corresponds to the inter context state tree two.

[0144] In some embodiments, the decoder can include one or more context probability model groups 1 - context probability model group H, where H = 7. In some embodiments, H can also be determined based on the number of bits of the position information in the vertex to be decoded. Wherein the context probability model group 1 corresponds to the intra context state tree; the context probability model group 2 corresponds to the inter context state tree one and the prediction value is no prediction; the context probability model group 3 corresponds to the inter context state tree one and the prediction value is 0; the context probability model group 4 corresponds to the inter context state tree one and the prediction value is 1; the context probability model group 5 corresponds to the inter context state tree two and the prediction value is no prediction; the context probability model group 6 corresponds to the inter context state tree two and the prediction value is 0; and the context probability model group 7 corresponds to the inter context state tree two and the prediction value is 1.

[0145] In some embodiments, the decoder can include one or more context probability model groups 1 - context probability model group H, where H = 7. In some embodiments, H can also be determined based on the number of bits of the position information in the vertex to be decoded. In some embodiments, the prediction value determined by the decoder can include the following cases: 1. no prediction; 2. prediction value before update is 0, and prediction value after update is no prediction; 3. prediction value before update is 1, and prediction value after update is no prediction; 4. prediction value is 0; 5. prediction value is 1. Wherein, based on the context state tree being an intra context state tree, the decoder adopts context probability model group 1; based on the context state tree being an inter context state tree one and the prediction value being no prediction, the decoder adopts context probability model group 2; based on the context state tree being an inter context state tree one and the prediction value being prediction value before update is 0, and prediction value after update is no prediction, the decoder adopts context probability model group 3; based on the context state tree being an inter context state tree one and the prediction value being prediction value before update is 1, and prediction value after update is no prediction, the decoder adopts context probability model group 4; based on the context state tree being an inter context state tree one and the prediction value being 0, the decoder adopts context probability model group 3; based on the context state tree being an inter context state tree one and the prediction value being 1, the decoder adopts context probability model group 4; based on the context state tree being an inter context state tree two and the prediction value being no prediction, the decoder adopts context probability model group 5; based on the context state tree being an inter context state tree two and the prediction value being prediction value before update is 0, and prediction value after update is no prediction, the decoder adopts context probability model group 6; based on the context state tree being an inter context state tree two and the prediction value being prediction value before update is 1, and prediction value after update is no prediction, the decoder adopts context probability model group 7; based on the context state tree being an inter context state tree two and the prediction value being 0, the decoder adopts context probability model group 6; based on the context state tree being an inter context state tree two and the prediction value being 1, the decoder adopts context probability model group 7.

[0146] In some embodiments, each of the context probability model groups can include one or more context probability models. In some embodiments, after determining the corresponding context probability model group, the context probability model group determines a corresponding context probability model index based on the determined context state tree, where the context probability model index can indicate a context probability model i in the context probability model group. In some embodiments, based on the context state tree, the context probability model i indicated by the context probability model index can be determined.

[0147] In 1407, the decoder decodes the to-be-decoded symbol based on the context probability model.

[0148] In some embodiments, the decoding method can be applied to decode not only the second bit in the position information of the to-be-decoded vertex, but also any bit in the position information of the to-be-decoded vertex.

[0149] Figure 15 An exemplary block diagram of a hardware structure 1500 that can be used to perform the encoding method and the decoding method in some embodiments of the present disclosure is shown. As shown, the hardware structure 1500 can include any suitable components that can be used to perform the encoding method and the decoding method. Figure 15 The hardware structure 1500 can include any suitable components that can be used to perform the encoding method and the decoding method.

[0150] In some embodiments, the processor 1501 can be configured to perform the system, the G-PCC encoder, the G-PCC decoder, the encoding method and the decoding method as described in conjunction with Figures 1-14 The memory 1502 can be configured to store instructions, programs, and / or codes of the system, the G-PCC encoder, the G-PCC decoder, the encoding method and the decoding method as described in conjunction with Figures 1-14 The communication interface 1503 can be configured to enable the hardware structure 1500 to communicate with other devices or to enable communication between internal modules of the system, the G-PCC encoder, the G-PCC decoder as described in conjunction with Figures 1-11 The communication interface 1503 can be configured to enable the hardware structure 1500 to communicate with other devices or to enable communication between internal modules of the system, the G-PCC encoder, the G-PCC decoder as described in conjunction with

[0151] In some embodiments, the hardware structure 1500 can include a processor 1501. The processor 1501 can include one or any combination of a microcontroller, a reduced instruction set computer, an application specific integrated circuit, an application specific instruction-set processor (ASIP), a central processing unit (CPU), a graphic processing unit (GPU), a physical processing unit (PPU), a microprocessor unit, a digital signal processor (DSP), and a field programmable gate array, or other circuitry or processor capable of executing computer program instructions.

[0152] In some embodiments, the hardware structure 1500 can include a memory 1502. The memory 1502 can be a device that uses electrical, optical, or other forms of

[0153] In some embodiments, the hardware interface can include a communication interface 1503. The communication interface 1503 can be a wired network interface or a wireless network interface. The communication interface 1503 can include one or more combinations of a metal cable, an optical fiber, a hybrid cable, a connection circuit, or other wired network interfaces. The communication interface 1503 can include one or more combinations of a wireless local area network (WLAN) interface, a local area network (LAN) interface, a wide area network (WAN) interface, a Bluetooth interface, a ZigBee interface, and a near field communication (NFC) interface. In some embodiments, the communication interface 1503 can also be a wireless transmitter / receiver, a modem, a wired network component (e.g., an Ethernet card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. The communication interface 1503 can be configured to transmit encoded data or decoded data according to a cellular communication standard, such as 4G, 4G-LTE, 5G, or the like. In some embodiments, the communication interface 1503 can also be configured to transmit encoded data or decoded data according to other wireless standards, such as IEEE 802.11 specifications, IEEE 802.15 specifications (e.g., ZigBee™), Bluetooth™ standards, or the like.

[0154] In some embodiments, some embodiments of the present disclosure also provide a non-volatile storage medium for storing executable combinations Figures 1-14 The computer program of the system, G-PCC encoder, G-PCC decoder, encoding method and decoding method can be used to execute and / or implement the combinations Figures 1-14 The system, G-PCC encoder, G-PCC decoder, encoding method and decoding method.

[0155] In some embodiments, some embodiments of the present disclosure also provide a chip, which can include a memory for storing executable combinations Figures 1-14 The computer program of the system, G-PCC encoder, G-PCC decoder, encoding method and decoding method. In some embodiments, the chip can include a processor. Wherein, when the computer program is called by the processor, the processor can be used to execute and / or implement the combinations Figures 1-14 The system, G-PCC encoder, G-PCC decoder, encoding method and decoding method.

[0156] For the sake of brevity, the methods of the present disclosure are often described in terms of sequential actions. However, the actions as described are not necessarily performed in the order described. Certain actions can be performed in a different order or concurrently with other actions, unless expressly stated otherwise. Moreover, any specific examples of sequences of actions are illustrative only and are not meant to limit or restrict the scope of the methods as described in the present disclosure. Additionally, the methods of the present disclosure can be represented as a series of interrelated states via a state diagram or event diagram.

[0157] The present disclosure has been presented with reference to numerous details of certain embodiments. It is not intended to limit the present disclosure to the described embodiments. Additional modifications will readily occur to those skilled in the art. Those skilled in the art will understand that many of the details specified in the description and drawings are suitable for carrying out the claimed disclosure but are intended to be illustrative only and not limiting of the scope of the disclosure. As such, the disclosure is not limited to the specific embodiments described in this disclosure. Rather, it is the intent of the present disclosure to cover all modifications and alternative methods falling within the scope of the claims below.

[0158] The terms "first", "second", "third", "fourth" and the like in the description and in the claims, if any, are used for distinguishing between similar elements and not necessarily for describing a sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the descriptive terms "first", "second", "third", "fourth", etc., are to be interpreted, by those skilled in the art, as a meaningful label affixed to the test element being described but not by considering the ordinal sequence thereof.

[0159] While the forgoing is directed to variations of the present disclosure for the purpose of illustrative convenience, it is to be understood that the claims are not limited in scope to the described embodiments. The various embodiments delineated above are current examples of the claimed disclosure and are not intended to limit the scope of the claims. The claims themselves recite those technical features that are essential to the disclosure.

Claims

1. A method of inter prediction based encoding, characterized in that, The method comprises: determining a prediction mode of a to-be-encoded symbol, wherein the prediction mode comprises an intra prediction mode and an inter prediction mode; determining an inter context state tree of the to-be-encoded symbol based on the prediction mode being the inter prediction mode; determining a prediction value of the to-be-encoded symbol for the inter context state tree; determining a context probability model group corresponding to the to-be-encoded symbol based on the inter context state tree and the prediction value, wherein different inter context state trees and different prediction values correspond to different context probability model groups; determining a context probability model based on the context probability model group corresponding to the to-be-encoded symbol; and encoding the to-be-encoded symbol based on the context probability model.

2. The method of claim 1, wherein, The to-be-encoded symbol is position information of a to-be-encoded vertex, and the position information is represented by N bits, wherein N is an integer greater than or equal to 1, and each bit in the position information divides a position interval determined by a previous bit into two intervals, i.e., a left interval and a right interval.

3. The method of claim 1, wherein, The method comprises: determining the prediction mode based on a first syntax element and compensation reference vertex information, wherein the first syntax element is used to indicate whether the inter prediction is enabled, and the compensation reference vertex information is used to indicate whether there is a compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled.

4. The method of claim 3, wherein, The method comprises: determining the prediction mode as the intra prediction mode based on the first syntax element indicating that the inter prediction is not enabled or the compensation reference vertex information indicating that there is no compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled; determining the prediction mode as the inter prediction mode based on the first syntax element indicating that the inter prediction is enabled and the compensation reference vertex information indicating that there is the compensation reference vertex of the to-be-encoded vertex after the inter prediction mode is enabled.

5. The method of claim 1, wherein, The method comprises: determining the context state tree as an intra context state tree based on the prediction mode being the intra prediction mode.

6. The method of claim 2, wherein, The method comprises: determining the inter context state tree based on parity bit information of the compensation reference vertex information.

7. The method of claim 6, wherein, The inter context state tree comprises an inter context state tree one and an inter context state tree two, and the parity bit information of the compensation reference vertex information has values of 0 and 1.

8. The method of claim 7, wherein, The method comprises: determining the inter context state tree as the inter context state tree one based on the value of the parity bit information of the compensation reference vertex information being 0; determining the inter context state tree as the inter context state tree two based on the value of the parity bit information of the compensation reference vertex information being 1.

9. The method of claim 2, wherein, The method comprises: determining the prediction value based on the second syntax element and the same bit information of the uncompensated reference vertex information of the vertex to be encoded, wherein a value of the second syntax element is determined based on a prediction result of a neighbor uncompensated reference vertex predicting a second bit of a neighbor vertex, the uncompensated reference vertex information and a prediction result of a first bit of the uncompensated reference vertex.

10. The method of claim 9, wherein, the value of the second syntax element is not equal to 1 based on that the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex does not satisfy a preset condition or the uncompensated reference vertex information indicates that the uncompensated reference vertex does not exist or the prediction result of the first bit of the uncompensated reference vertex does not satisfy the preset condition; the value of the second syntax element is equal to 1 based on that the prediction result of the neighbor uncompensated reference vertex predicting the second bit of the neighbor vertex satisfies the preset condition, the uncompensated reference vertex information indicates that the uncompensated reference vertex exists and the prediction result of the first bit of the uncompensated reference vertex satisfies the preset condition.

11. The method of claim 9, wherein, determining the prediction value as no prediction based on that the value of the second syntax element is not equal to 1; determining the prediction value based on the same bit information of the uncompensated reference vertex information of the vertex to be encoded based on that the value of the second syntax element is equal to 1.

12. The method of claim 11, wherein, the determining the prediction value based on the same bit information of the uncompensated reference vertex information of the vertex to be encoded comprises: determining the prediction value as 0 based on that the same bit information of the uncompensated reference vertex information of the vertex to be encoded is 0; determining the prediction value as 1 based on that the same bit information of the uncompensated reference vertex information of the vertex to be encoded is 1.

13. The method of claim 12, wherein, the method further comprises: updating the prediction value based on first quantity information and second quantity information, wherein the first quantity information is a cumulative sum of second bits determined to be predicted in position information of vertices that have been encoded, and the second quantity information is a cumulative sum of second bits in the position information of the vertices that have been encoded.

14. The method of claim 13, wherein, updating the prediction value based on whether a ratio of the first quantity information and the second quantity information is greater than a preset threshold; updating the prediction value as no prediction based on that the ratio of the first quantity information and the second quantity information is not greater than the preset threshold; not updating the prediction value based on that the ratio of the first quantity information and the second quantity information is greater than the preset threshold.

15. The method of claim 14, wherein the prediction value comprises any one of the following cases: no prediction; the prediction value is 0 before updating and no prediction after updating; the prediction value is 1 before updating and no prediction after updating; the prediction value is 0; the prediction value is 1.

16. The method of claim 15, wherein, the set of context probability models comprises context probability model set 1-context probability model set 7, and the determining the set of context probability models corresponding to the symbol to be encoded based on the inter-frame context state tree and the prediction value comprises: determining the set of context probability models corresponding to the symbol to be encoded as context probability model set 1 based on that the prediction mode is intra prediction. based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 2; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being the prediction value before update being 0 and the prediction value after update being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 3; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being the prediction value before update being 1 and the prediction value after update being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 4; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being 0, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 3; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being 1, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 4; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 5; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being the prediction value before update being 0 and the prediction value after update being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 6; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being the prediction value before update being 1 and the prediction value after update being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 7; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being 0, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 6; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being 1, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 7.

17. The method of claim 12, wherein the context probability model groups comprise context probability model group 1 to context probability model group 7; and wherein the determining the context probability model group corresponding to the to-be-encoded symbol based on the inter context state tree and the prediction value comprises: based on the prediction mode being intra prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 1. based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 2; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being 0, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 3; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree one, and the prediction value being 1, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 4; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being no prediction, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 5; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being 0, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 6; based on the prediction mode being inter prediction, the inter context state tree being inter context state tree two, and the prediction value being 1, determining that the context probability model group corresponding to the to-be-encoded symbol is context probability model group 7.

18. The method of any one of claims 1-12, wherein, The inter context state tree includes primary information and secondary information, and the secondary information includes 15-bit information.

19. The method of any one of claims 1-16, wherein, The inter context state tree includes primary information and secondary information, and the secondary information includes 16-bit information.

20. The method of claim 1, wherein, The determining of the context probability model based on the context probability model group corresponding to the to-be-encoded symbol comprises: determining a context probability model index based on the inter context state tree and the context probability model group, the context probability model group including one or more context probability models, and the context probability model index indicating one context probability model in the context probability model group; determining the context probability model indicated by the context probability model index based on the inter context state tree.

21. The method of any one of claims 2-20, wherein, The to-be-encoded symbol is a second bit in the position information.

22. An inter prediction-based encoder, comprising: a prediction mode determination module configured to determine a prediction mode of a to-be-encoded symbol, wherein the prediction mode includes an intra prediction mode and an inter prediction mode; a context state tree determination module configured to determine an inter context state tree of the to-be-encoded symbol based on the prediction mode being an inter prediction mode; a prediction module configured to determine a prediction value of the to-be-encoded symbol for the inter context state tree; a context probability model group configured to determine a context probability model group corresponding to the to-be-encoded symbol based on the inter context state tree and the prediction value, and determine a context probability model based on the context probability model group corresponding to the to-be-encoded symbol, wherein different inter context state trees and different prediction values correspond to different context probability model groups. An entropy coding module is configured to encode the to-be-encoded symbol based on the context probability model.

23. The encoder of claim 22, wherein, The to-be-encoded symbol is a second bit in the position information.

24. An apparatus comprising: a memory configured to store a computer program; a processor configured to invoke the computer program to perform the encoding method of any one of claims 1-21.

25. A non-transitory computer storage medium storing a computer program that, when invoked by a processor, causes the processor to perform the encoding method of any one of claims 1-21.

26. A chip comprising: a memory configured to store a computer program; a processor configured to invoke the computer program to perform the encoding method of any one of claims 1-21.