Point cloud data coding method and device, computer device and readable storage medium
By obtaining the predicted coding state and local sparse information of point cloud data and determining the context probability model, the problem of coding state overlap in point cloud compression coding is solved and the coding accuracy is improved.
Patent Information
- Application Number
- CN202410958898.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-16
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2044-07-16
AI Technical Summary
In geometry-based point cloud compression coding, different types of coding states may overlap, causing the encoder to be unable to accurately distinguish the coding states, thereby reducing coding accuracy.
By obtaining the predicted coding status of the sub-nodes to be encoded in the point cloud data, the corresponding context probability model is determined, and the local sparse information and predicted placeholder information are used to clarify the dividing boundaries of different information and improve the coding accuracy.
It effectively distinguishes the subtle differences in encoding status between adjacent frames and improves the encoding accuracy of the sub-nodes to be encoded in the point cloud data.
Smart Images

Figure CN118678084B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of point cloud compression coding, and particularly relates to a point cloud data coding and decoding method and device, a computer device and a readable storage medium. BACKGROUND
[0002] Point cloud compression coding technology is a technology for efficiently storing and transmitting point cloud data. Point cloud is composed of a large number of points in space, which represent the shape of an external environment or object in a three-dimensional coordinate system. Since the point cloud data is usually very large, direct storage and transmission will be very time-consuming and inefficient, so it is necessary to reduce the data volume through compression coding technology while maintaining the quality and accuracy of the original data as much as possible.
[0003] In the related art, in the framework of a geometry-based point cloud compression coding (Geometry-based Point Cloud Compression, point cloud G-PCC) encoder, the geometry coding based on an octree is commonly used. In the octree coding framework, when encoding a to-be-encoded child node, different coding states usually share the same encoder group. However, in some cases, different types of coding states may overlap, and if the same encoder group is used for different coding states at this time, the boundary of the state may be ambiguous, which may cause the encoder to be unable to accurately distinguish the coding state, resulting in a decrease in the accuracy of coding. SUMMARY
[0004] The main purpose of the embodiments of the present application is to provide a point cloud data coding and decoding method, device, computer device and readable storage medium, which can improve the accuracy of encoding the to-be-encoded child node of the point cloud data.
[0005] To achieve the above purpose, a first aspect of an embodiment of the present application provides a point cloud data coding method, which comprises:
[0006] obtaining a to-be-encoded child node in point cloud data;
[0007] obtaining a prediction coding state of the to-be-encoded child node; wherein the prediction coding state comprises an inter-frame coding state and an intra-frame coding state;
[0008] determining a first context probability model corresponding to the to-be-encoded child node based on the prediction coding state;
[0009] encoding occupancy information of the to-be-encoded child node through the first context probability model to obtain target coding data of the occupancy information.
[0010] Correspondingly, a second aspect of an embodiment of the present application provides a point cloud data coding device, which comprises:
[0011] The first acquisition module is used to obtain the sub-nodes to be encoded in the point cloud data;
[0012] A second acquisition module is used to acquire the predicted coding state of the sub-node to be encoded; wherein the predicted coding state includes an inter-frame coding state and an intra-frame coding state;
[0013] A first determining module, configured to determine a first context probability model corresponding to the to-be-encoded sub-node based on the predicted encoding state;
[0014] An encoding module is used to encode the placeholder information of the to-be-encoded sub-node through the first context probability model to obtain target encoding data of the placeholder information.
[0015] In some embodiments, the first determining module is further configured to:
[0016] Obtaining local sparse information of the to-be-encoded subnode; determining a corresponding first context probability model from a first context probability model group based on the predictive coding state and the local sparse information;
[0017] Alternatively, according to the predicted coding state, predicted placeholder information of the to-be-coded subnode is predicted; based on the predicted coding state and the predicted placeholder information, a corresponding first context probability model is determined from a first context probability model group:
[0018] Or, obtain local sparse information of the sub-node to be encoded; predict the predicted placeholder information of the sub-node to be encoded based on the predicted coding state; determine the corresponding first context probability model from the first context probability model group based on at least two parameters of the predicted coding state, the local sparse information and the predicted placeholder information.
[0019] In some embodiments, the point cloud data encoding device further includes a first mapping module configured to:
[0020] determining at least one of the prediction coding state and the local sparse information as first classification information, and determining other information in the prediction coding state and the local sparse information other than the first classification information as second classification information; or determining at least one of the prediction coding state and the prediction placeholder information as first classification information, and determining other information in the prediction coding state and the prediction placeholder information other than the first classification information as second classification information; or determining at least one of the prediction coding state, the local sparse information and the prediction placeholder information as first classification information, and determining other information in the prediction coding state, the local sparse information and the prediction placeholder information other than the first classification information as second classification information;
[0021] According to the first classification information, a context state tree category of a context state tree corresponding to the to-be-encoded sub-node is determined.
[0022] According to the context state tree category and the second classification information, mapping is performed in the first context probability model group to determine a corresponding first context probability model.
[0023] In some embodiments, the first determination module is further configured to:
[0024] According to the encoding order, a plurality of coded adjacent nodes located in front of the to-be-encoded sub-node are determined.
[0025] Based on first placeholder information of the plurality of coded adjacent nodes, a placeholder number of the plurality of coded adjacent nodes is determined.
[0026] The placeholder number is compared with a preset placeholder number threshold value to determine local sparse information of the to-be-encoded sub-node.
[0027] In some embodiments, the first determination module is further configured to:
[0028] A to-be-encoded frame in which the to-be-encoded sub-node is located is obtained, and at least one reference frame is determined from coded adjacent frames according to the encoding order.
[0029] A reference sub-node with the same sub-node spatial position and the same sub-node size as the to-be-encoded sub-node is determined from the reference frame.
[0030] Reference placeholder information of the reference sub-node is obtained as second placeholder information, and the second placeholder information is taken as prediction placeholder information of the to-be-encoded sub-node.
[0031] Correspondingly, a third aspect of the embodiments of the present application proposes a point cloud data decoding method, and the method comprises:
[0032] obtain target decoding data of a to-be-decoded sub-node in the point cloud data;
[0033] obtain a predicted decoding state of the to-be-decoded sub-node; wherein the predicted decoding state comprises an inter-frame decoding state and an intra-frame decoding state;
[0034] determine, based on the predicted decoding state, a second context probability model corresponding to the to-be-decoded sub-node;
[0035] decode, by the second context probability model, the target decoding data of the to-be-decoded sub-node to obtain placeholder information of the to-be-decoded sub-node.
[0036] Correspondingly, a fourth aspect of the embodiments of the present application provides a point cloud data decoding device, the device comprising:
[0037] a third obtaining module configured to obtain target decoding data of a to-be-decoded sub-node in the point cloud data;
[0038] a fourth obtaining module configured to obtain a predicted decoding state of the to-be-decoded sub-node; wherein the predicted decoding state comprises an inter-frame decoding state and an intra-frame decoding state;
[0039] a second determining module configured to determine, based on the predicted decoding state, a second context probability model corresponding to the to-be-decoded sub-node;
[0040] a decoding module configured to decode, by the second context probability model, the target decoding data of the to-be-decoded sub-node to obtain placeholder information of the to-be-decoded sub-node.
[0041] In some embodiments, the second determining module is further configured to:
[0042] obtain local sparse information of the to-be-decoded sub-node; and determine, based on the predicted decoding state and the local sparse information, the second context probability model corresponding to the to-be-decoded sub-node from a second context probability model group;
[0043] or, predict, according to the predicted decoding state, predicted placeholder information of the to-be-decoded sub-node; and determine, based on the predicted decoding state and the predicted placeholder information, the second context probability model corresponding to the to-be-decoded sub-node from a second context probability model group;
[0044] or, obtain local sparse information of the to-be-decoded sub-node; predict, according to the predicted decoding state, predicted placeholder information of the to-be-decoded sub-node; and determine, based on at least two parameters from among the predicted decoding state, the local sparse information and the predicted placeholder information, the second context probability model corresponding to the to-be-decoded sub-node from a second context probability model group.
[0045] In some embodiments, the point cloud data decoding apparatus further comprises a second mapping module configured to:
[0046] determine at least one of the prediction decoding state and the local sparse information as first classification information, and determine other information in the prediction decoding state and the local sparse information other than the first classification information as second classification information; or determine at least one of the prediction decoding state and the prediction placeholder information as first classification information, and determine other information in the prediction decoding state and the prediction placeholder information other than the first classification information as second classification information; or determine at least one of the prediction decoding state, the local sparse information and the prediction placeholder information as first classification information, and determine other information in the prediction decoding state, the local sparse information and the prediction placeholder information other than the first classification information as second classification information;
[0047] determine a context state tree category of a context state tree corresponding to the to-be-decoded sub-node according to the first classification information;
[0048] map in the second context probability model group according to the context state tree category and the second classification information, and determine a corresponding second context probability model.
[0049] In some embodiments, the second determining module is further configured to:
[0050] determine a plurality of decoded adjacent nodes located in front of the to-be-decoded sub-node in decoding order;
[0051] determine a placeholder number of the plurality of decoded adjacent nodes based on first placeholder information of the plurality of decoded adjacent nodes;
[0052] compare the placeholder number with a preset placeholder number threshold to determine local sparse information of the to-be-decoded sub-node.
[0053] In some embodiments, the second determining module is further configured to:
[0054] obtain a to-be-decoded frame in which the to-be-decoded sub-node is located, and determine at least one reference frame from decoded adjacent frames in decoding order;
[0055] determine a reference sub-node with the same sub-node spatial position and the same sub-node size as the to-be-decoded sub-node from the reference frame;
[0056] obtain reference placeholder information of the reference sub-node as second placeholder information, and use the second placeholder information as prediction placeholder information of the to-be-decoded sub-node.
[0057] Correspondingly, a sixth aspect of the embodiments of the present application provides a computer readable storage medium, the storage medium storing a computer program, the computer program being executed by a processor to implement the point cloud data encoding method according to any one of the first aspect of the embodiments of the present application or the point cloud data decoding method according to any one of the second aspect of the embodiments of the present application.
[0058] Correspondingly, a sixth aspect of the embodiments of the present application provides a computer readable storage medium, the storage medium storing a computer program, the computer program being executed by a processor to implement the point cloud data encoding method according to any one of the first aspect of the embodiments of the present application or the point cloud data decoding method according to any one of the second aspect of the embodiments of the present application.
[0059] In the embodiments of the present application, a to-be-encoded sub-node in point cloud data is obtained; a prediction encoding state of the to-be-encoded sub-node is obtained; the prediction encoding state includes an inter-frame encoding state and an intra-frame encoding state; a first context probability model corresponding to the to-be-encoded sub-node is determined based on the prediction encoding state; and the occupancy information of the to-be-encoded sub-node is encoded by using the first context probability model to obtain target encoding data of the occupancy information. In this way, the first context probability model corresponding to different prediction encoding states can be determined, the partitioning boundary of the first context probability model corresponding to different information is clear, the context probability model can effectively distinguish the subtle differences between the encoding states of adjacent frames and perform encoding, and the accuracy of encoding the to-be-encoded sub-node of the point cloud data is improved. BRIEF DESCRIPTION OF DRAWINGS
[0060] Figure 1 FIG. 1 is an architecture schematic diagram of a point cloud data encoding and decoding system provided by the embodiments of the present application;
[0061] Figure 2 FIG. 2 is an encoding flowchart of a point cloud data encoding method provided by the embodiments of the present application;
[0062] Figure 3 FIG. 3 is a decoding flowchart of a point cloud data decoding method provided by the embodiments of the present application;
[0063] Figure 4 FIG. 4 is a general encoding flowchart of a point cloud data encoding method provided by the embodiments of the present application;
[0064] Figure 5 FIG. 5 is a general decoding flowchart of a point cloud data decoding method provided by the embodiments of the present application;
[0065] Figure 6 FIG. 6 is a functional module schematic diagram of a point cloud data encoding apparatus provided by the embodiments of the present application;
[0066] Figure 7is a functional module schematic diagram of a point cloud data decoding apparatus provided by an embodiment of the present application.
[0067] Figure 8 is a hardware structure schematic diagram of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0068] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.
[0069] It should be noted that although the functional modules are divided in the apparatus schematic diagram, and the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a manner different from the module division in the apparatus or the order in the flowchart. The terms "first", "second", etc. in the description, claims and above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence.
[0070] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0071] Point cloud compression encoding technology is a technology for efficiently storing and transmitting point cloud data. Point cloud is composed of a large number of points in space, which represent the shape of an external environment or object in a three-dimensional coordinate system. Since point cloud data is usually very large, direct storage and transmission will be very time-consuming and inefficient, so it is necessary to reduce its data volume through compression encoding technology while maintaining the quality and accuracy of the original data as much as possible.
[0072] In related technologies, in the geometry-based point cloud compression encoding (Geometry□based Point Cloud Compression, point cloud G-PCC) encoder framework, the commonly used is octree-based geometry coding. In the octree coding framework, when encoding a to-be-encoded child node, different encoding states usually share the same encoder group, but in some cases, different types of encoding states may overlap, and if the same encoder group is used for different encoding states at this time, the boundary of the state may be ambiguous, which may cause the encoder to be unable to accurately distinguish the encoding state, resulting in a decrease in the accuracy of encoding.
[0073] Based on this, the embodiments of the present application provide a point cloud data encoding and decoding method, apparatus, computer device and readable storage medium, which can improve the accuracy of encoding the to-be-encoded child node of the point cloud data.
[0074] The point cloud data coding method, device, computer device and readable storage medium provided by the embodiments of the present application are described in detail as follows. First, the point cloud data coding system in the embodiments of the present application is described.
[0075] Please refer to Figure 1 In some embodiments, the point cloud data coding system includes a terminal 11 and a server 12.
[0076] For example, the terminal 11 can be a computing device, such as a smartphone, a tablet computer, a personal computer or a special-purpose device. Any device used for capturing and processing point cloud data can be used as the terminal 11. For example, in the indoor underground emergency scene three-dimensional modeling method based on a mobile phone crowdsourcing imaging terminal, data generation and processing are completed on the terminal 11, and then the results are sent to the server 12 for display and measurement application. In some embodiments, the terminal 11 can encode the to-be-encoded sub-nodes in the point cloud data to obtain target encoding data.
[0077] For example, the server 12 can be a high-performance computing server or a cloud computing platform, responsible for data storage, decoding, analysis and application deployment, etc. The server 12 can process and store point cloud data. For example, the encoding of large-scale point cloud data is also completed on the server 12. In some embodiments, the server 12 can receive the target encoding data transmitted from the terminal 11, and decode the target encoding data to obtain the node placeholder information corresponding to the target encoding data.
[0078] The point cloud data coding method in the embodiments of the present application can be described as follows.
[0079] It should be noted that in each specific embodiment of the present application, when it is necessary to process data related to the identity or characteristics of the user, such as user information, user behavior data, user history data and user location information, the user's permission or consent will be obtained first. Moreover, the collection, use and processing of these data will comply with relevant laws, regulations and standards. In addition, when the embodiments of the present application need to obtain sensitive personal information of the user, the separate permission or separate consent of the user will be obtained through a pop-up window or a jump to a confirmation page, and after obtaining the separate permission or separate consent of the user, the necessary user-related data for the normal operation of the embodiments of the present application will be obtained.
[0080] In the embodiments of the present application, the point cloud data coding device will be described from the dimension. The point cloud data coding device can be integrated in a computer device. Please refer to Figure 2 , Figure 2The step flowchart of the point cloud data encoding method provided by the embodiments of the present application is as follows. The embodiments of the present application take the case that the point cloud data encoding device is specifically integrated on a terminal or a server for example. When the processor on the terminal or the server executes the program instructions corresponding to the point cloud data encoding method, the specific process is as follows:
[0081] In step 101, a to-be-encoded sub-node in the point cloud data is obtained.
[0082] In some embodiments, since the point cloud data is often very large, direct transmission may cause high storage space requirement, long transmission time and low processing efficiency. Therefore, in order to facilitate transmission, the to-be-encoded sub-node in the point cloud data can be obtained, and the placeholder information of the to-be-encoded sub-node is encoded, so as to effectively reduce the storage space of the point cloud data and improve the transmission efficiency of the point cloud data.
[0083] The point cloud data can be a set composed of a plurality of points in a three-dimensional space, each point cloud data contains coordinate information (such as x, y, z) and possible other attribute information, and the specific coordinate information and attribute information can be collected by a laser radar or other devices and used in various application fields, such as indoor scene analysis, topographic surveying, building planning, industrial production and autonomous driving.
[0084] The to-be-encoded sub-node can be a node in the point cloud data that needs to be encoded and processed.
[0085] For example, a plurality of to-be-encoded sub-nodes can be obtained by using a four-tree or binary-tree division method. Taking octree division as an example, before the point cloud data is divided by octree, the coordinate transformation of the geometric information of the point cloud data is needed, so that all the point cloud data is contained in a bounding box. Then, quantization is performed. This quantization mainly plays a scaling role. Due to the quantization rounding, the geometric information of a part of points is the same. Whether to remove the duplicate points is determined according to the parameters. The quantization and removal of duplicate points are also called the voxelization process. Thus, a plurality of to-be-encoded sub-nodes can be obtained. The specific process of coordinate transformation and voxelization is not described in detail here.
[0086] In some embodiments, the to-be-encoded sub-nodes can also be obtained based on other methods, which are not specifically limited here.
[0087] In the above manner, the to-be-encoded sub-nodes in the point cloud data can be obtained, so as to facilitate the subsequent acquisition of the prediction encoding state of the to-be-encoded sub-nodes.
[0088] In step 102, the prediction encoding state of the to-be-encoded sub-node is obtained; the prediction encoding state includes an inter-frame encoding state and an intra-frame encoding state.
[0089] In some embodiments, in order to determine the prediction coding state of the to-be-encoded sub-node, so as to subsequently determine the corresponding first context probability model according to the prediction coding state, the prediction coding state of the to-be-encoded sub-node can be obtained by obtaining the enabling identifier corresponding to the to-be-encoded frame in which the to-be-encoded sub-node is located, so as to accurately determine whether the to-be-encoded frame in which the to-be-encoded sub-node is located enables inter-frame prediction.
[0090] Specifically, the enabling identifier corresponding to the to-be-encoded frame in which the to-be-encoded sub-node is located can be obtained, and the prediction coding state of the to-be-encoded sub-node can be determined based on the enabling identifier.
[0091] The to-be-encoded frame can be the frame in which the to-be-encoded sub-node is located. Specifically, the point cloud data can be organized into a series of frames, and each frame contains a series of nodes.
[0092] The enabling identifier can be an indicator for indicating whether the to-be-encoded frame enables inter-frame prediction. In the point cloud data, inter-frame prediction generally refers to predicting the content of the current frame by using the information of the previous frame, so as to reduce the amount of data to be encoded. The value of the enabling identifier (gbh.interPredictionEnabledFlag) can be directly obtained, and specifically can be 0 or 1, wherein 0 indicates that the inter-frame prediction is disabled, and 1 indicates that the inter-frame prediction is enabled.
[0093] The prediction coding state can be the inter-frame enabling state of the to-be-encoded frame. The prediction coding state can include an intra-frame coding state and an inter-frame coding state.
[0094] Specifically, when the enabling identifier corresponding to the to-be-encoded frame is 1, it indicates that the to-be-encoded frame enables inter-frame prediction, and the prediction coding state of the to-be-encoded frame is the inter-frame coding state; when the enabling identifier corresponding to the to-be-encoded frame is 0, it indicates that the to-be-encoded frame disables inter-frame prediction, and the prediction coding state of the to-be-encoded frame is the intra-frame coding state.
[0095] By obtaining the enabling identifier to determine the prediction coding state of the to-be-encoded sub-node, different coding strategies can be adopted according to different prediction coding states in the subsequent process, so as to improve the coding efficiency and quality.
[0096] In step 103, a first context probability model corresponding to the to-be-encoded sub-node is determined based on the prediction coding state.
[0097] In some embodiments, in order to adapt to different coding requirements, the corresponding first context probability model can be determined from the first context probability model group according to the prediction coding state, so as to dynamically adjust the coding strategy according to the characteristics of the data, and further improve the accuracy of encoding the to-be-encoded sub-node of the point cloud data.
[0098] The first context probability model group can be a set of context probability models for processing and encoding different types of data.
[0099] The first context probability model can be a probability model for encoding binary data, used for encoding the placeholder information of the to-be-encoded sub-node.
[0100] It can be understood that intra-frame encoding only processes a single frame, which is suitable for cases where the scene changes dramatically or random access is required. Inter-frame encoding utilizes the similarity between frames for compression, significantly improving the compression ratio but also increasing the decoding complexity. Therefore, the corresponding context probability model can be selected according to the prediction encoding state of different frames to balance between compression efficiency and decoding complexity.
[0101] Further, in an image or video frame, the amount of information and the degree of change in different regions are different. For example, regions such as the sky and large-area monochrome backgrounds change little and can use simple context probability models. However, regions with moving objects and rich details require complex context probability models. Therefore, determining the context probability model according to the local sparse information can improve the encoding efficiency while ensuring the encoding quality.
[0102] By determining the corresponding context probability model according to the predicted placeholder information, the division boundary of the first context probability model corresponding to different information can be determined, so that the context probability model can effectively distinguish the subtle differences in the encoding state between adjacent frames and perform encoding, thereby improving the accuracy of encoding the to-be-encoded sub-node of the point cloud data.
[0103] In some embodiments, to improve the efficiency and accuracy of encoding, part or all of the local sparse information, the predicted placeholder information, and the prediction encoding state of the to-be-encoded sub-node can be obtained, and the corresponding first context state model can be determined accordingly. For example, step 103 can determine the first context probability model corresponding to the to-be-encoded sub-node by one of the following embodiments:
[0104] (A.1) obtaining the local sparse information of the to-be-encoded sub-node; determining the corresponding first context probability model from the first context probability model group based on the prediction encoding state and the local sparse information;
[0105] (A.2) or, predicting the prediction placeholder information of the to-be-encoded sub-node according to the prediction encoding state; determining the corresponding first context probability model from the first context probability model group based on the prediction encoding state and the prediction placeholder information;
[0106] (A.3) or, obtaining local sparsity information of the to-be-encoded child node; predicting a predicted occupancy information of the to-be-encoded child node according to the prediction encoding state; and determining the corresponding first context probability model from the first context probability model group based on at least two parameters in the prediction encoding state, the local sparsity information and the predicted occupancy information.
[0107] The local sparsity information can be the point cloud density around the to-be-encoded child node. If the number of occupied nodes of the neighboring nodes is large, it indicates that the area around the to-be-encoded child node is relatively dense, and vice versa.
[0108] The predicted occupancy information can be a predicted value of the occupancy state of the to-be-encoded child node based on the prediction encoding state. The predicted occupancy information can be represented in the form of binary code (0 or 1), where 1 indicates that the to-be-encoded child node is occupied by a point, and 0 indicates that the to-be-encoded child node is not occupied by a point.
[0109] In some embodiments, the local sparsity information of the to-be-encoded child node can be obtained by obtaining a plurality of encoded neighboring nodes of the to-be-encoded child node, determining the first occupancy information of each neighboring node, calculating the number of occupied nodes of the plurality of encoded neighboring nodes, and comparing the number of occupied nodes with a preset occupancy number threshold. When the number of occupied nodes is greater than or equal to the occupancy number threshold, it can be determined that the local sparsity information of the to-be-encoded child node is sparse; when the number of occupied nodes is less than the occupancy number threshold, it can be determined that the local sparsity information of the to-be-encoded child node is not sparse.
[0110] In some embodiments, the predicted occupancy information of the to-be-encoded child node can be obtained by obtaining the to-be-encoded frame in which the to-be-encoded child node is located, determining at least one reference frame from the encoded neighboring frames according to the encoding order, determining a reference child node with the same child node spatial position and the same child node size as the to-be-encoded child node from the reference frame, and predicting the predicted occupancy information of the to-be-encoded child node through the second occupancy information of the reference child node. Specifically, when the second occupancy information is occupancy, the predicted occupancy information of the to-be-encoded child node is also occupancy; when the second occupancy information is non-occupancy, the predicted occupancy information of the to-be-encoded child node is also non-occupancy.
[0111] Specifically, the corresponding first context probability model can be determined from the first context probability model group based on the prediction encoding state and the local sparsity information, or based on the prediction encoding state and the predicted occupancy information, or based on at least two parameters in the prediction encoding state, the local sparsity information and the predicted occupancy information, or only based on the prediction encoding state.
[0112] Further, in order to ensure that the boundary between the first context probability model using inter-frame information and the first context probability model not using inter-frame information is more clear, in the process of determining the first context probability model, it is necessary to determine according to the prediction coding state, and for local sparse information and prediction placeholder information, it is in order to further select more accurate first context probability model for the to-be-coded sub-node through effective information, improve the efficiency and accuracy of encoding the placeholder information of the to-be-coded sub-node.
[0113] In some embodiments, in order to more efficiently and accurately determine the first context probability model for encoding the placeholder information of the to-be-coded sub-node, the category of the context state tree of the to-be-coded sub-node can be determined first, so as to effectively utilize the context state tree to quickly determine the first context probability model most suitable for encoding the placeholder information of the current to-be-coded sub-node, and improve the efficiency and accuracy of encoding. For example, for the above-mentioned several cases of determining the first context probability model corresponding to the to-be-coded sub-node, the method further includes the following steps:
[0114] (B1) determining at least one of the prediction coding state and the local sparse information as the first classification information, and taking other information in the prediction coding state and the local sparse information other than the first classification information as the second classification information; or determining at least one of the prediction coding state and the prediction placeholder information as the first classification information, and taking other information in the prediction coding state and the prediction placeholder information other than the first classification information as the second classification information; or determining at least one of the prediction coding state, the local sparse information and the prediction placeholder information as the first classification information, and taking other information in the prediction coding state, the local sparse information and the prediction placeholder information other than the first classification information as the second classification information;
[0115] (B2) determining the context state tree category of the context state tree corresponding to the to-be-coded sub-node according to the first classification information;
[0116] (B3) mapping according to the context state tree category and the second classification information in the first context probability model group to determine the corresponding first context probability model.
[0117] The context state tree can be constructed by the placeholder information of the coded adjacent nodes adjacent to the to-be-coded sub-node. For example, each adjacent node corresponds to a placeholder information, such as the placeholder information of node B is 101, the placeholder information of node C is 011, and the placeholder information of node D is 110. By combining the placeholder information of the adjacent nodes into a context state tree, 101, 011, and 110 can be obtained. Further, the context state tree can also include the position information of each adjacent node.
[0118] The context state tree category can be a specific state reflecting the to-be-encoded subnode. The context state tree can include a prediction encoding state, local sparse information, and prediction placeholder information of the to-be-encoded subnode, and the like. For example, the context state tree can be an inter-frame sparse context state tree, a sparse context state tree, an inter-frame context state tree, and the like, which is determined according to the selected first classification information.
[0119] The first classification information can be information used to determine the context state tree category of the context state tree corresponding to the to-be-encoded subnode, and can be used to determine the first context probability model group.
[0120] The second classification information can be information used to determine the first context probability model corresponding to the to-be-encoded subnode. The first classification information and the second classification information are selected from the prediction encoding state, the local sparse information, and the prediction placeholder information.
[0121] For example, the context state tree category of the context state tree corresponding to the to-be-encoded subnode can be determined first, and the corresponding first context probability model group is determined according to the category of the context state tree and the second classification information. Then, the subnode occupancy probability corresponding to the to-be-encoded subnode is determined according to the context state tree corresponding to the to-be-encoded subnode. Finally, the first context probability model is determined from the first context probability model group based on the subnode occupancy probability.
[0122] In some embodiments, the context state tree category can be determined by part or all of the prediction encoding state, the prediction placeholder information, and the local sparse information first, and the corresponding first context probability model group is determined according to the context state tree category. Then, the first context probability model is further determined from the determined first context probability model group according to the subnode occupancy probability of the to-be-encoded subnode.
[0123] Further, the prediction encoding state includes an intra-frame encoding state and an inter-frame encoding state; the local sparse information includes sparse and non-sparse; and the prediction placeholder information includes placeholder and non-placeholder.
[0124] For example, when the first classification information is the prediction coding state and the second classification information is the local sparse information, a corresponding context state tree category (e.g., an inter-frame coding state tree) can be determined based on the prediction coding state, and a corresponding first context probability model group can be determined based on the local sparse information and the context state tree category. Then, a sub-node occupancy probability of the to-be-encoded sub-node can be determined according to the context state tree corresponding to the to-be-encoded sub-node, and a first context probability model can be determined from the first context probability model group based on the sub-node occupancy probability.
[0125] For example, when the first classification information is the prediction coding state and the second classification information is the local sparse information, a corresponding context state tree category (e.g., an inter-frame coding state tree) can be determined based on the prediction coding state, and a corresponding first context probability model group can be determined based on the local sparse information and the context state tree category. Then, a sub-node occupancy probability of the to-be-encoded sub-node can be determined according to the context state tree corresponding to the to-be-encoded sub-node, and a first context probability model can be determined from the first context probability model group based on the sub-node occupancy probability.
[0126] For example, when the first classification information is the prediction coding state, the second classification information is the local sparsity and the prediction occupancy information, the corresponding context state tree category can be determined based on the prediction coding state, and the first context probability model group can be determined based on the context state tree category, the local sparsity and the prediction occupancy information. Then, the sub-node occupancy probability of the to-be-encoded sub-node can be determined according to the context state tree corresponding to the to-be-encoded sub-node, and the first context probability model can be determined from the first context probability model group based on the sub-node occupancy probability. When the first classification information is the prediction coding state and the local sparsity, and the second classification information is the prediction occupancy information, the corresponding context state tree category can be determined based on the prediction coding state and the local sparsity, and the first context probability model group can be determined based on the prediction occupancy information and the context state tree category. Then, the sub-node occupancy probability of the to-be-encoded sub-node can be determined according to the context state tree corresponding to the to-be-encoded sub-node, and the first context probability model can be determined from the first context probability model group based on the sub-node occupancy probability. It can be understood that any two of the prediction coding state, the local sparsity and the prediction occupancy information can be determined as the first classification information, and the remaining one can be determined as the second classification information. Any one of the prediction coding state, the local sparsity and the prediction occupancy information can be determined as the first classification information, and the remaining two can be determined as the second classification information. The prediction coding state, the local sparsity and the prediction occupancy information can all be determined as the first classification information, the corresponding context state tree category can be directly determined, and the first context probability model can be directly mapped to the specific first context probability model without selecting the second classification information. The prediction coding state, the local sparsity and the prediction occupancy information can all be determined as the second classification information, and the first context probability model can be directly mapped to the specific first context probability model without selecting the first classification information. The specific combination mode is not listed one by one here, as long as the combination mode does not deviate from the concept of the present application, it can be regarded as a technical solution of the present application.
[0127] In some embodiments, when the prediction coding state is the intra coding state, the prediction occupancy information of the to-be-encoded sub-node does not need to be predicted, and the prediction occupancy information is all set to 0. When the prediction coding state is the inter coding state, the prediction occupancy information of the to-be-encoded sub-node is predicted, and the prediction occupancy information can be 0 or 1. The occupancy information of the to-be-encoded sub-node with different prediction occupancy information is mapped to different first context probability models.
[0128] By determining the context state tree category of the to-be-encoded sub-node, the selection efficiency of the first context probability model can be improved, and the efficiency of encoding the occupancy information of the to-be-encoded sub-node can be improved.
[0129] In some embodiments, since the occupancy state of the to-be-encoded child node in the point cloud data is not completely independent, but is affected by the state of the surrounding nodes, in order to more accurately predict the local sparse information of the to-be-encoded child node, the first occupancy information of the encoded adjacent nodes can be used to predict the local sparse information of the to-be-encoded child node, so as to improve the efficiency of encoding and the quality of reconstruction. For example, in the enumeration of the first context probability model corresponding to the to-be-encoded child node, (A.1) and (A.3) mentioned "obtaining the local sparse information of the to-be-encoded child node" can include:
[0130] (C1) determining a plurality of encoded adjacent nodes located in the sequence of the to-be-encoded child node;
[0131] (C2) determining the number of occupancy of the plurality of encoded adjacent nodes based on the first occupancy information of the plurality of encoded adjacent nodes;
[0132] (C3) comparing the number of occupancy with a preset occupancy number threshold to determine the local sparse information of the to-be-encoded child node.
[0133] Wherein, the adjacent node can be a node adjacent to the to-be-encoded child node in space. Specifically, it can be a node sharing a common edge or a common face with the to-be-encoded child node. Further, the adjacent node can be used to predict the state of the to-be-encoded child node to improve the encoding efficiency.
[0134] Wherein, the first occupancy information can be the occupancy state information of the adjacent node adjacent to the to-be-encoded child node in space. In the point cloud data, the occupancy state of the node is usually represented in the form of binary code (0 or 1), wherein 1 represents that the node is occupied by a point, and 0 represents that the node is not occupied by a point. Since the adjacent node has been encoded, the first occupancy information of the adjacent node can be directly obtained.
[0135] Wherein, the number of occupancy can be the sum of the occupancy state information of a plurality of encoded nodes adjacent to the to-be-encoded child node. In the point cloud data, the occupancy state of the node is usually represented in the form of binary code (0 or 1), wherein 1 represents that the node is occupied by a point, and 0 represents that the node is not occupied by a point. The number of occupancy is obtained by adding the occupancy states of a plurality of adjacent nodes, and is used to reflect whether the space region around the to-be-encoded child node is sparse.
[0136] Wherein, the occupancy threshold can be a preset value for distinguishing the local sparse information of the to-be-encoded child node. The occupancy threshold can be set according to the actual situation, for example, it can be set to 1, 2, 3, etc.
[0137] The local sparse information can be the point cloud density around the to-be-encoded child node. If the number of the occupied neighboring nodes is large, it indicates that the area around the to-be-encoded child node is dense, and vice versa.
[0138] For example, starting from the to-be-encoded child node, a preset number of neighboring nodes can be selected in the negative direction of x, y and z adjacent to the to-be-encoded child node, that is, in the direction of the already-encoded nodes in the to-be-encoded child node sequence. Specifically, the preset number can be set according to actual conditions, for example, it can be 12, 15, etc.
[0139] For example, the number of occupied positions can be compared with a preset threshold of the number of occupied positions, and the local sparse information of the to-be-encoded child node can be determined according to the comparison result.
[0140] For example, if the to-be-encoded child node is adjacent to 12 neighboring nodes, the neighboring nodes have been encoded, and therefore the occupancy information (whether occupied by a point) can be directly obtained. Further, the number of occupied positions of the 12 neighboring nodes can be calculated. For example, if the occupancy information of the 12 neighboring nodes is 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0 respectively, then the number of occupied positions is 1+0+0+1+0+1+0+1+0+1+0+0=5.
[0141] Further, if the threshold of the number of occupied positions is 1, the calculated number of occupied positions 5 is compared with the threshold 1. Since 5 is greater than 1, the comparison result is “greater than the threshold”, and therefore it can be determined that the local sparse information of the to-be-encoded child node is non-sparse. The non-sparse local sparse information means that the space area around the to-be-encoded child node is relatively dense, and therefore a more efficient encoding strategy can be selected during encoding to reduce redundant information.
[0142] For example, if the first occupancy information indicates that the number of occupied neighboring nodes is large, the local sparse information of the to-be-encoded child node is non-sparse; if the first occupancy information indicates that the number of occupied neighboring nodes is small, the local sparse information of the to-be-encoded child node is sparse. The threshold of the number of occupied positions or the proportion of occupied positions can be set to determine this. For example, the threshold of the number of occupied positions can be set to 1, and when the first occupancy information indicates that the number of occupied neighboring nodes is greater than 1, it is determined that the local sparse information of the to-be-encoded child node is non-sparse, and vice versa.
[0143] In the above manner, the to-be-encoded child node and a plurality of already-encoded neighboring nodes located in the to-be-encoded child node sequence can be obtained, and by using the first occupancy information of the already-encoded neighboring nodes, further by setting the threshold of the number of occupied positions and comparing the number of occupied positions with the threshold of the number of occupied positions, the determination of the local sparse information can be more clear and operable, and the efficiency and accuracy of the encoding are improved.
[0144] In some embodiments, in order to facilitate subsequent adoption of different encoding strategies according to different predicted occupancy information, the occupancy information of the to-be-encoded sub-node can be predicted by the second occupancy information of the reference sub-node of at least one reference frame located in front of the to-be-encoded frame, so as to facilitate the improvement of encoding efficiency and accuracy. For example, in the context of determining the first context probability model corresponding to the to-be-encoded sub-node, (A.2) and (A.3) mentioned "predicting the predicted occupancy information of the to-be-encoded sub-node according to the predicted encoding state" includes:
[0145] (D1) obtaining the to-be-encoded frame in which the to-be-encoded sub-node is located, and determining at least one reference frame from the adjacent frames that have been encoded according to the encoding order;
[0146] (D2) determining a reference sub-node in the reference frame that has the same sub-node spatial position and the same sub-node size as the to-be-encoded sub-node;
[0147] (D3) obtaining the reference occupancy information of the reference sub-node as the second occupancy information, and taking the second occupancy information as the predicted occupancy information of the to-be-encoded sub-node.
[0148] Wherein, the reference frame can be an adjacent frame in front of the to-be-encoded frame according to the encoding order. The reference frame can be used to predict the occupancy state of the to-be-encoded sub-node in the current to-be-encoded frame.
[0149] Wherein, the sub-node spatial position can be the corresponding spatial position of the current to-be-encoded sub-node in the reference frame. For example, if the position of the to-be-encoded sub-node in the to-be-encoded frame is the top left corner, then the position in the reference frame is also the corresponding position of the top left corner.
[0150] Wherein, the same sub-node size means that the two nodes have the same occupancy space. For example, the reference sub-node and the to-be-encoded sub-node have the same sub-node size, and the reference sub-node and the to-be-encoded sub-node have the same occupancy space.
[0151] Wherein, the reference sub-node can be the node in the reference frame that has the highest similarity with the current to-be-encoded sub-node.
[0152] Wherein, the second occupancy information can be the occupancy information of the reference sub-node in the reference frame that has the highest similarity with the current to-be-encoded sub-node.
[0153] It can be understood that the inter-frame encoding state can be the state in which the current to-be-encoded frame starts inter-frame prediction encoding. Since when the prediction encoding state is the intra-frame encoding state, the to-be-encoded sub-node does not have occupancy information, therefore, only the occupancy state of the to-be-encoded sub-node in the inter-frame encoding state needs to be predicted.
[0154] Specifically, since the motion of the object is continuous between the continuous frames, it means that the to-be-encoded sub-node in the current to-be-encoded frame usually also has a corresponding position and state in the previous frame (reference frame), and thus the prediction occupancy information of the to-be-encoded sub-node can be predicted by the second occupancy information of the reference sub-node of the reference frame.
[0155] In some embodiments, the reference sub-node can be determined according to the position. At this time, the reference sub-node can be a node having the same position and the same sub-node size as the current to-be-encoded sub-node in the reference frame, and the second occupancy information can be the occupancy information of the reference sub-node having the same position as the current to-be-encoded sub-node in the reference frame.
[0156] In some embodiments, it can also be assumed that the to-be-encoded sub-node is located in frame F1, and in order to predict the occupancy information of the to-be-encoded sub-node in frame F1, a reference frame located in the sequence before frame F1 can be selected. For example, frame F0 can be selected as the reference frame. Further, in the reference frame F0, a node having the highest similarity to the to-be-encoded sub-node in frame F1 can be determined as the reference sub-node, and the second occupancy information of the reference sub-node can be obtained, and the second occupancy information can be taken as the prediction occupancy information of the to-be-encoded sub-node. For example, if the second occupancy information is 0, the prediction occupancy information is also 0.
[0157] For example, according to the order of encoding, the following arrangement can be obtained: adjacent frame 1, adjacent frame 2, adjacent frame 3, adjacent frame 4, to-be-encoded frame 1, adjacent frame 5, adjacent frame 6. Thus, the adjacent frames located in the sequence before the to-be-encoded frame can be determined as adjacent frame 1, adjacent frame 2, adjacent frame 3, and adjacent frame 4. If the number of selected reference frames is 1, the reference frame can be determined according to the principle of selecting the nearest one, and specifically, adjacent frame 4 can be determined as the reference frame. Similarly, if the number of selected reference frames is 2, adjacent frame 3 and adjacent frame 4 can be determined as the reference frames.
[0158] Further, if there are multiple selected reference frames, but the second occupancy information of the reference sub-nodes corresponding to different reference frames is different, the second occupancy information with the highest frequency of occurrence can be selected as the prediction occupancy information. For example, if there are three selected reference frames, and the corresponding second occupancy information is 1, 1, and 0, 1 can be selected as the prediction occupancy information.
[0159] By predicting the prediction occupancy information of the to-be-encoded sub-node through the second occupancy information of the reference sub-node of the reference frame, the state of the current to-be-encoded sub-node can be more accurately predicted and encoded, thereby improving the efficiency and accuracy of encoding.
[0160] At step 104, the placeholder information of the to-be-encoded child node is encoded by the first context probability model to obtain target encoding data of the placeholder information.
[0161] In some embodiments, in the geometric coding framework of the point cloud data, encoding the to-be-encoded child node mainly includes encoding the placeholder information, also referred to as placeholder code, of the to-be-encoded child node. Encoding the placeholder information of the to-be-encoded child node can realize data compression and improve the efficiency of storage and transmission.
[0162] The target encoding data can be data obtained by compressing and encoding the placeholder information of the to-be-encoded child node.
[0163] Specifically, the child node occupancy probability of the placeholder information of the to-be-encoded child node can be determined based on the context state tree in which the to-be-encoded child node is located. Then, the specific first context probability model is determined from the first context probability model group based on the child node occupancy probability, and the placeholder information is encoded according to the first context probability model to obtain the target encoding data of the placeholder information.
[0164] For example, according to the prediction encoding state and the local sparse information, it can be determined that the context state tree corresponding to the to-be-encoded child node is of an inter-frame non-sparse state. Then, according to the context state tree category and the node placeholder information (for example, the node placeholder information is occupied), the first context probability model group A is determined, which includes the first context probability model a1, the first context probability model a2, the first context probability model a3 and the first context probability model a4. Further, if it is determined that the child node occupancy probability of the to-be-encoded child node is high, the first context probability model a1 can be determined as the final first context probability model for encoding the placeholder information of the to-be-encoded child node according to the child node occupancy probability, and the placeholder information of the to-be-encoded child node is encoded by the first context probability model a1.
[0165] The child node occupancy probability can be the probability of the occupancy state of the to-be-encoded child node determined based on the context state tree corresponding to the to-be-encoded child node. If most of the neighboring nodes of the to-be-encoded child node are occupied by points, the occupancy probability of the to-be-encoded child node can be high. If most of the neighboring nodes are not occupied by points, the occupancy probability of the to-be-encoded child node can be low.
[0166] For example, according to the context state tree in which the to-be-encoded child node is located, it can be determined that each neighboring node has an occupied or unoccupied state, and the occupied states of all neighboring nodes are combined to form a binary number. Based on the distribution information of the binary number, the child node occupancy probability of the to-be-encoded child node is determined. For example, the context state tree can be represented as a binary number 101101.
[0167] By encoding the placeholder information of the to-be-encoded sub-node through the first context probability model, data compression can be achieved, storage and transmission efficiency can be improved, data processing speed can be accelerated, data representation can be simplified, and data recovery accuracy can be improved.
[0168] In the embodiments of the present application, a to-be-encoded sub-node in point cloud data is obtained, a prediction encoding state of the to-be-encoded sub-node is obtained, wherein the prediction encoding state includes an inter-frame encoding state and an intra-frame encoding state, a first context probability model corresponding to the to-be-encoded sub-node is determined based on the prediction encoding state, and the placeholder information of the to-be-encoded sub-node is encoded through the first context probability model to obtain target encoding data of the placeholder information. In this way, the corresponding first context probability model can be determined according to different prediction encoding states, the partition boundaries of the first context probability model corresponding to different information are clear, the context probability model can effectively distinguish the subtle differences between the encoding states of adjacent frames and perform encoding, and the accuracy of encoding the to-be-encoded sub-node of the point cloud data is improved.
[0169] For more details, please refer to Figure 3 In some embodiments, after the target encoding data is received by the decoding end, the target encoding data can be decoded as target decoding data to obtain the placeholder information of the to-be-decoded sub-node, and the specific decoding process will be described below.
[0170] In some embodiments, the point cloud data decoding method includes the following steps:
[0171] Step 201, obtaining target decoding data of a to-be-decoded sub-node in point cloud data.
[0172] In some embodiments, since the point cloud data is often very large, direct transmission may cause high storage space requirements, long transmission time, and low processing efficiency. Therefore, in order to facilitate transmission, the to-be-decoded sub-node in the point cloud data can be obtained, and the placeholder information of the to-be-decoded sub-node can be decoded to effectively reduce the storage space of the point cloud data and improve the transmission efficiency of the point cloud data.
[0173] The point cloud data can be a set composed of multiple points in a three-dimensional space, and each point cloud data contains coordinate information (such as x, y, z) and possible other attribute information. The specific coordinate information and attribute information can be collected by devices such as laser radars and used in various application fields, such as indoor scene analysis, topographic surveying, building planning, industrial production, and autonomous driving. The point cloud data is processed and compressed during the decoding process to reduce the storage space or transmission bandwidth requirements.
[0174] The to-be-decoded sub-node can be a node that needs to be decoded and processed in the point cloud data.
[0175] The target decoding data is target encoding data obtained after being encoded by the second context probability model. During decoding, the target encoding data is taken as the target decoding data, and is decoded by the selected second context probability model.
[0176] For example, the quadtree or binary tree partitioning method can be used to obtain a plurality of to-be-decoded sub-nodes. Taking octree partitioning as an example, before the point cloud data is octree-partitioned, coordinate conversion needs to be performed on the geometric information of the point cloud data, so that the point cloud data is all contained in a bounding box. Then, quantization is performed. This step of quantization mainly plays a role of scaling. Due to the rounding, the geometric information of a part of points is the same. Whether to remove the duplicate points is determined according to parameters. The quantization and removal of duplicate points are also called the voxelization process. Thus, a plurality of to-be-decoded sub-nodes can be obtained. The specific process of coordinate conversion and voxelization is not described in detail here.
[0177] In some embodiments, the to-be-decoded sub-nodes can also be obtained based on other methods, which are not specifically limited here.
[0178] In the above manner, the to-be-decoded sub-nodes in the point cloud data can be obtained, so as to facilitate subsequent acquisition of the prediction decoding state of the to-be-decoded sub-nodes.
[0179] In step 202, a prediction decoding state of the to-be-decoded sub-nodes is obtained. The prediction decoding state includes an inter-frame decoding state and an intra-frame decoding state.
[0180] In some embodiments, in order to determine the prediction decoding state of the to-be-decoded sub-nodes, so as to facilitate subsequent determination of the corresponding second context probability model according to the prediction decoding state, the prediction decoding state of the to-be-decoded sub-nodes can be obtained by obtaining an enabling identifier corresponding to a to-be-decoded frame in which the to-be-decoded sub-nodes are located, so as to accurately determine whether the inter-frame prediction is enabled for the to-be-decoded frame in which the to-be-decoded sub-nodes are located.
[0181] Specifically, the enabling identifier corresponding to the to-be-decoded frame in which the to-be-decoded sub-nodes are located can be obtained, and the prediction decoding state of the to-be-decoded sub-nodes is determined based on the enabling identifier.
[0182] The to-be-decoded frame can be a frame in which the to-be-decoded sub-nodes are located. Specifically, the point cloud data can be organized into a series of frames, and each frame contains a series of nodes.
[0183] The enable identifier can be an indicator indicating whether the inter prediction is enabled for the to-be-decoded frame. In the point cloud data, the inter prediction generally refers to predicting the content of the current frame by using the information of the previous frame, thereby reducing the amount of data to be decoded. The value of the enable identifier (gbh.interPredictionEnabledFlag) can be directly obtained, and specifically can be 0 or 1, where 0 indicates that the inter prediction is disabled, and 1 indicates that the inter prediction is enabled.
[0184] The prediction decoding state can be an inter-frame opening state of the to-be-decoded frame. The prediction decoding state can include an intra-frame decoding state and an inter-frame decoding state.
[0185] Specifically, when the enable identifier corresponding to the to-be-decoded frame is 1, it indicates that the to-be-decoded frame enables the inter prediction, and the prediction decoding state of the to-be-decoded frame is the inter-frame decoding state; when the enable identifier corresponding to the to-be-decoded frame is 0, it indicates that the to-be-decoded frame disables the inter prediction, and the prediction decoding state of the to-be-decoded frame is the intra-frame decoding state.
[0186] By obtaining the enable identifier to determine the prediction decoding state of the to-be-decoded sub-node, different decoding strategies can be adopted according to different prediction decoding states in the subsequent process, thereby improving the decoding efficiency and quality.
[0187] In step 203, a second context probability model corresponding to the to-be-decoded sub-node is determined based on the prediction decoding state.
[0188] In some embodiments, in order to adapt to different decoding requirements, the corresponding second context probability model can be determined from the second context probability model group according to the prediction decoding state, so as to dynamically adjust the decoding strategy according to the characteristics of the data, thereby improving the accuracy of decoding the to-be-decoded sub-node of the point cloud data.
[0189] The second context probability model group can be a set of context probability models, which are used to process and decode different types of data.
[0190] The second context probability model can be a probability model used to decode binary data, which is used to decode the occupancy information of the to-be-decoded sub-node.
[0191] It can be understood that the intra-frame decoding only processes a single frame, which is suitable for the case where the scene changes sharply or random access is required, while the inter-frame decoding utilizes the similarity between frames for compression, which significantly improves the compression ratio but also increases the decoding complexity. Therefore, the corresponding context probability model can be selected according to the prediction decoding state of different frames, so as to find a balance between compression efficiency and decoding complexity.
[0192] Further, in the image or video frame, the information amount and the change degree of different regions are different, for example, the sky, large-area single-color background and other regions change little, and a simple context probability model can be used; while the moving object, the region rich in details needs a complex context probability model. Therefore, according to the local sparse information to determine the context probability model, the decoding efficiency can be improved under the premise of ensuring the decoding quality.
[0193] By determining the corresponding context probability model according to the predicted occupancy information, the division boundary of the second context probability model corresponding to different information can be determined, so that the context probability model can effectively distinguish the subtle differences between the decoding states of adjacent frames and perform decoding, thereby improving the accuracy of decoding the to-be-decoded sub-node of the point cloud data.
[0194] In some embodiments, in order to improve the efficiency and accuracy of decoding, part or all of the local sparse information, the predicted occupancy information and the predicted decoding state of the to-be-decoded sub-node can be obtained, and the corresponding first context state model is determined accordingly. For example, step 203 can determine the second context probability model corresponding to the to-be-decoded sub-node by one of the following embodiments:
[0195] (E.1) obtaining the local sparse information of the to-be-decoded sub-node; determining the corresponding second context probability model from the second context probability model group based on the predicted decoding state and the local sparse information;
[0196] (E.2) or, predicting the predicted occupancy information of the to-be-decoded sub-node according to the predicted decoding state; determining the corresponding second context probability model from the second context probability model group based on the predicted decoding state and the predicted occupancy information:
[0197] (E.3) or, obtaining the local sparse information of the to-be-decoded sub-node; predicting the predicted occupancy information of the to-be-decoded sub-node according to the predicted decoding state; determining the corresponding second context probability model from the second context probability model group based on at least two parameters of the predicted decoding state, the local sparse information and the predicted occupancy information.
[0198] Wherein, the local sparse information can be the point cloud density around the to-be-decoded sub-node. If the number of occupied nodes of the adjacent node is large, it indicates that the region around the to-be-decoded sub-node is relatively dense, and vice versa.
[0199] Wherein, the predicted occupancy information can be a predicted value of the occupancy state of the to-be-decoded sub-node based on the predicted decoding state. The predicted occupancy information can be represented in the form of binary code (0 or 1), wherein 1 indicates that the to-be-decoded sub-node is occupied by a point, and 0 indicates that the to-be-decoded sub-node is not occupied by a point.
[0200] In some embodiments, the local sparse information of the to-be-decoded child node can be determined by obtaining a plurality of decoded neighboring nodes of the to-be-decoded child node pre-order, determining the first occupancy information of each neighboring node, calculating the occupancy number of the plurality of decoded neighboring nodes, and comparing the occupancy number with a preset occupancy number threshold. When the occupancy number is greater than or equal to the occupancy number threshold, it can be determined that the local sparse information of the to-be-decoded child node is sparse; when the occupancy number is less than the occupancy number threshold, it can be determined that the local sparse information of the to-be-decoded child node is non-sparse.
[0201] In some embodiments, the prediction occupancy information of the to-be-decoded child node can be obtained by obtaining a to-be-decoded frame in which the to-be-decoded child node is located, determining at least one reference frame from the decoded neighboring frames in the decoding order, and determining a reference child node with the same spatial position and size as the to-be-decoded child node from the reference frame, and then predicting the prediction occupancy information of the to-be-decoded child node through the second occupancy information of the reference child node. Specifically, when the second occupancy information is occupancy, the prediction occupancy information of the to-be-decoded child node is also occupancy; when the second occupancy information is non-occupancy, the prediction occupancy information of the to-be-decoded child node is also non-occupancy.
[0202] Specifically, the corresponding second context probability model can be determined based on the prediction decoding state and the local sparse information, or based on the prediction decoding state and the prediction occupancy information, or based on at least two of the prediction decoding state, the local sparse information and the prediction occupancy information, or based only on the prediction decoding state.
[0203] Further, in order to ensure that the boundary between the second context probability model using inter-frame information and the second context probability model not using inter-frame information is more clear, the prediction decoding state is required to determine the second context probability model, and the local sparse information and the prediction occupancy information are used to further select a more accurate second context probability model for the to-be-decoded child node to improve the efficiency and accuracy of decoding the occupancy information of the to-be-decoded child node.
[0204] In some embodiments, in order to more efficiently and accurately determine the second context probability model for decoding the occupancy information of the to-be-decoded child node, the category of the context state tree of the to-be-decoded child node can be determined first, so as to effectively utilize the context state tree to quickly determine the second context probability model most suitable for decoding the occupancy information of the current to-be-decoded child node, thereby improving the efficiency and accuracy of decoding. For example, for the above-mentioned several cases of determining the corresponding second context probability model of the to-be-decoded child node, the method further includes the following steps:
[0205] (F1) determining at least one of the prediction decoding state and the local sparse information as the first classification information, and taking other information in the prediction decoding state and the local sparse information other than the first classification information as the second classification information; or determining at least one of the prediction decoding state and the prediction placeholder information as the first classification information, and taking other information in the prediction decoding state and the prediction placeholder information other than the first classification information as the second classification information; or determining at least one of the prediction decoding state, the local sparse information and the prediction placeholder information as the first classification information, and taking other information in the prediction decoding state, the local sparse information and the prediction placeholder information other than the first classification information as the second classification information;
[0206] (F2) determining, according to the first classification information, a context state tree category of a context state tree corresponding to the to-be-decoded sub-node;
[0207] (F3) mapping in a second context probability model group according to the context state tree category and the second classification information to determine a corresponding second context probability model.
[0208] The context state tree can be constructed by the placeholder information of the decoded adjacent nodes adjacent to the to-be-decoded sub-node. For example, each adjacent node corresponds to a placeholder information, such as the placeholder information of node B is 101, the placeholder information of node C is 011, and the placeholder information of node D is 110. The placeholder information of the adjacent nodes is combined into a context state tree, and 101, 011 and 110 can be obtained. Further, the context state tree can also include the position information of each adjacent node.
[0209] The context state tree category can be a specific state reflecting the to-be-decoded sub-node, and the context state tree can include the prediction decoding state, the local sparse information and the prediction placeholder information of the to-be-decoded sub-node, and the like. For example, the context state tree can be an inter-frame sparse context state tree, a sparse context state tree, an inter-frame context state tree, and the like, which is determined according to the selected first classification information.
[0210] The first classification information can be information used to determine the context state tree category of the context state tree corresponding to the to-be-decoded sub-node, and can be used to determine the second context probability model group.
[0211] The second classification information can be information used to determine the second context probability model corresponding to the to-be-decoded sub-node. The first classification information and the second classification information are selected from the prediction decoding state, the local sparse information and the prediction placeholder information.
[0212] For example, the context state tree category of the context state tree corresponding to the to-be-decoded subnode can be determined first, and then the corresponding second context probability model group is determined according to the category of the context state tree and the second classification information. Then, the subnode occupancy probability of the to-be-decoded subnode is determined according to the context state tree corresponding to the to-be-decoded subnode. Then, the second context probability model is determined from the second context probability model group based on the subnode occupancy probability.
[0213] In some embodiments, the corresponding context state tree category can be determined by predicting part or all of the decoding state, the occupancy information and the local sparse information, and the corresponding second context probability model group is determined according to the context state tree category. Then, the second context probability model is further determined from the determined second context probability model group according to the subnode occupancy probability of the to-be-decoded subnode.
[0214] Further, the prediction decoding state includes an intra-decoding state and an inter-decoding state; the local sparse information includes sparse and non-sparse; and the prediction occupancy information includes occupancy and non-occupancy.
[0215] For example, when the first classification information is the prediction decoding state and the second classification information is the local sparse information, the corresponding context state tree category (such as an inter-decoding context state) can be determined based on the prediction decoding state, and the corresponding second context probability model group is determined based on the local sparse information and the context state tree category. Then, the subnode occupancy probability of the to-be-decoded subnode is determined according to the context state tree corresponding to the to-be-decoded subnode, and the second context probability model is determined from the second context probability model group based on the subnode occupancy probability. When the first classification information is the local sparse information and the second classification information is the prediction decoding state, the corresponding context state tree category can be determined based on the local sparse information, and the corresponding second context probability model group is determined based on the prediction decoding state and the context state tree category. Then, the subnode occupancy probability of the to-be-decoded subnode is determined according to the context state tree corresponding to the to-be-decoded subnode, and the second context probability model is determined from the second context probability model group based on the subnode occupancy probability.
[0216] Exemplarily, the description is expanded for the case where the corresponding second context probability model is determined from the second context probability model group based on the predicted decoding state and the predicted placeholder information. For example, when the first classification information is the predicted decoding state and the second classification information is the predicted placeholder information, the corresponding context state tree category can be determined based on the predicted decoding state, and the corresponding second context probability model group can be determined based on the predicted placeholder information and the context state tree. Thereafter, the sub-node occupancy probability of the sub-node to be decoded is determined according to the context state tree corresponding to the sub-node to be decoded, and the second context probability model is determined from the second context probability model group based on the sub-node occupancy probability. When the first classification information is the predicted placeholder information and the second classification information is the predicted decoding state, the corresponding context state tree category can be determined based on the predicted placeholder information, and the second context probability model group can be determined based on the predicted decoding state and the context state tree category. Thereafter, the sub-node occupancy probability of the sub-node to be decoded is determined according to the context state tree corresponding to the sub-node to be decoded, and the second context probability model is determined from the second context probability model group based on the sub-node occupancy probability.
[0217] For example, when the first classification information is the prediction decoding state, the second classification information is the local sparsity and the prediction occupancy information, the corresponding context state tree category can be determined based on the prediction decoding state, and the second context probability model group can be determined based on the context state tree category, the local sparsity and the prediction occupancy information. Then, the sub-node occupancy probability of the to-be-decoded sub-node can be determined according to the context state tree corresponding to the to-be-decoded sub-node, and the second context probability model can be determined from the second context probability model group based on the sub-node occupancy probability. When the first classification information is the prediction decoding state and the local sparsity, and the second classification information is the prediction occupancy information, the corresponding context state tree category can be determined based on the prediction decoding state and the local sparsity, and the second context probability model group can be determined based on the prediction occupancy information and the context state tree category. Then, the sub-node occupancy probability of the to-be-decoded sub-node can be determined according to the context state tree corresponding to the to-be-decoded sub-node, and the second context probability model can be determined from the second context probability model group based on the sub-node occupancy probability. It can be understood that any two of the prediction decoding state, the local sparsity and the prediction occupancy information can be determined as the first classification information, and the remaining one information can be determined as the second classification information. Any one of the prediction decoding state, the local sparsity and the prediction occupancy information can be determined as the first classification information, and the remaining two information can be determined as the second classification information. The prediction decoding state, the local sparsity and the prediction occupancy information can all be determined as the first classification information, the corresponding context state tree category can be directly determined, and the second context probability model can be directly mapped to the specific second context probability model without selecting the second classification information. The prediction decoding state, the local sparsity and the prediction occupancy information can all be determined as the second classification information, and the second context probability model can be directly mapped to the specific second context probability model without selecting the first classification information. The specific combination mode is not listed one by one here, as long as the combination mode does not deviate from the concept of the present application, it can be regarded as the technical solution of the present application.
[0218] In some embodiments, when the prediction decoding state is the intra decoding state, the prediction occupancy information of the to-be-decoded sub-node does not need to be predicted, and the prediction occupancy information is all set to 0. When the prediction decoding state is the inter decoding state, the prediction occupancy information of the to-be-decoded sub-node is predicted, and the prediction occupancy information can be 0 or 1. The occupancy information of the to-be-decoded sub-node with different prediction occupancy information is mapped to different second context probability models.
[0219] By determining the context state tree category of the to-be-decoded sub-node, the selection efficiency of the second context probability model can be improved, and the efficiency of decoding the occupancy information of the to-be-decoded sub-node can be improved.
[0220] In some embodiments, since the occupancy state of the to-be-decoded child node in the point cloud data is not completely independent, but is affected by the state of the surrounding nodes, in order to more accurately predict the local sparse information of the to-be-decoded child node, the first occupancy information of the decoded adjacent nodes can be used to predict the local sparse information of the to-be-decoded child node, so as to improve the decoding efficiency and reconstruction quality. For example, in the enumeration of the second context probability model corresponding to the to-be-decoded child node, (E.1) and (E.3) mentioned “obtaining the local sparse information of the to-be-decoded child node” can include:
[0221] (G1) determining a plurality of decoded adjacent nodes located in the sequence of the to-be-decoded child node;
[0222] (G2) determining the number of occupancy of the plurality of decoded adjacent nodes based on the first occupancy information of the plurality of decoded adjacent nodes;
[0223] (G3) comparing the number of occupancy with a preset occupancy number threshold to determine the local sparse information of the to-be-decoded child node.
[0224] Wherein, the adjacent node can be a node adjacent to the to-be-decoded child node in space. Specifically, it can be a node sharing a common edge or a common face with the to-be-decoded child node. Further, the adjacent node can be used to predict the state of the to-be-decoded child node to improve the decoding efficiency.
[0225] Wherein, the first occupancy information can be the occupancy state information of the adjacent node adjacent to the to-be-decoded child node in space. In the point cloud data, the occupancy state of the node is usually represented in the form of binary code (0 or 1), wherein 1 represents that the node is occupied by a point, and 0 represents that the node is not occupied by a point. Since the adjacent node has been decoded, the first occupancy information of the adjacent node can be directly obtained.
[0226] Wherein, the number of occupancy can be the sum of the occupancy state information of the plurality of decoded adjacent nodes adjacent to the to-be-decoded child node. In the point cloud data, the occupancy state of the node is usually represented in the form of binary code (0 or 1), wherein 1 represents that the node is occupied by a point, and 0 represents that the node is not occupied by a point. The number of occupancy is obtained by adding the occupancy states of the plurality of adjacent nodes, and is used to reflect whether the space region around the to-be-decoded child node is sparse.
[0227] Wherein, the occupancy threshold can be a preset value for distinguishing the local sparse information of the to-be-decoded child node. The occupancy threshold can be set according to the actual situation, for example, it can be set to 1, 2, 3, etc.
[0228] The local sparse information can be the point cloud density around the to-be-decoded child node. If the number of the occupied neighboring nodes is large, it indicates that the area around the to-be-decoded child node is dense, and vice versa.
[0229] For example, starting from the to-be-decoded child node, a preset number of neighboring nodes can be selected in the negative direction of x, y and z adjacent to the to-be-decoded child node, that is, in the direction of the already-decoded nodes in the to-be-decoded child node's predecessor. Specifically, the preset number can be set according to actual conditions, for example, it can be 12, 15, etc.
[0230] For example, the number of occupied positions can be compared with a preset threshold of the number of occupied positions, and the local sparse information of the to-be-decoded child node can be determined according to the comparison result.
[0231] For example, if the to-be-decoded child node is adjacent to 12 neighboring nodes, the neighboring nodes have been decoded, and therefore the occupancy information (whether occupied by a point) can be directly obtained. Further, the number of occupied positions of the 12 neighboring nodes can be calculated. For example, if the occupancy information of the 12 neighboring nodes is 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0 respectively, then the number of occupied positions is 1+0+0+1+0+1+0+1+0+1+0+0=5.
[0232] Further, if the threshold of the number of occupied positions is 1, the calculated number of occupied positions 5 is compared with the threshold 1. Since 5 is greater than 1, the comparison result is "greater than the threshold", and therefore it can be determined that the local sparse information of the to-be-decoded child node is non-sparse. The non-sparse local sparse information means that the space area around the to-be-decoded child node is relatively dense, and therefore a more efficient decoding strategy can be selected during decoding to reduce redundant information.
[0233] For example, if the first occupancy information indicates that the number of occupied neighboring nodes is large, the local sparse information of the to-be-decoded child node is non-sparse; if the first occupancy information indicates that the number of occupied neighboring nodes is small, the local sparse information of the to-be-decoded child node is sparse. The threshold of the number of occupied positions or the proportion of occupied positions can be set to determine this. For example, the threshold of the number of occupied positions can be set to 1, and when the first occupancy information indicates that the number of occupied neighboring nodes is greater than 1, it is determined that the local sparse information of the to-be-decoded child node is non-sparse, and vice versa.
[0234] In the above manner, the to-be-decoded child node and a plurality of already-decoded neighboring nodes located in the to-be-decoded child node's predecessor can be obtained, and by using the first occupancy information of the already-decoded neighboring nodes, further by setting the threshold of the number of occupied positions and comparing the number of occupied positions with the threshold, the determination of the local sparse information can be more explicit and operable, and the efficiency and accuracy of decoding can be improved.
[0235] In some embodiments, to facilitate the subsequent use of different decoding strategies based on different predicted placeholder information, the placeholder information of the subnode to be decoded can be predicted using the second placeholder information of the reference subnode located in at least one reference frame preceding the frame to be decoded, thereby improving decoding efficiency and accuracy. For example, in the enumeration of the second context probability model corresponding to the subnode to be decoded, the "predicted placeholder information of the subnode to be decoded based on the predicted decoding state" mentioned in (E.2) and (E.3) includes:
[0236] (H1) obtaining a frame to be decoded where the sub-node to be decoded is located, and determining at least one reference frame from decoded adjacent frames in a decoding order;
[0237] (H2) determining a reference subnode having the same spatial position and size as the subnode of the subnode to be decoded from the reference frame;
[0238] (H3) Acquire reference placeholder information of the reference child node as second placeholder information, and use the second placeholder information as predicted placeholder information of the child node to be decoded.
[0239] The reference frame may be an adjacent frame that precedes the frame to be decoded in the decoding order. The reference frame may be used to predict the occupancy status of the sub-node to be decoded in the current frame to be decoded.
[0240] The spatial position of the subnode may be the corresponding spatial position of the subnode to be decoded in the reference frame. For example, if the subnode to be decoded is located at the upper left corner in the frame to be decoded, then its position in the reference frame is also the position corresponding to the upper left corner.
[0241] The same subnode size indicates that the two nodes have the same occupied space. For example, if the reference subnode and the to-be-decoded subnode have the same subnode size, then the reference subnode and the to-be-decoded subnode have the same occupied space.
[0242] The reference sub-node may be a node having the highest similarity with the current sub-node to be decoded in the reference frame.
[0243] The second placeholder information may be the placeholder information of the reference sub-node having the highest similarity with the current sub-node to be decoded in the reference frame.
[0244] It is understood that the inter-frame decoding state can be the state in which inter-frame prediction decoding is enabled for the current frame to be decoded. Since there is no placeholder information for the sub-node to be decoded when the prediction decoding state is the intra-frame decoding state, it is only necessary to predict the placeholder state of the sub-node to be decoded in the inter-frame decoding state.
[0245] Specifically, since the motion of the object is continuous between the continuous frames, it means that the to-be-decoded sub-node in the current to-be-decoded frame usually also has a corresponding position and state in the last frame (reference frame), and thus the prediction occupancy information of the to-be-decoded sub-node can be predicted by the second occupancy information of the reference sub-node of the reference frame.
[0246] In some embodiments, the reference sub-node can be determined according to the position. At this time, the reference sub-node can be a node having the same position and the same sub-node size as the current to-be-decoded sub-node in the reference frame, and the second occupancy information can be the occupancy information of the reference sub-node having the same position as the current to-be-decoded sub-node in the reference frame.
[0247] In some embodiments, it can also be assumed that the to-be-decoded sub-node is located in frame F1, and in order to predict the occupancy information of the to-be-decoded sub-node in frame F1, a reference frame located in the sequence before frame F1 can be selected. For example, frame F0 can be selected as the reference frame. Further, in the reference frame F0, a node having the highest similarity to the to-be-decoded sub-node in frame F1 can be determined as the reference sub-node, and the second occupancy information of the reference sub-node can be obtained, and the second occupancy information can be taken as the prediction occupancy information of the to-be-decoded sub-node. For example, if the second occupancy information is 0, then the prediction occupancy information is also 0.
[0248] For example, according to the decoding order, the following arrangement can be obtained: adjacent frame 1, adjacent frame 2, adjacent frame 3, adjacent frame 4, to-be-decoded frame 1, adjacent frame 5, adjacent frame 6. Thus, the adjacent frames located in the sequence before the to-be-decoded frame can be determined as adjacent frame 1, adjacent frame 2, adjacent frame 3, and adjacent frame 4. If the number of selected reference frames is 1, the reference frame can be determined according to the nearest selection principle, and specifically, adjacent frame 4 can be determined as the reference frame. Similarly, if the number of selected reference frames is 2, adjacent frame 3 and adjacent frame 4 can be determined as the reference frames.
[0249] Further, if there are multiple selected reference frames, but the second occupancy information of the reference sub-nodes corresponding to different reference frames is different, then the second occupancy information with the highest frequency of occurrence can be selected as the prediction occupancy information. For example, if there are three selected reference frames, and the corresponding second occupancy information is 1, 1, and 0, then 1 can be selected as the prediction occupancy information.
[0250] By predicting the prediction occupancy information of the to-be-decoded sub-node through the second occupancy information of the reference sub-node of the reference frame, the state of the current to-be-decoded sub-node can be more accurately predicted and decoded, thereby improving the efficiency and accuracy of decoding.
[0251] At step 204, the target decoding data of the to-be-decoded child node is decoded by the second context probability model to obtain the occupancy information of the to-be-decoded child node.
[0252] In some embodiments, in the geometric decoding framework of the point cloud data, decoding the to-be-decoded child node mainly includes decoding the occupancy information, also referred to as occupancy code, of the to-be-decoded child node. Decoding the occupancy information of the to-be-decoded child node can realize data compression and improve the efficiency of storage and transmission.
[0253] The target decoding data can be data obtained by compressing and decoding the occupancy information of the to-be-decoded child node.
[0254] Specifically, the sub-node occupancy probability of the occupancy information of the to-be-decoded child node can be determined based on the context state tree in which the to-be-decoded child node is located. Then, a specific second context probability model is determined from the second context probability model group based on the sub-node occupancy probability and the second classification information, and the occupancy information is decoded according to the second context probability model to obtain the target decoding data of the occupancy information.
[0255] For example, according to the predicted decoding state and the local sparse information, it can be determined that the context state tree category corresponding to the to-be-decoded child node is an inter-frame non-sparse state. Then, according to the context state tree category and the node occupancy information (for example, the node occupancy information is occupied), the second context probability model group A is determined, which includes the second context probability model a1, the second context probability model a2, the second context probability model a3 and the second context probability model a4. Further, if it is determined that the sub-node occupancy probability of the to-be-decoded child node is high, the second context probability model a1 can be determined as the second context probability model for decoding the occupancy information of the to-be-decoded child node according to the sub-node occupancy probability, and the occupancy information of the to-be-decoded child node is decoded by the second context probability model a1.
[0256] The sub-node occupancy probability can be the probability of the occupancy state of the to-be-decoded child node. If most of the neighboring nodes of the to-be-decoded child node are occupied by points, the occupancy probability of the to-be-decoded child node can be high. If most of the neighboring nodes are not occupied by points, the occupancy probability of the to-be-decoded child node can be low.
[0257] For example, according to the context state tree in which the to-be-decoded child node is located, it can be determined that each neighboring node has an occupied or unoccupied state, and the occupied states of all neighboring nodes are combined to form a binary number. Based on the distribution information of the binary number, the sub-node occupancy probability of the to-be-decoded child node is determined. For example, the context state tree can be represented as a binary number 101101.
[0258] By decoding the placeholder information of the to-be-decoded sub-node through the second context probability model, data compression can be realized, storage and transmission efficiency can be improved, data processing speed can be accelerated, data representation can be simplified, and data recovery accuracy can be improved.
[0259] In the embodiment of the application, target decoding data of a to-be-decoded sub-node in point cloud data is obtained, a predicted decoding state of the to-be-decoded sub-node is obtained, the predicted decoding state includes an inter-frame decoding state and an intra-frame decoding state, a first context probability model corresponding to the to-be-decoded sub-node is determined based on the predicted decoding state, and placeholder information of the to-be-decoded sub-node is decoded through the first context probability model to obtain target decoding data of the placeholder information. In this way, the corresponding first context probability model can be determined according to different predicted decoding states, the partition boundaries of the first context probability model corresponding to different information are clear, the context probability model can effectively distinguish the subtle differences between decoding states of adjacent frames and perform decoding, and the accuracy of decoding the to-be-decoded sub-node of the point cloud data is improved.
[0260] Please refer to Figure 4 and Figure 5 , Figure 4 For encoding the placeholder information of the to-be-encoded sub-node and obtaining the target encoding data of the to-be-encoded sub-node, Figure 5 For decoding the target encoding data of the to-be-encoded sub-node and obtaining the target placeholder information corresponding to the target encoding data.
[0261] Please refer to Figure 4 For example, in the encoding process, the context state tree has the following classification: intra-frame non-sparse context state tree, intra-frame sparse context state tree, inter-frame non-sparse context state tree, inter-frame sparse context state tree, and the like. In actual application, the context state tree category can be determined based on any one of the local sparse information, the predicted placeholder information, and the predicted decoding state.
[0262] Specifically, the context state tree category can be determined according to the first classification information, the first context probability model group can be determined according to the context state tree category and the second classification information, then the sub-node occupancy probability corresponding to the to-be-encoded sub-node is determined based on the context state tree corresponding to the to-be-encoded sub-node, and finally the context probability model, such as the first context probability model 1, is determined from the first context probability model group according to the sub-node occupancy probability. The first classification information and the second classification information are determined based on the predicted encoding state, the predicted placeholder information, and the local sparse information of the to-be-encoded sub-node.
[0263] Please refer to Figure 5For example, in the decoding process, the context state tree has the following categories: intra non-sparse context state tree, intra sparse context state tree, inter non-sparse context state tree, inter sparse context state tree, and the like. In actual application, the context state tree category can be determined based on any one of the local sparse information, the prediction placeholder information, and the prediction decoding state.
[0264] Specifically, the context state tree category can be determined according to the first classification information, and the second context probability model group can be determined according to the context state tree category and the second classification information. Then, the sub-node occupancy probability corresponding to the to-be-decoded sub-node is determined based on the context state tree corresponding to the to-be-decoded sub-node, and finally, the context probability model, such as the second context probability model 1, is determined from the second context probability model group according to the sub-node occupancy probability. The first classification information and the second classification information are determined based on the prediction decoding state, the prediction placeholder information, and the local sparse information of the to-be-decoded sub-node.
[0265] Referring to Figure 6 The embodiment of the present application also provides a point cloud data encoding device, which can implement the point cloud data encoding method. The point cloud data encoding device comprises:
[0266] The first acquisition module 61 is configured to acquire a to-be-encoded sub-node in the point cloud data.
[0267] The second acquisition module 62 is configured to acquire a prediction encoding state of the to-be-encoded sub-node. The prediction encoding state comprises an inter encoding state and an intra encoding state.
[0268] The first determination module 63 is configured to determine a first context probability model corresponding to the to-be-encoded sub-node based on the prediction encoding state.
[0269] The encoding module 64 is configured to encode the placeholder information of the to-be-encoded sub-node by using the first context probability model, to obtain target encoding data of the placeholder information.
[0270] The specific implementation of the point cloud data encoding device is basically the same as that of the above-described point cloud data encoding method, and will not be described here again. The point cloud data encoding device can also be provided with other functional modules to implement the point cloud data encoding method in the above-described embodiments, as long as the requirements of the embodiments of the present application are met.
[0271] Referring to Figure 7 The embodiment of the present application also provides a point cloud data decoding device, which can implement the point cloud data decoding method. The point cloud data decoding device comprises:
[0272] The third acquisition module 71 is configured to acquire target decoding data of a to-be-decoded sub-node in the point cloud data.
[0273] The fourth obtaining module 72 is configured to obtain a prediction decoding state of the to-be-decoded sub-node; the prediction decoding state comprises an inter-frame decoding state and an intra-frame decoding state;
[0274] The second determining module 73 is configured to determine a first context probability model corresponding to the to-be-decoded sub-node based on the prediction decoding state;
[0275] The decoding module 74 is configured to decode target decoding data of the to-be-decoded sub-node by using the first context probability model, to obtain placeholder information of the to-be-decoded sub-node.
[0276] The specific implementation of the point cloud data decoding apparatus is basically the same as that of the point cloud data decoding method described above, and will not be repeated here. The point cloud data decoding apparatus can also be provided with other functional modules to realize the point cloud data decoding method in the above embodiments, as long as the requirements of the embodiments of the present application are met.
[0277] The embodiments of the present application also provide a computer device, which comprises a memory and a processor. The memory stores a computer program, and the processor executes the computer program to realize the point cloud data encoding and decoding method described above. The computer device can be any intelligent terminal, such as a tablet computer or a vehicle-mounted computer.
[0278] Please refer to Figure 8 , Figure 8 The hardware structure of the computer device of another embodiment is illustrated, which comprises:
[0279] The processor 81 can be implemented in the form of a general-purpose CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, and is used to execute related programs to realize the technical solutions provided by the embodiments of the present application.
[0280] The memory 82 can be implemented in the form of a ROM (Read Only Memory), a static storage device, a dynamic storage device, or a RAM (Random Access Memory). The memory 82 can store an operating system and other application programs. When the technical solutions provided by the embodiments of the present application are implemented by software or firmware, the related program codes are stored in the memory 82 and are called and executed by the processor 81 to realize the point cloud data encoding and decoding method of the embodiments of the present application.
[0281] The input / output interface 83 is used to realize information input and output.
[0282] The communication interface 84 is configured to realize the communication interaction between the device and other devices. The communication can be realized through a wired manner (for example, a USB, a network cable, and the like) or a wireless manner (for example, a mobile network, a WI-FI, a Bluetooth, and the like).
[0283] The bus 85 is configured to transmit information between various components (for example, the processor 81, the memory 82, the input / output interface 83, and the communication interface 84) of the device.
[0284] The processor 81, the memory 82, the input / output interface 83, and the communication interface 84 are connected to each other through the bus 85 to realize the communication connection between the device.
[0285] The computer readable storage medium provided in the embodiment of the present application stores the computer program, and the computer program is executed by the processor to realize the point cloud data coding and decoding method.
[0286] The memory is a non-transitory computer readable storage medium, and can be used to store a non-transitory software program and a non-transitory computer executable program. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, for example, at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory remotely arranged relative to the processor, and the remote memory can be connected to the processor through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0287] The embodiments described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0288] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and can include more or fewer steps than the figures, or combine certain steps, or different steps.
[0289] The device embodiments described above are only schematic, and the units described as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. According to actual needs, part or all of the modules can be selected to realize the purpose of the embodiments of the present application.
[0290] Those skilled in the art can understand that all or some of the steps in the method disclosed above, the function modules / units in the system and the device can be implemented as software, firmware, hardware or appropriate combination thereof.
[0291] The terms "first", "second", "third", "fourth" and the like in the description of the application and in the claims hereof, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed herein is to be interpreted to only cover the embodiments of the application described herein and not a prior art. Moreover, the use of the terms "first", "second", "third", "fourth", and / or the like, to describe a variety of elements / parameters / operators does not imply that the combination of the elements / parameters / operators are limited by the nomenclature thus designated. It is also to be understood that the terms so used are interchangeable under appropriate circumstances and are to be interpreted in the context of the several embodiments.
[0292] It should be understood that, in the present application, "at least one" and "several" refer to one or more, and "multiple" refers to two or more. "And / or" is used to describe the relationship between the associated objects, which means that there can be three relationships, for example, "A and / or B" can represent three cases: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b or c can mean a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be singular or plural.
[0293] In several embodiments provided in the present application, it should be understood that the disclosed system and method can be implemented in other ways. For example, the above-described system embodiments are only illustrative, for example, the division of the above-mentioned units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0294] The units described as separate components above can or can not be physically separate, and the components shown as units can or can not be physical units, that is, can be located in one place, or can be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0295] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0296] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application, essentially or the part that contributes to the prior art, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, including multiple instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program storage media.
[0297] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and the scope of the rights of the embodiments of the present application is not limited thereto. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the rights of the embodiments of the present application.
Claims
1. A point cloud data encoding method, characterized in that: The method comprises: Get the sub-nodes to be encoded in the point cloud data; Obtaining a predicted coding state of the to-be-coded subnode; wherein the predicted coding state includes an inter-frame coding state and an intra-frame coding state; Determining a first context probability model corresponding to the to-be-encoded sub-node based on the predicted coding state; The placeholder information of the to-be-encoded child node is encoded using the first context probability model to obtain target encoding data of the placeholder information.
2. The point cloud data encoding method according to claim 1, characterized in that: The determining, based on the predicted coding state, a first context probability model corresponding to the to-be-encoded sub-node includes: Obtaining local sparse information of the to-be-encoded subnode; determining a corresponding first context probability model from a first context probability model group based on the predictive coding state and the local sparse information; Alternatively, according to the predicted coding state, predicted placeholder information of the to-be-coded subnode is predicted; based on the predicted coding state and the predicted placeholder information, a corresponding first context probability model is determined from a first context probability model group: Or, obtain local sparse information of the sub-node to be encoded; predict the predicted placeholder information of the sub-node to be encoded based on the predicted coding state; determine the corresponding first context probability model from the first context probability model group based on at least two parameters of the predicted coding state, the local sparse information and the predicted placeholder information.
3. The point cloud data encoding method according to claim 2, characterized in that: The method further comprises: Determine at least one of the predicted coding state and the local sparse information as first category information, and use other information in the predicted coding state and the local sparse information other than the first category information as second category information; or, determine at least one of the predicted coding state and the predicted placeholder information as first category information, and use other information in the predicted coding state and the predicted placeholder information other than the first category information as second category information; or, determine at least one of the predicted coding state, the local sparse information, and the predicted placeholder information as first category information, and use other information in the predicted coding state, the local sparse information, and the predicted placeholder information other than the first category information as second category information; Determining, according to the first classification information, a context state tree category of the context state tree corresponding to the to-be-encoded sub-node; Mapping is performed in the first context probability model group according to the context state tree category and the second classification information to determine a corresponding first context probability model.
4. The point cloud data encoding method according to claim 2, characterized in that: The obtaining of the local sparse information of the to-be-encoded sub-node includes: Determine, in coding order, a plurality of encoded adjacent nodes that precede the child node to be encoded; Determining the number of occupied places of the plurality of encoded adjacent nodes based on the first occupied place information of the plurality of encoded adjacent nodes; The occupied number is compared with a preset occupied number threshold to determine the local sparse information of the sub-node to be encoded.
5. The point cloud data encoding method according to claim 2, characterized in that: The predicting and obtaining the predicted placeholder information of the to-be-encoded sub-node according to the predicted encoding state includes: Obtaining the frame to be encoded where the sub-node to be encoded is located, and determining at least one reference frame from adjacent frames that have been encoded according to the encoding order; Determine, from the reference frame, a reference subnode having the same subnode spatial position and the same subnode size as the subnode to be encoded; Reference placeholder information of the reference child node is obtained as second placeholder information, and the second placeholder information is used as predicted placeholder information of the child node to be encoded.
6. A point cloud data decoding method, characterized in that: The method comprises: Obtain the target decoding data of the sub-node to be decoded in the point cloud data; Acquire the predicted decoding state of the to-be-decoded child node; wherein the predicted decoding state includes an inter-frame decoding state and an intra-frame decoding state; Determining a second context probability model corresponding to the to-be-decoded subnode based on the predicted decoding state; The target decoding data of the sub-node to be decoded is decoded using the second context probability model to obtain the placeholder information of the sub-node to be decoded.
7. The point cloud data decoding method according to claim 6, characterized in that: The determining, based on the predicted decoding state, a second context probability model corresponding to the to-be-decoded subnode includes: Obtaining local sparse information of the to-be-decoded child node; determining a corresponding second context probability model from a second context probability model group based on the predicted decoding state and the local sparse information; Alternatively, according to the predicted decoding state, predicted placeholder information of the to-be-decoded child node is predicted; based on the predicted decoding state and the predicted placeholder information, a corresponding second context probability model is determined from a second context probability model group: Or, obtain local sparse information of the sub-node to be decoded; predict the predicted placeholder information of the sub-node to be decoded based on the predicted decoding state; determine the corresponding second context probability model from the second context probability model group based on at least two parameters of the predicted decoding state, the local sparse information and the predicted placeholder information.
8. The point cloud data decoding method according to claim 7, characterized in that: The method further comprises: Determining at least one of the predicted decoding state and the local sparse information as first category information, and using other information in the predicted decoding state and the local sparse information other than the first category information as second category information; or, determining at least one of the predicted decoding state and the predicted placeholder information as first category information, and using other information in the predicted decoding state and the predicted placeholder information other than the first category information as second category information; or, determining at least one of the predicted decoding state, the local sparse information, and the predicted placeholder information as first category information, and using other information in the predicted decoding state, the local sparse information, and the predicted placeholder information other than the first category information as second category information; Determining, according to the first classification information, a context state tree category of the context state tree corresponding to the to-be-decoded sub-node; Mapping is performed in the second context probability model group according to the context state tree category and the second classification information to determine a corresponding second context probability model.
9. The point cloud data decoding method according to claim 7, characterized in that: The obtaining of the local sparse information of the to-be-decoded sub-node includes: Determine, in decoding order, a plurality of decoded adjacent nodes that precede the child node to be decoded; Determining the number of occupied places of the plurality of decoded neighboring nodes based on the first placeholder information of the plurality of decoded neighboring nodes; The occupied number is compared with a preset occupied number threshold to determine the local sparse information of the child node to be decoded.
10. The point cloud data decoding method according to claim 7, characterized in that: The step of predicting and obtaining the predicted placeholder information of the to-be-decoded child node according to the predicted decoding state includes: Obtaining the frame to be decoded where the sub-node to be decoded is located, and determining at least one reference frame from decoded adjacent frames in a decoding order; Determine, from the reference frame, a reference child node having the same subnode spatial position and the same subnode size as the subnode to be decoded; Reference placeholder information of the reference subnode is obtained as second placeholder information, and the second placeholder information is used as predicted placeholder information of the subnode to be decoded.
11. A point cloud data encoding device, characterized in that: The device comprises: The first acquisition module is used to obtain the sub-nodes to be encoded in the point cloud data; A second acquisition module is used to acquire the predicted coding state of the sub-node to be encoded; wherein the predicted coding state includes an inter-frame coding state and an intra-frame coding state; A first determining module, configured to determine a first context probability model corresponding to the to-be-encoded sub-node based on the predicted encoding state; An encoding module is used to encode the placeholder information of the to-be-encoded sub-node through the first context probability model to obtain target encoding data of the placeholder information.
12. A point cloud data decoding device, characterized in that: The device comprises: The third acquisition module is used to obtain target decoding data of the sub-node to be decoded in the point cloud data; A fourth acquisition module is configured to acquire a predicted decoding state of the to-be-decoded subnode; wherein the predicted decoding state includes an inter-frame decoding state and an intra-frame decoding state; A second determining module, configured to determine a second context probability model corresponding to the to-be-decoded subnode based on the predicted decoding state; A decoding module is used to decode the target decoding data of the sub-node to be decoded through the second context probability model to obtain the placeholder information of the sub-node to be decoded.
13. A computer device, characterized in that: The computer device includes a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, it implements the point cloud data encoding method described in any one of claims 1 to 5, or the point cloud data decoding method described in any one of claims 6 to 10.
14. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it implements the point cloud data encoding method according to any one of claims 1 to 5, or the point cloud data decoding method according to any one of claims 6 to 10.
Citation Information
Patent Citations
Point cloud geometrical information encoding and decoding method
CN112565795A
Coding processing method and decoding processing method for geometric information of point cloud and related equipment
CN115471627A