Coding control method, decoding control method, coding control device, and decoding control device

The proposed coding and decoding control method addresses the inefficiency in the conventional outlier coding mode by using a first mode identifier to selectively perform multi-way tree placeholder coding, reducing unnecessary coding and improving efficiency in point cloud compression.

JP7699235B2Active Publication Date: 2025-06-26VIVO MOBILE COMM CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023576112
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-12-06
Filing Date
2022-06-08
Publication Date
2025-06-26
Estimated Expiration
2042-06-08

AI Technical Summary

Technical Problem

The conventional outlier coding mode in the AVS PCRM does not effectively filter nodes, leading to a large number of 0 singlePointFlags being coded, which affects coding efficiency, especially in dense point cloud sequences.

Method used

A coding and decoding control method that uses a first mode identifier to determine whether to perform multi-way tree placeholder coding on a node, skipping the coding of singlePointFlag if certain conditions are met, thereby reducing unnecessary coding and improving efficiency.

Benefits of technology

This approach effectively reduces the coding of unnecessary singlePointFlags, improving coding efficiency by directly performing multi-tree placeholder coding on nodes that meet specific conditions, thus enhancing the overall performance of point cloud compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007699235000004
    Figure 0007699235000004
  • Figure 0007699235000005
    Figure 0007699235000005
  • Figure 0007699235000006
    Figure 0007699235000006
Patent Text Reader

Abstract

The present application discloses a coding and decoding control method and apparatus, and the coding control method of an embodiment of the present application includes: obtaining a node to be currently processed in a target queue including a node whose corresponding space block in an already constructed tree structure is occupied; obtaining a first mode identifier of the node to be currently processed; and when the first mode identifier is a first identifier, performing multi-tree placeholder coding on the node to be currently processed if the nodes already processed consecutively satisfy a first condition, where the first condition includes that the mode identifier of the nodes already processed consecutively is a first identifier, and the number of nodes already processed consecutively is less than a first threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of image processing, and particularly relates to a coding, decoding control method and apparatus.

Background Art

[0002] In the process of octree construction of the Point cloud Reference Software Model (PCRM) of the current Digital Audio Video Coding and Decoding Technology Standard (Audio Video coding Standard, AVS), it is necessary to determine whether to directly code the isolated points for a node before performing octree coding on the node. When a node to be coded contains only one point, this point is called an isolated point, and direct coding is to code the uncoded bits of the Morton code corresponding to the geometric coordinates of the isolated point. When the current node meets the following three conditions, direct coding is performed.

[0003] In Condition 1, the isolated point direct coding mode identifier in the geometric header information is 1.

[0004] In Condition 2, the current node contains only one point.

[0005] In Condition 3, the sum of the number of bits of the Morton code to be coded for the points in the current node is greater than twice the number of directions in which the minimum side length is not reached.

[0006] If all of the above three conditions are met, enter this branch, introduce one flag identifier bit, called the geometric isolated point mode identifier (singlePointFlag), which indicates whether the current node uses isolated point coding. This identifier bit represents whether only one point is included in the current node. When only one point is included in the node, the value of the identifier bit is 1. When the number of points included in the node is greater than 1, the value of this identifier bit is 0. After coding the identifier bit, if the identifier bit is 1, that is, when only one point is included in the current node, directly code the uncoded bits of the Morton code corresponding to the geometric coordinates of this point, that is, code them in the order of x, y, z. Here, the direction that has already reached the minimum side length does not need to be coded, and the octree division ends. If the identifier bit is 0, continue the placeholder coding and continue the octree division.

[0007] Among these three conditions, Condition 1 is determined by the profile, that is, the values of all nodes in the same sequence are the same. Condition 3 is used to limit the nodes with a relatively small number of bits to be coded for the included points, that is, the nodes close to the leaf node layer. If either one of Condition 1 and Condition 3 is 0, do not code singlePointFlag. For the sake of expression convenience, these two conditions are called the preconditions for the isolated point coding mode. If the current node meets the preconditions, code singlePointFlag. However, only when Condition 2 is met, that is, when singlePointFlag is 1, perform isolated point coding. Otherwise, continue the octree placeholder coding.

[0008] In AVS PCRM V3.0, since Condition 1 is set to 1 by default, its function is to control whether the current sequence turns on the outlier coding mode. Condition 3 only limits the number of layers with nodes entering the outlier coding mode, that is, the nodes close to the leaf node layer cannot enter the outlier coding mode. Therefore, in the conventional encoder, all nodes away from the leaf node layer must go through the determination of Condition 2, that is, it is necessary to code singlePointFlag, and the nodes are not effectively filtered. Specifically, the following problems exist.

[0009] 1. For a relatively dense point cloud sequence, there are extremely few nodes that meet the determination of Condition 2, that is, a large number of 0 singlePointFlags are coded, and these code streams are not useful for compressing the point cloud.

[0010] 2. Even for a relatively sparse point cloud, there may be a region that is relatively dense and there are few nodes that meet the determination of Condition 2.

Summary of the Invention

Problems to be Solved by the Invention

[0011] Embodiments of the present application can provide a coding and decoding control method and apparatus that can solve the problem that the conventional outlier coding mode does not effectively filter nodes, resulting in coding a large number of 0 singlePointFlags and affecting the coding efficiency.

Means for Solving the Problems

[0012] The first aspect provides a coding control method, and this coding control method includes: obtaining a node to be currently processed in a target queue including nodes occupied by corresponding spatial blocks in a already constructed tree structure; Obtaining a first mode identifier of the node to be currently processed; When the first mode identifier is a first identifier, if the nodes that have already been continuously processed satisfy a first condition, performing multi-way tree placeholder coding on the node to be currently processed; Here, the first condition includes that the mode identifier of the nodes that have already been continuously processed is the first identifier, and the number of nodes that have already been continuously processed is less than a first threshold.

[0013] A second aspect provides a decoding control method, and this decoding control method includes: Obtaining a node to be currently processed in a target queue including nodes in which corresponding space blocks in a tree structure already constructed are occupied; Obtaining a first mode identifier of the node to be currently processed; When the first mode identifier is a first identifier, if the nodes that have already been continuously processed satisfy a first condition, performing multi-way tree placeholder decoding on the node to be currently processed; Here, the first condition includes that the mode identifier of the nodes that have already been continuously processed is the first identifier, and the number of nodes that have already been continuously processed is less than a first threshold.

[0014] A third aspect provides a coding control device, and this coding control device includes: A first acquisition module for obtaining a node to be currently processed in a target queue including nodes in which corresponding space blocks in a tree structure already constructed are occupied; A second acquisition module for obtaining a first mode identifier of the node to be currently processed; When the first mode identifier is a first identifier, if the nodes that have already been continuously processed satisfy a first condition, a first coding module for performing multi-way tree placeholder coding on the node to be currently processed. Here, the first condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold value.

[0015] A fourth aspect provides a coding control device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, the steps of the method described in the first aspect are realized.

[0016] A fifth aspect provides a coding control device including a processor and a communication interface. Here, the processor acquires a node to be currently processed in a target queue including nodes in which corresponding space blocks in a tree structure that has already been constructed are occupied, acquires a first mode identifier of the node to be currently processed, and when the first mode identifier is the first identifier and the nodes that have already been processed continuously satisfy the first condition, it is used to perform multi-way tree placeholder coding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold value.

[0017] A sixth aspect provides a decoding control device, which includes a third acquisition module for acquiring a node to be currently processed in a target queue including nodes in which corresponding space blocks in a tree structure that has already been constructed are occupied, and a fourth acquisition module for acquiring a first mode identifier of the node to be currently processed. When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the first condition, it includes a first decoding module for performing multi-way tree placeholder decoding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold.

[0018] A seventh aspect provides a decoding control device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, it realizes the steps of the method described in the second aspect.

[0019] An eighth aspect provides a decoding control device including a processor and a communication interface. Here, the processor acquires the node to be currently processed in a target queue including the nodes where the corresponding space blocks in the already constructed tree structure are occupied. Acquires the first mode identifier of the node to be currently processed. When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the first condition, it is used to perform multi-way tree placeholder decoding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold.

[0020] A ninth aspect provides a communication device including a processor, a memory, and a program or instruction stored in the memory and executable on the processor, where when the program or instruction is executed by the processor, the steps of the coding control method described in the first aspect are realized, or the steps of the decoding control method described in the second aspect are realized.

[0021] A tenth aspect provides a readable storage medium having a program or instruction stored thereon, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect or the second aspect are realized.

[0022] An eleventh aspect provides a chip including a processor and a communication interface, where the communication interface is coupled to the processor, and the processor runs a program or instruction and is used to realize the steps of the method described in the first aspect or the second aspect.

[0023] A twelfth aspect provides a computer program / program product stored in a non - volatile storage medium, and when the computer program / program product is executed by at least one processor, the steps of the method described in the first aspect or the second aspect are realized.

Advantages of the Invention

[0024] In the embodiments of the present application, by using the first mode identifier of the node to be currently processed, when the first mode identifier is the first identifier, if the mode identifier of the nodes that have already been continuously processed is the first identifier and the number of the nodes that have already been continuously processed is less than the first threshold, without coding the singlePointFlag of the node to be currently processed, directly perform multi-tree placeholder coding on the node to be currently processed, thereby reducing the coding of a large number of singlePointFlags with value 0 and further improving the coding efficiency.

Brief Description of the Drawings

[0025]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Modes for Carrying Out the Invention

[0026] The following clearly describes the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are some of the embodiments of the present application, not all of them. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art shall fall within the protection scope of the present application.

[0027] The terms "first", "second", etc. in the description and claims of the present application are used to distinguish similar objects and are not for describing a specific order or sequence. It should be understood that such terms are interchangeable when appropriate, so that the embodiments of the present application can be implemented in an order other than that illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same type, without limiting the number of objects. For example, the first object may be one or more. In addition, "and / or" in the description and claims represents at least one of the connected objects, and the character " / " generally represents that the related objects before and after are in an "or" relationship.

[0028] The following briefly introduces the related prior art of the present application as follows.

[0029] Figure 1 is a framework diagram of an Audio Video coding Standard (AVS) codec for digital audio and video coding and decoding technology. In the point cloud AVS encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are coded separately. First, a coordinate transformation is performed on the geometric information to include all the point clouds in a single bounding box. Then quantization is carried out. The quantization in this step mainly serves as a scaling effect. Through quantization rounding, the geometric information of some points is made the same, and based on parameters, it is decided whether to remove duplicate points. The processes of quantization and duplicate point removal belong to the preprocessing process. Next, according to the order of breadth-first traversal, the bounding box is divided (octree / quadtree / binary tree), and the placeholders of each node are coded. In the octree-based geometric coding framework, the bounding box is divided in sequence to obtain sub-cubes. The division of non-empty sub-cubes (including points in the point cloud) is continued. When the leaf nodes obtained by division become 1×1×1 unit cubes, the division stops, and the number of points contained in the leaf nodes is coded. Finally, the coding of the geometric octree is completed, and a binary code stream is generated. In the octree-based geometric decoding process, the decoding end obtains the placeholders of each node by continuously parsing according to the order of breadth-first traversal, and continuously divides the nodes in sequence. When a 1×1×1 unit cube is obtained by division, the division stops, and by parsing, the number of points contained in each leaf node is obtained. Finally, the point cloud information that is geometrically reconstructed after recovery is obtained.

[0030] After completing the geometric coding, the geometric information is reconstructed. Currently, the attribute coding is mainly performed on color and reflectivity information. First, it is determined whether to perform color space conversion. When color space conversion is performed, the color information is converted from the Red, Green, Blue (RGB) color space to the YUV color space. Then, by recoloring the reconstructed point cloud with the original point cloud, the uncoded attribute information is associated with the reconstructed geometric information. In color information coding, it is divided into two modules: attribute prediction and attribute conversion. The attribute prediction process is as follows. First, the point cloud is rearranged and differential prediction is performed. Here, there are two rearrangement methods: Morton rearrangement and Hilbert rearrangement. For the cat1A sequence and the cat2 sequence, Hilbert rearrangement is performed, and for the cat1B sequence and the cat3 sequence, Morton rearrangement is performed. Attribute prediction is performed on the rearranged point cloud using a differential method, and quantization and entropy coding are performed on the prediction residuals to generate a binary code stream. The attribute conversion process is as follows. First, wavelet transform is performed on the point cloud attributes, the transform coefficients are quantized, and then inverse quantization and inverse wavelet transform are used to obtain the attribute reconstruction value. The difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual, which is then quantized. Entropy coding is performed on the quantized transform coefficients and the attribute residuals to generate a binary code stream. This application relates to the geometric coding and geometric decoding parts. More precisely, this application is an improvement on the octree construction and octree reconstruction processes of the geometric coding and geometric decoding parts.

[0031] In the following, with reference to the drawings, several embodiments and their application scenarios will be used to detail the coding, decoding control methods and devices according to the embodiments of this application.

[0032] As shown in Figure 2, the embodiment of this application provides a coding control method, which includes the following.

[0033] In step 201, obtain the node to be currently processed in the target queue.

[0034] It should be noted that the target queue includes nodes where the corresponding space blocks in the already constructed tree structure are occupied. Further, it should be noted that for coding, the tree structure is obtained based on the pre-processed point cloud geometric information. This pre-processing means performing one or more of translation, quantization, and duplicate point removal on the geometric information of the N (N is an integer greater than or equal to 1, which may be understood as a frame here) -th frame of the point cloud to obtain the point cloud geometric information. For decoding, the tree structure is obtained by decoding the occupancy information of the nodes.

[0035] In step 202, obtain the first mode identifier of the node to be currently processed.

[0036] It should be noted that this first mode identifier is newly introduced in this application for making a determination before coding the node to be processed.

[0037] In step 203, when the first mode identifier is the first identifier and the already continuously processed nodes meet the first condition, perform multi - tree placeholder coding on the node to be currently processed.

[0038] Here, the first condition includes that the mode identifier of the already continuously processed nodes is the first identifier and the number of the already continuously processed nodes is less than the first threshold.

[0039] It should be noted that in the embodiments of the present application, when the first mode identifier of the node to be currently processed is the first identifier, the number of nodes with the mode identifier being the first identifier that have been continuously processed previously is determined. When the number is smaller than the first threshold, without coding the geometric isolation point mode identifier (singlePointFlag) of the node to be currently processed previously, directly perform the multi-tree placeholder coding, and further in the multi-tree placeholder coding process, reduce the number of times of coding the singlePointFlag that instructs not to turn on the isolation point coding (for example, the number of times of coding the singlePointFlag of 0), thereby improving the coding efficiency.

[0040] Optionally, after the step 202, when the first mode identifier is the first identifier, if the nodes that have been continuously processed satisfy the second condition, code the geometric isolation point mode identifier (singlePointFlag) corresponding to the node to be currently processed, and further include setting the first mode identifier of the next node to be processed based on the geometric isolation point mode identifier. Here, the second condition includes that the first mode identifier of the nodes that have been continuously processed is the first identifier, the number of nodes that have been continuously processed is equal to the first threshold, and among the nodes that have been continuously processed and have the first mode identifier being the first identifier, the number of nodes with only one occupied sub-node is greater than the fourth threshold.

[0041] It should be noted that for each node to be processed, first, the first mode identifier of this node to be processed is obtained. When the number of nodes with the mode identifier being the first identifier that have been continuously processed before is less than the first threshold, the first mode identifier of the next node to be processed is not reset, that is, the first mode identifier of the next node to be processed continues to use the first mode identifier of the currently processed node. That is, the first mode identifier of the next node to be processed is still the first identifier, and when the number of nodes with the mode identifier being the first identifier is less than the first threshold, it is necessary to determine the number of occupied sub-nodes for all nodes with each mode identifier being the first identifier, and it is necessary to count the number of nodes with only one occupied sub-node. That is, when only one sub-node is occupied by a certain node, it is necessary to perform an addition count. When the number of nodes with the mode identifier being the first identifier that have been continuously processed before is equal to the first threshold, and among the nodes with the first mode identifier being the first identifier that have been continuously processed, the number of nodes with only one occupied sub-node is greater than the fourth threshold, it is necessary to reset the first mode identifier of the next node to be processed. Here, the implementation method is as follows. First, code the singlePointFlag corresponding to the currently processed node, and then set the first mode identifier of the next node to be processed according to the value of the singlePointFlag. Optionally, the implementation methods that can be adopted in this application include at least one of the following.

[0042] In A11, when it is indicated that the geometric isolation point mode identifier is less than or equal to the preset number of points of the currently processed node, set the first mode identifier of the next node to be processed as the second identifier.

[0043] It should be noted that singlePointFlag is used to indicate whether to turn on the isolated point coding. For example, when singlePointFlag = 1, it means to turn on the isolated point coding; when singlePointFlag = 0, it means not to turn on the isolated point coding. When the node to be processed contains one point or relatively few points, it means that the isolated point coding can be performed. The preset number of points mentioned in this application is the maximum number of points corresponding to turning on the isolated point coding. For example, if this preset number of points is 1, it means to turn on the isolated point coding when the node to be processed is a single point (i.e., one point); if this preset number of points is 2, it means to turn on the isolated point coding when the node to be processed is a single point or when the node to be processed contains two nodes. When the currently processed node needs to turn on the isolated point coding, directly set the first mode identifier of the next node to be processed as the second identifier.

[0044] In A12, when the geometric isolated point mode identifier indicates that the currently processed node is greater than the preset number of points, set the first mode identifier of the next node to be processed as the first identifier.

[0045] It should be noted that when the node to be processed contains relatively many points, it means that the isolated point coding cannot be performed. When there is no need to turn on the isolated point coding, directly set the first mode identifier of the next node to be processed as the first identifier.

[0046] Furthermore, it should be noted that when coding singlePointFlag, it is necessary to code the node according to the indication of singlePointFlag. Specifically, the implementation process is as follows.

[0047] After coding the geometric outlier mode identifier corresponding to the node to be currently processed, based on the geometric outlier mode identifier, a first operation is performed on the node to be currently processed. Here, the first operation includes multi-way tree placeholder coding or outlier direct coding.

[0048] Specifically, based on the geometric outlier mode identifier, the implementation methods that can be adopted to perform the first operation on the node to be currently processed include at least one of the following.

[0049] In B11, when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is less than or equal to the number of points, outlier direct coding is performed on the node to be currently processed. That is, when singlePointFlag indicates that outlier coding can be turned on, outlier direct coding is directly performed on the node to be currently processed.

[0050] In B12, when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is greater than the number of points, multi-way tree placeholder coding is performed on the node to be currently processed. That is, when singlePointFlag indicates that outlier coding cannot be turned on, multi-way tree placeholder coding is directly performed on the node to be currently processed.

[0051] Optionally, as something to be further explained, in the embodiments of the present application, when the number of nodes in which only one occupied sub-node exists among the nodes that have been continuously processed and whose first mode identifier is the first identifier is less than or equal to a fourth threshold.

[0052] When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the fourth condition, set the first mode identifier of the next node to be processed as the first identifier. Here, the fourth condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, the number of the nodes that have already been processed continuously is equal to the first threshold, and the number of the nodes in which only one occupied sub-node exists among the nodes whose first mode identifier is the first identifier and that have already been processed continuously is not more than the fourth threshold.

[0053] That is, when indicated by the fourth condition, without coding the singlePointFlag corresponding to the currently processed node, directly set the first mode identifier of the next node to be processed as the first identifier, and perform multi-tree placeholder coding on the currently processed node. In such a manner, the number of times of coding the singlePointFlag indicating not to turn on the isolated point coding in the multi-tree placeholder coding process (for example, the number of coding the singlePointFlag of 0) can be further reduced, thereby improving the coding efficiency.

[0054] It should be noted that in this application, a total of two values of the first mode identifier are set. What has been described above is how to perform the coding operation when the first mode identifier of the currently processed node is the first identifier. Hereinafter, how to perform the coding operation when the first mode identifier of the currently processed node is the second identifier will be described as follows.

[0055] Specifically, after step 202, When the first mode identifier is the second identifier, code the geometric isolated point mode identifier corresponding to the currently processed node, and further comprising performing a first operation on the node to be currently processed based on the geometric isolated point mode identifier, wherein the first operation includes multi-tree placeholder coding or isolated point direct coding.

[0056] That is, when the first mode identifier of the node to be currently processed is the second identifier, directly code the singlePointFlag corresponding to the node to be currently processed, and code the node according to the value of the singlePointFlag. For the specific implementation process, reference may be made to B11 and B12, and no further description will be given here.

[0057] It should be further explained that when the singlePointFlag indicates that the isolated point coding cannot be turned on, directly perform multi-tree placeholder coding on the node to be currently processed. When the singlePointFlag indicates that the isolated point coding can be turned on, directly perform isolated point direct coding on the node to be currently processed. After performing the isolated point direct coding or multi-tree placeholder coding, it is necessary to reset the first mode identifier of the next node to be processed. Optionally, one implementation method is as follows.

[0058] If the nodes that have been continuously processed satisfy the third condition, that is, based on the number of nodes that have been processed and the number of points included therein is less than or equal to the preset number of points, set the first mode identifier of the next node to be processed, wherein the third condition includes that the first mode identifier of the nodes that have been continuously processed is the second identifier and the number of nodes that have been continuously processed is equal to the second threshold.

[0059] It should be noted that in such a case, either directly perform outlier direct coding on the node to be currently processed, or after the multi-way tree placeholder coding, when the number of nodes that have been continuously processed is smaller than the second threshold, continue to process the next node to be processed without setting the first mode identifier of the next node to be processed, and continue to use the value of the first mode identifier of the previous node that has been processed for the first mode identifier of the next node to be processed, that is, the first mode identifier of the next node to be processed is still the second identifier. When the number of nodes that have been continuously processed is equal to the second threshold, it is necessary to determine the number of nodes for which outlier coding is to be turned on. Specifically, the implementation method includes at least one of the following.

[0060] In C11, when the number of nodes that have been processed and the number of points included therein are less than or equal to the preset number of points is greater than the third threshold, set the first mode identifier of the next node to be processed as the second identifier. It should be noted that when the number of points included in a node is less than or equal to the preset number of points, it means that the singlePointFlag corresponding to this node indicates that outlier coding needs to be turned on. When the number of points included in a node is greater than the preset number of points, it means that the singlePointFlag corresponding to this node indicates that outlier coding does not need to be turned on.

[0061] That is, in such a case, when the number of nodes for which outlier coding is to be turned on is greater than the third threshold, it indicates that the probability that outlier coding needs to be turned on for subsequent nodes is relatively high, and set the first mode identifier of the next node to be processed to be the same as the value of the first mode identifier of the previous node.

[0062] In C12, when the number of nodes that have already been processed and whose included number of points is less than or equal to a preset number of points is less than or equal to a third threshold, set the first mode identifier of the node to be processed next as the first identifier. That is, in such a case, when the number of nodes for which outlier coding is to be turned on is less than or equal to the third threshold, it indicates that there is a relatively high probability that outlier coding does not need to be turned on for subsequent nodes, and set the first mode identifier of the node to be processed next as the first identifier.

[0063] Furthermore, it should be further noted that all nodes other than the root node can set the first mode identifier in subsequent processes. In order to ensure the accurate processing of the root node, in the embodiments of the present application, the first mode identifier of the root node is set as the second identifier.

[0064] Optionally, it should be further noted that the implementation methods that can be adopted for step 202 of the present application are as follows.

[0065] Determine the outlier coding condition for the currently to-be-processed node. When the currently to-be-processed node satisfies the outlier coding condition, obtain the first mode identifier of the currently to-be-processed node.

[0066] Optionally, the outlier coding condition includes the following.

[0067] In D11, the outlier direct coding mode identifier in the geometric header information corresponding to the currently to-be-processed node is a preset value. For example, generally, this outlier direct coding mode identifier is represented by 1 bit, and its value is 0 or 1. When 0 represents on outlier direct coding, this preset value is 0, and when 1 represents on outlier direct coding, this preset value is 1.

[0068] In D12, the sum of the number of bits of the Morton code to be coded for the points within the node to be currently processed is greater than a preset multiple of a first numerical value (for example, twice), where the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side lengths in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction. The preset direction here includes at least one of the X direction, the Y direction, and the Z direction.

[0069] The first threshold, the second threshold, and the third threshold mentioned in the embodiments of the present application may be determined by the coding end or agreed upon by the protocol respectively.

[0070] For example, when the first threshold is determined by the coding end for the first threshold, the coding end may adopt the following method to determine the above threshold.

[0071] In E11, a first threshold set by the user is stored in the coding end, and this first threshold is directly used during coding.

[0072] In E12, a plurality of thresholds constituting a threshold list are set in the coding end, and the user can set the threshold to be used this time.

[0073] When the first threshold is determined by the coding end, the coding end needs to inform the decoding end of the first threshold used for the coding. Generally, the decoding end needs to code the first threshold into the geometric slice header information. The decoding end directly decodes the geometric slice header information and obtains the first threshold, and decodes according to the same first threshold. When the coding end adopts the E11 method, generally, the information coded into the geometric slice header is this first threshold. When the coding end adopts the E12 method, generally, the information coded into the geometric slice header is the identifier information corresponding to the first threshold. For example, this identifier information is the number or index in the threshold list of the first threshold. Correspondingly, a similar threshold list is also set for the decoding end. After the decoding end obtains this identifier information, it can know which threshold in the threshold list it corresponds to.

[0074] For example, when the first threshold is agreed upon by the protocol, this first threshold is agreed to be known by both the coding end and the decoding end. In such a case, the coding end does not need to code the first threshold.

[0075] It should be noted that the above takes the first threshold as an example, and the same applies to the second threshold, the third threshold, and the fourth threshold, which will not be elaborated further here.

[0076] It should be noted that the multi-tree placeholder coding mentioned in the embodiments of the present application may be a coding method such as binary tree placeholder coding, quadtree placeholder coding, octree placeholder coding, etc.

[0077] Hereinafter, taking the octree placeholder coding as an example, the specific implementation process of the present application will be described as follows.

[0078] As can be seen from the above description, in the embodiments of the present application, there are two mode identifiers. One is called mode0, that is, it corresponds to the case where the first mode identifier is the second identifier. The other is called mode1, that is, it corresponds to the case where the first mode identifier is the first identifier. Here, in mode0, all the nodes that have successfully determined the outlier prior information (in the case of coding, this outlier prior information is the outlier coding condition) can be coded normally as in the original scheme, and only the number of nodes with singlePointFlag equal to 1 needs to be recorded. However, in mode1, only some of the nodes that have successfully determined the outlier prior information are coded. In one mode, after coding is completed, based on the coding result, it is determined which mode the next node will enter.

[0079] In mode0, two parameters, k (it should be noted that the second threshold is equal to k - 1) and m (it should be noted that the third threshold is m), are set. Here, k is the number of nodes in a set using mode0, and m is a threshold. Whether the number of nodes with singlePointFlag equal to 1 among these k nodes is greater than m determines which mode the next node will enter. Taking the k nodes that have successfully determined the outlier prior information as a set, the coding method of these k nodes is the same as the original scheme, that is, first code singlePointFlag, directly code the nodes with a value of 1 among them, and perform octree placeholder coding on the nodes with a value of 0. In this process, it is necessary to record the number of nodes with singlePointFlag equal to 1 among these k nodes. After the coding of the k nodes is completed, if the number of nodes with singlePointFlag equal to 1 is greater than m, the next node will continue to enter mode0. If the number of nodes with singlePointFlag equal to 1 is less than or equal to m, the next node will enter mode1.

[0080] In mode1, one parameter n (it should be noted that the first threshold value is equal to n - 1) is set. That is, in mode1, n nodes that have successfully determined the outlier prior information are grouped together. For the 1st to (n - 1)th nodes, octree coding is directly performed, and the octree coding results are recorded. In the octree coding results of these (n - 1) nodes, only when the number of nodes with only one occupied sub - node is greater than the threshold value s, the nth node enters the normal outlier coding. Otherwise, the nth node directly performs octree coding. When the nth node directly performs octree coding, the next node continues to enter mode1. Otherwise, based on the singelPointFlag determination result of the nth node, it is determined which mode the next node enters. When the singelPointFlag determination result of the nth node is 1, the next node enters mode0. When the determination result is 0, the next node continues to enter mode1.

[0081] In a specific implementation method, two counters are set for mode0: counter K (countK) and counter M (countM) are used to record the number of continuously processed nodes entering mode0 and the number of nodes with singlePointFlag being 1 among them, respectively. Two counters are set for mode1: counter N (countN) is used to record the number of continuously processed nodes entering mode1, and counter S (countS) is used to record the number of nodes with only one occupied sub - node. The mode adopted by the next node is indicated by parameter NextMode. 0 represents selecting mode0, and 1 represents selecting mode1. For the root node to be coded for the first time, the corresponding parameters are initialized as NextMode = 0, countK = 0, countM = 0, countN = 0, countS = 0.

[0082] As shown in FIG. 3, the main implementation process of the coding process is as follows.

[0083] Set NextMode = 0, countK = 0, countM = 0, countN = 0, countS = 0 for the root node. According to the principle of breadth - first, first - in - first - out (FIFO), take one node (referred to as the currently processed node) from the node queue in turn, and perform the determination of the isolated point pre - information (singlePoint pre - information). If the determination fails, directly perform the octree placeholder coding, and then take the next node in the queue for processing. If the determination is successful, judge the value of NextMode. When NextMode = 1, add 1 to countN, and then judge whether the value of countN is equal to n. If it is not equal to n, directly perform the octree placeholder coding and record the number of nodes with only one occupied sub - node. When the number of occupied sub - nodes in one node is equal to 1, add 1 to countS, and then take the next node in the queue for processing. When it is equal to n, first judge whether countS is greater than s. If not satisfied, set NextMode = 1, countN = 0, countS = 0, and perform the octree placeholder coding for the currently processed node. If satisfied, code the singlePointFlag of the currently processed node. When singlePointFlag = 1, perform the isolated point direct coding for the currently processed node, set NextMode = 0, countK = 0, countM = 0. When singlePointFlag = 0, set NextMode = 1, countN = 0, perform the octree placeholder coding for the currently processed node, and then take the next node in the queue for processing. When NextMode = 0, add 1 to countK, code the singlePointFlag of the node to be currently processed. When singlePointFlag = 0, perform octree placeholder coding on the node to be currently processed. When singlePointFlag = 1, add 1 to countM and perform isolated point direct coding on the node to be currently processed. After octree placeholder coding or isolated point direct coding, determine whether countK is equal to k. If countK is not equal to k, take the next node in the queue for processing. If countK is equal to k, determine whether countM is greater than m. If countM is greater than m, set NextMode = 0, countK = 0, and countM = 0, and continue to take the next node in the queue for processing. If countM is less than or equal to m, set NextMode = 1, countN = 0, and countS = 0, and continue to take the next node in the queue for processing. By analogy until the coding of all nodes in the queue is completed.

[0084] Correspondingly, the decoding end adopts the same method as the coding of the coding end for decoding. The main implementation flow of the decoding control process corresponding to the coding control method is shown in Figure 4 below.

[0085] Set NextMode = 0, countK = 0, countM = 0, countN = 0, countS = 0 for the root node. According to the FIFO principle, take one node (referred to as the currently processed node) from the node queue in sequence, and determine the outlier prior information (in the case of decoding, this outlier prior information is the outlier decoding condition). If the determination fails, directly perform octree placeholder decoding, then take the next node in the queue for processing. If the determination is successful, judge the value of NextMode. When NextMode = 1, add 1 to countN, and then judge whether the value of countN is equal to n. If it is not equal to n, directly perform octree placeholder decoding and record the number of nodes with only one occupied subnode. When the number of occupied subnodes in a node is equal to 1, add 1 to countS, and then take the next node in the queue for processing. When it is equal to n, first judge whether countS is greater than s. If not satisfied, set NextMode = 1, countN = 0, countS = 0, and perform octree placeholder decoding on the currently processed node. If satisfied, decode the singlePointFlag of the currently processed node. When singlePointFlag = 1, perform outlier direct decoding on the currently processed node, set NextMode = 0, countK = 0, countM = 0. When singlePointFlag = 0, set NextMode = 1, countN = 0, perform octree placeholder decoding on the currently processed node, and then take the next node in the queue for processing. When NextMode = 0, add 1 to countK, decode the singlePointFlag of the node to be processed currently. When singlePointFlag = 0, perform octree placeholder decoding on the node to be processed currently. When singlePointFlag = 1, add 1 to countM and perform isolated point direct decoding on the node to be processed currently. After octree placeholder decoding or isolated point direct decoding, determine whether countK is equal to k. If countK is not equal to k, take the next node in the queue for processing. If countK is equal to k, determine whether countM is greater than m. If countM is greater than m, set NextMode = 0, countK = 0, and countM = 0, and continue to take the next node in the queue for processing. If countM is less than or equal to m, set NextMode = 1, countN = 0, and countS = 0, and continue to take the next node in the queue for processing. By analogy, do this until the decoding of all nodes in the queue is completed.

[0086] The coding control method according to this application can effectively avoid coding too many 0's singlePointFlag in the code stream, thereby further improving the geometric coding performance. According to the experimental results, using the algorithm described in this technology can improve the coding performance. For example, as shown in Table 1, under non-reversible conditions, it shows that the performance of this solution is better than that of PCRMV3.0.

[0087] What needs to be explained here is that there are two aspects to the performance indicators for evaluating point cloud compression. The first is the degree of distortion of the point cloud. The higher the degree of distortion, the worse the objective quality of point cloud reconstruction. The second is the size of the bitstream after compression. For lossless compression, that is, when there is no distortion in the point cloud, only the size of the bitstream after point cloud compression needs to be considered. For lossy compression, both aspects need to be considered. In both cases, the size of the bitstream can be evaluated by the number of bits output after coding. For the evaluation of the degree of point cloud distortion, PCRM provides two corresponding distortion evaluation algorithms.

[0088] Generally, to evaluate the performance of a compression algorithm, the rate-distortion (RD) curve is generally used to compare the performance differences between two algorithms. The ideal goal of point cloud compression is that the code stream becomes smaller and the index peak signal-to-noise ratio (PSNR), which evaluates the objective quality, becomes larger. However, such cases rarely occur. In general cases, the code stream is lower than the original method, but the PSNR, that is, the quality of the point cloud, decreases, or the PSNR becomes higher, but the code stream increases. When trying to evaluate the quality of a new method in these two cases, an indicator that comprehensively considers the code stream and PSNR is required. The AVS Point Cloud Group uses BD-Rate Evaluate the coding rate and objective quality of the point cloud compression algorithm comprehensively at 858 for JPEG0007699235000001.jpg, and subdivide it into two aspects: BD-GeomRate and BD-AttrRate in terms of geometry and attributes. If the BD-Rate value is negative, it means that the new method has improved performance compared to the original method. If the BD-Rate value is positive, it means that the new method has deteriorated performance compared to the original method. Depending on whether the error adopts the mean squared error or the Hausdorff distance, there are two ways to calculate the PSNR and the results, and the corresponding BD-Rate also has two results. Denote the one calculated by the mean squared error as D1 and the one calculated by Hausdorff as D1-H.

[0089] Here, the processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0090] [Table 1] Performance comparison results under irreversible conditions between this application and PCRM V3.0 [Table 1] [Table 2]

[0091] It should be noted that the execution body of the coding control method according to the embodiment of this application may be a coding control device or a control module for executing the coding control method in this coding control device. In the embodiment of this application, taking the coding control device executing the coding control method as an example, the coding control device according to the embodiment of this application is described.

[0092] As shown in FIG. 5, the embodiment of the present application provides a coding control device 500, and this coding control device 500 includes a first acquisition module 501 for acquiring a node to be currently processed in a target queue including a node occupied by a corresponding spatial block in a tree structure that has already been constructed, and a second acquisition module 502 for acquiring a first mode identifier of the node to be currently processed, and when the first mode identifier is a first identifier, if the nodes that have already been continuously processed satisfy a first condition, a first coding module 503 for performing multi-tree placeholder coding on the node to be currently processed. Here, the first condition includes that the first mode identifier of the nodes that have already been continuously processed is a first identifier, and the number of nodes that have already been continuously processed is less than a first threshold.

[0093] Optionally, after the second acquisition module 502 acquires the first mode identifier of the node to be currently processed, when the first mode identifier is a first identifier, if the nodes that have already been continuously processed satisfy a second condition, a second coding module for coding a geometric isolated point mode identifier corresponding to the node to be currently processed, and a first setting module for setting a first mode identifier of the next node to be processed based on the geometric isolated point mode identifier. Here, the second condition includes that the first mode identifier of the nodes that have already been continuously processed is a first identifier, the number of nodes that have already been continuously processed is equal to a first threshold, and the number of nodes in which only one occupied sub-node exists among the nodes in which the first mode identifier is a first identifier and that have already been continuously processed is greater than a fourth threshold.

[0094] Optionally, the first setting module When the geometric isolated point mode identifier indicates that the number of points preset for the node to be currently processed is less than or equal to a certain number, set the first mode identifier of the next node to be processed as the second identifier, At least one of the following is realized: when the geometric isolated point mode identifier indicates that the number of points preset for the node to be currently processed is greater than a certain number, set the first mode identifier of the next node to be processed as the first identifier.

[0095] Optionally, after the second coding module codes the geometric isolated point mode identifier corresponding to the node to be currently processed, further include a first processing module for performing a first operation on the node to be currently processed based on the geometric isolated point mode identifier, wherein the first operation includes multi-tree placeholder coding or isolated point direct coding.

[0096] Optionally, after the second acquisition module 502 acquires the first mode identifier of the node to be currently processed, when the first mode identifier is the first identifier, if the nodes that have been continuously processed satisfy a fourth condition, further include a seventh setting module for setting the first mode identifier of the next node to be processed as the first identifier, wherein the fourth condition includes that the first mode identifier of the nodes that have been continuously processed is the first identifier, the number of nodes that have been continuously processed is equal to a first threshold, and among the nodes that have been continuously processed and whose first mode identifier is the first identifier, the number of nodes with only one occupied sub-node is less than or equal to a fourth threshold.

[0097] Optionally, after the seventh setting module sets the first mode identifier of the next node to be processed as the first identifier, It further includes a fourth coding module for performing multi-tree placeholder coding on the node to be currently processed.

[0098] Optionally, after the second acquisition module 502 acquires the first mode identifier of the node to be currently processed, when the first mode identifier is a second identifier, a third coding module for coding a geometric isolated point mode identifier corresponding to the node to be currently processed, and further includes a second processing module for performing a first operation on the node to be currently processed based on the geometric isolated point mode identifier, wherein the first operation includes multi-tree placeholder coding or isolated point direct coding.

[0099] Optionally, the implementation manner of performing a first operation on the node to be currently processed based on the geometric isolated point mode identifier is as follows: when the geometric isolated point mode identifier indicates that the number of points of the node to be currently processed is less than or equal to a preset number of points, performing isolated point direct coding on the node to be currently processed; when the geometric isolated point mode identifier indicates that the number of points of the node to be currently processed is greater than a preset number of points, including at least one of performing multi-tree placeholder coding on the node to be currently processed.

[0100] Optionally, after the second processing module performs a first operation on the node to be currently processed based on the geometric isolated point mode identifier, if the nodes that have been continuously processed meet a third condition, it further includes a second setting module for setting the first mode identifier of the next node to be processed based on the number of nodes that have been processed and the number of points included therein is less than or equal to a preset number of points. Here, the third condition includes that the first mode identifier of the nodes that have already been processed continuously is the second identifier, and the number of the nodes that have already been processed continuously is equal to the second threshold.

[0101] Optionally, the second setting module when the number of the nodes that have already been processed and the number of points included therein are less than or equal to a preset number of points is greater than the third threshold, sets the first mode identifier of the node to be processed next as the second identifier; when the number of the nodes that have already been processed and the number of points included therein are less than or equal to a preset number of points is less than or equal to the third threshold, realizes at least one of setting the first mode identifier of the node to be processed next as the first identifier.

[0102] Optionally, before the first acquisition module 501 acquires the node to be currently processed in the target queue, further includes a third setting module for setting the first mode identifier of the root node as the second identifier.

[0103] Optionally, the second acquisition module 502 includes a first determination unit for determining the outlier coding condition for the node to be currently processed, and a first acquisition unit for acquiring the first mode identifier of the node to be currently processed when the node to be currently processed satisfies the outlier coding condition.

[0104] Optionally, the outlier coding condition is that the outlier direct coding mode identifier in the geometric header information corresponding to the node to be currently processed is a preset value, The sum of the number of bits of the Morton code to be coded for the points within the node to be currently processed is greater than a preset multiple of a first numerical value, where the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side length in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction.

[0105] It should be noted that by using the first mode identifier of the node to be currently processed, when the first mode identifier is the first identifier, if the mode identifier of the nodes that have already been processed continuously is the first identifier and the number of the nodes that have already been processed continuously is smaller than a first threshold value, without coding the singlePointFlag of the node to be currently processed, the multi-tree placeholder coding can be directly performed on the node to be currently processed, thereby reducing the coding of a large number of 0 singlePointFlags and further improving the coding efficiency.

[0106] The coding control device in the embodiments of the present application may be a device, a device having an operating system, or an electronic device, and may also be a member, an integrated circuit, or a chip in a terminal. This device or electronic device may be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal may include, but is not limited to, terminal-side devices such as mobile phones, tablet personal computers, laptop computers (or called notebook computers), personal digital assistants (PDAs), palmtop computers, netbooks, ultra-mobile personal computers (UMPCs), mobile Internet devices (MIDs), wearable devices, or vehicle-mounted devices (VUEs), pedestrian terminals (PUEs). Wearable devices include smart watches, bracelets, earphones, glasses, etc. The non-mobile terminal may be a server, a network-attached storage (NAS), a personal computer (PC), a television (TV), a deposit and payment machine, or a self-service machine, etc. The embodiments of the present application are not specifically limited.

[0107] The coding control device according to the embodiments of the present application realizes each process realized by the method embodiment in FIG. 2 and can achieve the same technical effect. To avoid repetition of the description, it will not be described further here.

[0108] The embodiments of the present application further provide a coding control device, including a processor and a communication interface. The processor acquires a node to be currently processed in a target queue including nodes where corresponding space blocks in a pre-constructed tree structure are occupied, acquires a first mode identifier of the node to be currently processed, When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the first condition, it is used to perform multi-tree placeholder coding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold.

[0109] The embodiment of this coding control device corresponds to the embodiment of the above method. Each implementation process and realization method of the embodiment of the above method can all be applied to the embodiment of this device, and the same technical effects can be achieved. Specifically, FIG. 6 is a schematic hardware structure diagram for realizing the coding control device of the embodiment of the present application.

[0110] This coding control device 600 includes at least some of the members such as a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609, and a processor 610, but is not limited thereto.

[0111] As can be understood by those skilled in the art, the coding control device 600 may further include a power source (for example, a battery) for supplying power to each member. The power source may be logically connected to the processor 610 by a power management system, so that the power management system realizes functions such as charge and discharge management and power consumption management. The terminal structure shown in FIG. 6 does not constitute a limitation on the terminal. The terminal may include more or fewer members than the members shown in the figure, or a combination of some members, or an arrangement of different members, which will not be described further here.

[0112] It should be understood that, in the embodiments of the present application, the input unit 604 may include a Graphics Processing Unit (GPU) 6041 and a microphone 6042. The graphics processor 6041 processes the image data of a still image or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 606 may include a display panel 6061, and the display panel 6061 may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 607 includes a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include two parts: a touch detection device and a touch controller. The other input devices 6072 may include, but are not limited to, a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), a trackball, a mouse, and an operation lever, and will not be described further herein.

[0113] In the embodiments of the present application, after receiving the downlink data from the network-side device, the radio frequency unit 601 causes the processor 610 to process it, and also transmits the uplink data to the network-side device. Generally, the radio frequency unit 601 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like.

[0114] Memory 609 may be used to store software programs or instructions and various data. Memory 609 may mainly include a program or instruction storage area and a data storage area. Here, the program or instruction storage area can store an operating system, application programs or instructions required for at least one function (for example, a voice playback function, an image playback function, etc.). Note that Memory 609 may include a high-speed random access memory and may also include a non-volatile memory. Here, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. For example, it may be at least one magnetic disk memory device, a flash memory device, or other non-volatile solid-state memory devices.

[0115] Processor 610 may include one or more processing units. Optionally, Processor 610 may integrate an application processor and a modem processor. Here, the application processor mainly processes an operating system, a user interface, and application programs or instructions, etc., and the modem processor mainly processes wireless communications, for example, a baseband processor. As can be understood, the above modem processor may not be integrated into Processor 610.

[0116] Here, Processor 610 obtains the node to be currently processed in the target queue including the node occupied by the corresponding spatial block in the already constructed tree structure, obtains the first mode identifier of the node to be currently processed, When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the first condition, it is used to realize performing multi-tree placeholder coding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of the nodes that have already been processed continuously is smaller than the first threshold.

[0117] The coding control device according to the embodiment of the present application utilizes the first mode identifier of the node to be currently processed. When the first mode identifier is the first identifier, if the mode identifier of the nodes that have already been processed continuously is the first identifier and the number of the nodes that have already been processed continuously is smaller than the first threshold, without coding the singlePointFlag of the node to be currently processed, directly perform multi-tree placeholder coding on the node to be currently processed, thereby reducing the coding of a large number of 0 singlePointFlags and further improving the coding efficiency.

[0118] Optionally, after obtaining the first mode identifier of the node to be currently processed, the processor 610 further When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the second condition, code the geometric isolation point mode identifier corresponding to the node to be currently processed. It is used to realize setting the first mode identifier of the next node to be processed based on the geometric isolation point mode identifier. Here, the second condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, the number of the nodes that have already been processed continuously is equal to the first threshold, and among the nodes that have already been processed continuously and whose first mode identifier is the first identifier, the number of the nodes with only one occupied sub-node is larger than the fourth threshold.

[0119] Optionally, the processor 610 when the geometric outlier mode identifier indicates that the current node to be processed is less than or equal to a preset number of points, sets the first mode identifier of the next node to be processed as the second identifier; is used to implement at least one of setting the first mode identifier of the next node to be processed as the first identifier when the geometric outlier mode identifier indicates that the current node to be processed is greater than a preset number of points.

[0120] Optionally, after coding the geometric outlier mode identifier corresponding to the current node to be processed, the processor 610 further is used to implement performing a first operation on the current node to be processed based on the geometric outlier mode identifier, wherein the first operation includes multi-way tree placeholder coding or outlier direct coding.

[0121] Optionally, after obtaining the first mode identifier of the current node to be processed, the processor 610 further is used to implement setting the first mode identifier of the next node to be processed as the first identifier if the already continuously processed nodes meet a fourth condition when the first mode identifier is the first identifier, wherein the fourth condition includes that the first mode identifier of the already continuously processed nodes is the first identifier, the number of the already continuously processed nodes is equal to a first threshold, and the number of nodes having only one occupied sub-node among the already continuously processed nodes with the first mode identifier being the first identifier is less than or equal to a fourth threshold.

[0122] Optionally, the processor 610 further It is used to realize performing multi-tree placeholder coding on the node to be currently processed.

[0123] Optionally, after obtaining the first mode identifier of the node to be currently processed, the processor 610 further when the first mode identifier is a second identifier, coding a geometric isolated point mode identifier corresponding to the node to be currently processed; It is used to realize performing a first operation on the node to be currently processed based on the geometric isolated point mode identifier, wherein the first operation includes multi-tree placeholder coding or isolated point direct coding.

[0124] Optionally, the processor 610 when the geometric isolated point mode identifier indicates that the number of points of the node to be currently processed is less than or equal to a preset number of points, performing isolated point direct coding on the node to be currently processed; It is used to realize at least one of performing multi-tree placeholder coding on the node to be currently processed when the geometric isolated point mode identifier indicates that the number of points of the node to be currently processed is greater than a preset number of points.

[0125] Optionally, when the first mode identifier is a second identifier, after the processor 610 performs a first operation on the node to be currently processed based on the geometric isolated point mode identifier, the processor 610 further if the nodes that have been continuously processed satisfy a third condition, it is used to set the first mode identifier of the next node to be processed based on the number of nodes that have been processed and the number of points included therein is less than or equal to a preset number of points. Here, the third condition includes that the first mode identifier of the nodes that have already been processed continuously is the second identifier, and the number of the nodes that have already been processed continuously is equal to the second threshold.

[0126] Optionally, the processor 610 sets the first mode identifier of the node to be processed next as the second identifier when the number of the nodes that have already been processed and the number of points included therein are less than or equal to a preset number of points is greater than the third threshold; is used to implement at least one of setting the first mode identifier of the node to be processed next as the first identifier when the number of the nodes that have already been processed and the number of points included therein are less than or equal to a preset number of points is less than or equal to the third threshold.

[0127] Optionally, before acquiring the node to be currently processed in the target queue, the processor 610 further is used to implement setting the first mode identifier of the root node as the second identifier.

[0128] Optionally, the processor 610 determines whether the node to be currently processed meets the outlier coding condition, and is used to implement acquiring the first mode identifier of the node to be currently processed when the node to be currently processed meets the outlier coding condition.

[0129] Optionally, the outlier coding condition is that the outlier direct coding mode identifier in the geometric header information corresponding to the node to be currently processed is a preset value, The sum of the number of bits of the Morton code to be coded for the points within the node to be currently processed is greater than a preset multiple of a first numerical value, where the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side lengths in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction.

[0130] Preferably, the embodiments of the present application further provide a coding control device, including a processor, a memory, and a program or instruction stored on the memory and executable on the processor. When this program or instruction is executed by the processor, each process of the embodiment of the coding control method is realized, and the same technical effect can be achieved. To avoid repetition of the description, it will not be further described herein.

[0131] The embodiments of the present application further provide a readable storage medium, on which a program or instruction is stored. When this program or instruction is executed by a processor, each process of the embodiment of the coding control method is realized, and the same technical effect can be achieved. To avoid repetition of the description, it will not be further described herein. Here, the computer-readable storage medium includes, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0132] As shown in FIG. 7, the embodiments of the present application further provide a decoding control method, and this decoding control method includes step 701 of obtaining the node to be currently processed in a target queue including the node occupied by the corresponding spatial block in the already constructed tree structure; step 702 of obtaining the first mode identifier of the node to be currently processed; When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the first condition, it includes step 703 of performing multi-tree placeholder decoding on the node to be currently processed. Here, the first condition includes that the mode identifier of the nodes that have already been processed continuously is the first identifier, and the number of nodes that have already been processed continuously is less than the first threshold.

[0133] Optionally, after obtaining the first mode identifier of the node to be currently processed, When the first mode identifier is the first identifier, if the nodes that have already been processed continuously satisfy the second condition, decoding the geometric isolated point mode identifier corresponding to the node to be currently processed, further including setting the first mode identifier of the next node to be processed based on the geometric isolated point mode identifier. Here, the second condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, the number of nodes that have already been processed continuously is equal to the first threshold, and among the nodes with the first mode identifier being the first identifier that have already been processed continuously, the number of nodes with only one occupied sub-node is greater than the fourth threshold.

[0134] Optionally, setting the first mode identifier of the next node to be processed based on the geometric isolated point mode identifier as described above is when the geometric isolated point mode identifier indicates that it is less than or equal to the preset number of points of the node to be currently processed, setting the first mode identifier of the next node to be processed as the second identifier, when the geometric isolated point mode identifier indicates that it is greater than the preset number of points of the node to be currently processed, including at least one of setting the first mode identifier of the next node to be processed as the first identifier.

[0135] Optionally, after decoding the geometric outlier mode identifier corresponding to the node to be currently processed, further comprising performing a second operation on the node to be currently processed based on the geometric outlier mode identifier, wherein the second operation includes multi-tree placeholder decoding or outlier direct decoding.

[0136] Optionally, after obtaining the first mode identifier of the node to be currently processed, if the first mode identifier is the first identifier and the nodes that have been continuously processed satisfy the fourth condition, further comprising setting the first mode identifier of the next node to be processed as the first identifier, wherein the fourth condition includes that the first mode identifier of the nodes that have been continuously processed is the first identifier, the number of the nodes that have been continuously processed is equal to the first threshold, and among the nodes with the first mode identifier being the first identifier that have been continuously processed, the number of nodes with only one occupied sub-node is less than or equal to the fourth threshold.

[0137] Optionally, after setting the first mode identifier of the next node to be processed as the first identifier, further comprising performing multi-tree placeholder decoding on the node to be currently processed.

[0138] Optionally, after obtaining the first mode identifier of the node to be currently processed, if the first mode identifier is the second identifier, decoding the geometric outlier mode identifier corresponding to the node to be currently processed, and further comprising performing a second operation on the node to be currently processed based on the geometric outlier mode identifier, wherein the second operation includes multi-tree placeholder decoding or outlier direct decoding.

[0139] Optionally, performing a second operation on the node to be currently processed based on the geometric outlier mode identifier includes: performing outlier direct decoding on the node to be currently processed when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is less than or equal to a preset number; and performing multi-tree placeholder decoding on the node to be currently processed when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is greater than a preset number, including at least one of the above.

[0140] Optionally, when the first mode identifier is a second identifier, after performing a second operation on the node to be currently processed based on the geometric outlier mode identifier, if the nodes that have been continuously processed satisfy a third condition, further including setting the first mode identifier of the next node to be processed based on the number of nodes that have been processed and whose included number of points is less than or equal to a preset number, wherein the third condition includes that the first mode identifier of the nodes that have been continuously processed is a second identifier and the number of nodes that have been continuously processed is equal to a second threshold.

[0141] Optionally, setting the first mode identifier of the next node to be processed based on the number of nodes that have been processed and whose included number of points is less than or equal to a preset number includes: setting the first mode identifier of the next node to be processed as a second identifier when the number of nodes that have been processed and whose included number of points is less than or equal to a preset number is greater than a third threshold; and setting the first mode identifier of the next node to be processed as a first identifier when the number of nodes that have been processed and whose included number of points is less than or equal to a preset number is less than or equal to a third threshold, including at least one of the above.

[0142] Optionally, before obtaining the node to be currently processed in the target queue, further includes setting the first mode identifier of the root node as the second identifier.

[0143] Optionally, obtaining the first mode identifier of the node to be currently processed includes determining the outlier decoding condition for the node to be currently processed, and obtaining the first mode identifier of the node to be currently processed when the node to be currently processed satisfies the outlier decoding condition.

[0144] Optionally, the outlier decoding condition includes the outlier direct coding mode identifier in the geometric header information corresponding to the node to be currently processed is a preset value, and the sum of the number of bits of the Morton code to be coded for the points in the node to be currently processed is greater than a preset multiple of a first numerical value, the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side length in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction.

[0145] It should be noted that the decoding end decodes in the same way as the coding of the coding end. The specific implementation method of the decoding end can be referred to the decoding end and will not be described further here.

[0146] As shown in FIG. 8, the embodiment of the present application further provides a decoding control device 800, and this decoding control device 800 includes A third acquisition module 801 for acquiring a node to be currently processed in a target queue including nodes in which corresponding spatial blocks in a already constructed tree structure are occupied; A fourth acquisition module 802 for acquiring a first mode identifier of the node to be currently processed; When the first mode identifier is a first identifier and the nodes that have already been continuously processed satisfy a first condition, a first decoding module 803 for performing multiway tree placeholder decoding on the node to be currently processed, Here, the first condition includes that the mode identifiers of the nodes that have already been continuously processed are first identifiers and the number of the nodes that have already been continuously processed is smaller than a first threshold.

[0147] Optionally, after the fourth acquisition module 802 acquires the first mode identifier of the node to be currently processed, When the first mode identifier is a first identifier and the nodes that have already been continuously processed satisfy a second condition, a second decoding module for decoding a geometric outlier mode identifier corresponding to the node to be currently processed; Further including a fourth setting module for setting a first mode identifier of the next node to be processed based on the geometric outlier mode identifier, Here, the second condition includes that the first mode identifiers of the nodes that have already been continuously processed are first identifiers, the number of the nodes that have already been continuously processed is equal to the first threshold, and the number of the nodes in which only one occupied sub-node exists among the nodes that have already been continuously processed and whose first mode identifiers are first identifiers is larger than a fourth threshold.

[0148] Optionally, the fourth setting module When the geometric outlier mode identifier indicates that it is less than or equal to a preset number of points of the node to be currently processed, setting the first mode identifier of the next node to be processed as a second identifier; When the geometric isolated point mode identifier indicates that the currently processed node is greater than the preset number of points, at least one of the following is realized: setting the first mode identifier of the next node to be processed as the first identifier.

[0149] Optionally, after the second decoding module decodes the geometric isolated point mode identifier corresponding to the currently processed node, further includes a third processing module for performing a second operation on the currently processed node based on the geometric isolated point mode identifier, wherein the second operation includes multi-tree placeholder decoding or isolated point direct decoding.

[0150] Optionally, after the fourth acquisition module 802 acquires the first mode identifier of the currently processed node, when the first mode identifier is the first identifier, if the already continuously processed nodes meet the fourth condition, further includes an eighth setting module for setting the first mode identifier of the next node to be processed as the first identifier, wherein the fourth condition includes that the first mode identifier of the already continuously processed nodes is the first identifier, the number of the already continuously processed nodes is equal to the first threshold, and among the already continuously processed nodes with the first mode identifier being the first identifier, the number of nodes with only one occupied sub-node is less than or equal to the fourth threshold.

[0151] Optionally, after the eighth setting module sets the first mode identifier of the next node to be processed as the first identifier, further includes a fourth decoding module for performing multi-tree placeholder decoding on the currently processed node.

[0152] Optionally, after the fourth acquisition module 802 acquires the first mode identifier of the node to be currently processed, when the first mode identifier is a second identifier, a third decoding module for decoding a geometric outlier mode identifier corresponding to the node to be currently processed, and further includes a fourth processing module for performing a second operation on the node to be currently processed based on the geometric outlier mode identifier, wherein the second operation includes multi-tree placeholder decoding or outlier direct decoding.

[0153] Optionally, the implementation method of performing a second operation on the node to be currently processed based on the geometric outlier mode identifier is as follows: when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is less than or equal to the preset number of points, performing outlier direct decoding on the node to be currently processed; when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is greater than the preset number of points, performing at least one of multi-tree placeholder decoding on the node to be currently processed.

[0154] Optionally, after the fourth processing module performs a second operation on the node to be currently processed based on the geometric outlier mode identifier, if the nodes that have been continuously processed satisfy a third condition, a fifth setting module for setting the first mode identifier of the next node to be processed based on the number of nodes that have been processed and whose included number of points is less than or equal to the preset number of points is further included, wherein the third condition includes that the first mode identifier of the nodes that have been continuously processed is the second identifier and the number of nodes that have been continuously processed is equal to a second threshold.

[0155] Optionally, the fifth setting module sets the first mode identifier of the node to be processed next as the second identifier when the number of nodes that have been processed and have a number of points less than or equal to a preset number of points is greater than a third threshold; realizes at least one of setting the first mode identifier of the node to be processed next as the first identifier when the number of nodes that have been processed and have a number of points less than or equal to a preset number of points is less than or equal to the third threshold.

[0156] Optionally, before obtaining the node to be currently processed in the target queue, further includes a sixth setting module for setting the first mode identifier of the root node as the second identifier.

[0157] Optionally, the fourth acquisition module 802 includes a second determination unit for determining an outlier decoding condition for the node to be currently processed; and a second acquisition unit for acquiring the first mode identifier of the node to be currently processed when the node to be currently processed satisfies the outlier decoding condition.

[0158] Optionally, the outlier decoding condition is that the outlier direct coding mode identifier in the geometric header information corresponding to the node to be currently processed is a preset value; and the sum of the number of bits of the Morton code to be coded for the points in the node to be currently processed is greater than a preset multiple of a first numerical value, where the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side length in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction.

[0159] It should be noted that the embodiments of this device are devices corresponding to the above method. All implementation manners in the above method embodiments can be applied to the embodiments of this device, and the same technical effects can be achieved, which will not be described herein again.

[0160] Preferably, the embodiments of the present application further provide a decoding control device, including a processor, a memory, and a program or instruction stored on the memory and executable on the processor. When this program or instruction is executed by the processor, each process of the embodiment of the decoding control method is realized, and the same technical effects can be achieved. To avoid repeated description, it will not be described herein again.

[0161] The embodiments of the present application further provide a readable storage medium, on which a program or instruction is stored. When this program or instruction is executed by a processor, each process of the embodiment of the decoding control method is realized, and the same technical effects can be achieved. To avoid repeated description, it will not be described herein again.

[0162] Here, the computer-readable storage medium includes, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0163] The embodiments of the present application further provide a decoding control device, including a processor and a communication interface. The processor acquires a node to be currently processed in a target queue including nodes occupied by corresponding spatial blocks in a pre-constructed tree structure. acquire a first mode identifier of the node to be currently processed. When the first mode identifier is a first identifier, if the nodes that have been continuously processed satisfy a first condition, it is used to perform multi-tree placeholder decoding on the node to be currently processed. Here, the first condition includes that the mode identifier of the already continuously processed node is the first identifier, and the number of already continuously processed nodes is smaller than the first threshold.

[0164] The embodiment of this decoding control device corresponds to the embodiment of the above decoding control method. Each implementation process and realization method of the embodiment of the above method can all be applied to the embodiment of this decoding control device, and the same technical effect can be achieved.

[0165] Specifically, the embodiment of the present application further provides a decoding control device. Specifically, the structure of this decoding control device is similar to the structure of the coding control device shown in FIG. 6, and will not be described further here.

[0166] Optionally, the processor acquires the node to be currently processed in the target queue including the node occupied by the corresponding spatial block in the already constructed tree structure, acquires the first mode identifier of the node to be currently processed, and when the first mode identifier is the first identifier and the already continuously processed nodes satisfy the first condition, performs multiway tree placeholder decoding on the node to be currently processed, which is used to achieve this. Here, the first condition includes that the mode identifier of the already continuously processed node is the first identifier, and the number of already continuously processed nodes is smaller than the first threshold.

[0167] Optionally, after acquiring the first mode identifier of the node to be currently processed, the processor further decodes the geometrically isolated point mode identifier corresponding to the node to be currently processed when the first mode identifier is the first identifier and the already continuously processed nodes satisfy the second condition. It is used to realize setting the first mode identifier of the node to be processed next based on the geometric outlier mode identifier. Here, the second condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, the number of nodes that have already been processed continuously is equal to the first threshold, and among the nodes whose first mode identifier is the first identifier and have already been processed continuously, the number of nodes with only one occupied sub-node is greater than the fourth threshold.

[0168] Optionally, the processor When the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is less than or equal to the geometric outlier mode identifier, set the first mode identifier of the node to be processed next as the second identifier. It is used to realize at least one of setting the first mode identifier of the node to be processed next as the first identifier when the geometric outlier mode identifier indicates that the number of points preset for the node to be currently processed is greater than the geometric outlier mode identifier.

[0169] Optionally, after decoding the geometric outlier mode identifier corresponding to the node to be currently processed, optionally, the processor further It is used to realize performing a second operation on the node to be currently processed based on the geometric outlier mode identifier. Here, the second operation includes multi-tree placeholder decoding or outlier direct decoding.

[0170] Optionally, after obtaining the first mode identifier of the node to be currently processed, the processor further When the first mode identifier is the first identifier, if the nodes that have already been processed continuously meet the fourth condition, it is used to realize setting the first mode identifier of the node to be processed next as the first identifier. Here, the fourth condition includes that the first mode identifier of the nodes that have already been processed continuously is the first identifier, the number of the nodes that have already been processed continuously is equal to the first threshold, and among the nodes with the first mode identifier being the first identifier that have already been processed continuously, the number of the nodes with only one occupied sub-node is not more than the fourth threshold.

[0171] Optionally, after setting the first mode identifier of the next node to be processed as the first identifier, the processor further is used to realize performing multi-tree placeholder decoding on the currently processed node.

[0172] Optionally, after obtaining the first mode identifier of the currently processed node, optionally, the processor further when the first mode identifier is the second identifier, decodes the geometric outlier mode identifier corresponding to the currently processed node, and is used to realize performing a second operation on the currently processed node based on the geometric outlier mode identifier, where the second operation includes multi-tree placeholder decoding or outlier direct decoding.

[0173] Optionally, the processor when the geometric outlier mode identifier indicates that it is not more than the preset number of points of the currently processed node, performs outlier direct decoding on the currently processed node, and is used to realize at least one of performing multi-tree placeholder decoding on the currently processed node when the geometric outlier mode identifier indicates that it is greater than the preset number of points of the currently processed node.

[0174] Optionally, when the first mode identifier is the second identifier, after the processor performs a second operation on the node to be currently processed based on the geometric outlier mode identifier, the processor further is used to set the first mode identifier of the next node to be processed based on the number of nodes that have been processed and have a point count less than or equal to a preset point count, provided that the nodes that have been continuously processed satisfy a third condition. Here, the third condition includes that the first mode identifier of the nodes that have been continuously processed is the second identifier and the number of nodes that have been continuously processed is equal to a second threshold.

[0175] Optionally, the processor sets the first mode identifier of the next node to be processed as the second identifier when the number of nodes that have been processed and have a point count less than or equal to a preset point count is greater than a third threshold, and is used to set the first mode identifier of the next node to be processed as the first identifier when the number of nodes that have been processed and have a point count less than or equal to a preset point count is less than or equal to the third threshold.

[0176] Optionally, before obtaining the node to be currently processed in the target queue, the processor further is used to set the first mode identifier of the root node as the second identifier.

[0177] Optionally, the processor determines whether the current node to be processed meets the outlier decoding condition, and is used to obtain the first mode identifier of the current node to be processed when the current node to be processed meets the outlier decoding condition.

[0178] Optionally, the outlier decoding condition is The isolated point direct coding mode identifier in the geometric header information corresponding to the node to be currently processed is a preset value, and the sum of the number of bits of the Morton code to be coded for the points within the node to be currently processed is greater than a preset multiple of a first numerical value, where the first numerical value is the number of the first target side lengths in the spatial block corresponding to the node to be currently processed, the first target side length includes the side length in a preset direction, and the first target side length is smaller than the minimum side length in the preset direction.

[0179] It should be noted that the coding control device and the decoding control device described in the embodiments of the present application may be installed in the same device. That is, this device can realize both the coding control function and the decoding control function.

[0180] Optionally, as shown in FIG. 9, the embodiments of the present application further provide a communication device 900, including a processor 901, a memory 902, and a program or instruction stored in the memory 902 and executable on the processor 901. For example, when this communication device 900 is a coding control device, when this program or instruction is executed by the processor 901, each process of the embodiment of the above coding control method is realized, and the same technical effect can be achieved. When this communication device 900 is a decoding control device, when this program or instruction is executed by the processor 901, each process of the embodiment of the above decoding control method is realized, and the same technical effect can be achieved. To avoid repetition of the description, it will not be described further here.

[0181] Embodiments of the present application further provide a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor runs programs or instructions and is used to implement each process of the embodiments of the above coding control method or decoding control method, and can achieve the same technical effects. To avoid repetition of the description, it will not be described further here.

[0182] It should be understood that the chip referred to in the embodiments of the present application may also be referred to as a system-level chip, a system chip, a chip system, a system-on-chip, etc.

[0183] It should be noted that in this specification, the term "including", "comprising" or any other variation thereof is intended to cover non-exclusive "including", so that a process, method, article or device including a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article or device. When there is no further limitation, for an element defined by the phrase "comprising one...", it is not excluded that there are other same elements in the process, method, article or device including this element. It should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to executing functions in the order illustrated or discussed, and may include executing functions in a basically simultaneous manner or in a reverse order based on the related functions. For example, a method described in a procedure different from the described one can be executed, and various steps can be added, omitted or combined. Also, features described with reference to some examples can be combined in other examples.

[0184] As can be clearly understood by those skilled in the art from the description of the above embodiments, the method of the above embodiments can be realized in the form of software and the necessary general-purpose hardware platform. Of course, it may also be realized by hardware, but in many cases, the former is a more preferred embodiment. Based on such an understanding, the technical solution of this application or the part that contributes to the prior art may be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and contains several instructions for causing a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the embodiments of this application.

[0185] The above has described the embodiments of this application in conjunction with the drawings, but this application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Those skilled in the art can, based on the suggestions of this application, perform many forms without departing from the spirit and scope of the claims of this application, and all of them belong to the protection scope of this application.

[0186] Cross-reference to related applications This application claims the priority of Chinese Patent Application No. 202110656103.3 filed in China on June 11, 2021, and the priority of Chinese Patent Application No. 202111478748.9 filed in China on December 6, 2021, and the entire content of the same application is incorporated herein by reference.

Claims

1. A coding control method, comprising: acquiring a node to be currently coded in a target queue including a node in which a corresponding spatial block in a already constructed tree structure is occupied; acquiring a first mode identifier of the node to be currently coded, wherein the first mode identifier is for indicating whether to code a geometric isolation mode identifier of some nodes that meet the preconditions of the isolated point coding mode, and the geometric isolation mode identifier is for indicating whether to turn on the isolated point coding; when the first mode identifier of the node to be currently coded is the first identifier, if the already coded nodes meet the first condition, determining to directly perform octree coding on the node to be currently coded, wherein the first identifier is for indicating to code a geometric isolation mode identifier of some nodes that meet the preconditions of the isolated point coding mode; the nodes in the tree structure are coded according to a predetermined order, and the first condition includes that the corresponding first mode identifier in the already octree-coded nodes is the first identifier and the number of nodes is less than a first threshold, the coding control method.

2. after acquiring the first mode identifier of the node to be currently coded, when the first mode identifier is the first identifier, if the already coded nodes meet the second condition, further comprising coding a geometric isolation mode identifier corresponding to the node to be currently coded; the second condition includes that the number of nodes in which the corresponding first mode identifier in the already octree-coded nodes is the first identifier is equal to the first threshold and the number of nodes with only one occupied sub-node is greater than a fourth threshold, the coding control method according to Claim 1.

3. further comprising setting a first mode identifier of the next node to be coded based on the geometric isolation mode identifier, the coding control method according to Claim 2.

4. setting a first mode identifier of the next node to be coded based on the geometric isolation mode identifier is When the geometric isolated point mode identifier indicates that the number of points included in the node to be currently coded is less than or equal to a preset number of points, setting the first mode identifier of the next node to be coded as a second identifier, where the second identifier is for instructing to code the geometric isolated point mode identifiers of all nodes that satisfy the preconditions of the isolated point coding mode. The coding control method according to claim 3, including at least one of: when the geometric isolated point mode identifier indicates that the number of points included in the node to be currently coded is greater than a preset number of points, setting the first mode identifier of the next node to be coded as the first identifier.

5. After coding the geometric isolated point mode identifier corresponding to the node to be currently coded, further including performing a first operation on the node to be currently coded based on the geometric isolated point mode identifier, where the first operation includes octree coding or direct isolated point coding, or after obtaining the first mode identifier of the node to be currently coded, when the first mode identifier is the first identifier, if the already coded nodes satisfy a fourth condition, further including setting the first mode identifier of the next node to be coded as the first identifier, where the fourth condition includes that the number of nodes whose corresponding first mode identifier in the already octree-coded nodes is the first identifier is equal to a first threshold, and the number of nodes with only one occupied sub-node is equal to a fourth threshold. The coding control method according to claim 2.

6. Obtaining the first mode identifier of the node to be currently coded includes: judging the preconditions of the isolated point coding mode for the node to be currently coded, and when the node to be currently coded satisfies the preconditions of the isolated point coding mode, obtaining the first mode identifier of the node to be currently coded. The coding control method according to claim 1.

7. The preconditions for the isolated point coding mode are that the isolated point direct coding mode identifier in the geometric header information corresponding to the node to be coded is a preset value, and the sum of the number of bits of the Morton code of the points within the node to be currently coded is greater than a preset multiple of a first numerical value. The coding control method according to claim 1.

8. A decoding control method, comprising: obtaining a node to be currently decoded in a target queue including nodes in which corresponding space blocks in a tree structure already constructed are occupied; obtaining a first mode identifier of the node to be currently decoded, where the first mode identifier is for indicating whether to decode the geometric isolated point mode identifiers of some nodes that meet the preconditions of the isolated point decoding mode, and the geometric isolated point mode identifier is for indicating whether to turn on the isolated point decoding; when the first mode identifier of the node to be currently decoded is a first identifier, if the nodes already decoded meet a first condition, determining to directly perform octree decoding on the node to be currently decoded, where the first identifier is for indicating to decode the geometric isolated point mode identifiers of some nodes that meet the preconditions of the isolated point decoding mode; the nodes in the tree structure are decoded according to a predetermined order, and the first condition includes that the corresponding first mode identifier in the nodes already octree decoded is the first identifier and the number of nodes is less than a first threshold. The decoding control method.

9. after obtaining the first mode identifier of the node to be currently decoded, when the first mode identifier is the first identifier, if the nodes already decoded meet a second condition, decoding the geometric isolated point mode identifier corresponding to the node to be currently decoded. The decoding control method according to claim 8, wherein the second condition includes that the number of nodes in which the corresponding first mode identifier in the already octree-decoded nodes is the first identifier is equal to the first threshold, and the number of nodes having only one occupied sub-node is greater than the fourth threshold.

10. The decoding control method according to claim 9, further comprising setting a first mode identifier of a next node to be decoded based on the geometric isolated point mode identifier.

11. Setting a first mode identifier of a next node to be decoded based on the geometric isolated point mode identifier includes, when the geometric isolated point mode identifier indicates that the number of points included in the node to be currently decoded is less than or equal to a preset number of points, setting the first mode identifier of the next node to be decoded as the second identifier, where the second identifier is for instructing to decode the geometric isolated point mode identifiers of all nodes that satisfy the preconditions of the isolated point decoding mode. The decoding control method according to claim 10, including at least one of setting the first mode identifier of the next node to be decoded as the first identifier when the geometric isolated point mode identifier indicates that the number of points included in the node to be currently decoded is greater than the preset number of points.

12. After decoding the geometric isolated point mode identifier corresponding to the node to be currently decoded, further comprising performing a second operation on the node to be currently decoded based on the geometric isolated point mode identifier, wherein the second operation includes octree decoding or isolated point direct decoding, or after obtaining the first mode identifier of the node to be currently decoded, further comprising setting the first mode identifier of the next node to be decoded as the first identifier if the already decoded nodes satisfy the fourth condition when the first mode identifier is the first identifier. The fourth condition includes that the number of nodes in which the corresponding first mode identifier in the already octree-decoded nodes is the first identifier is equal to the first threshold, and the number of nodes in which there is only one occupied sub-node is equal to the fourth threshold. The decoding control method according to claim 9.

13. Obtaining the first mode identifier of the node to be currently decoded includes determining the preconditions for the outlier decoding mode for the node to be currently decoded, and when the node to be currently decoded satisfies the preconditions for the outlier decoding mode, obtaining the first mode identifier of the node to be currently decoded. The decoding control method according to claim 8.

14. The preconditions for the outlier decoding mode include that the outlier direct decoding mode identifier in the geometric header information corresponding to the node to be decoded is a preset value, and the sum of the number of bits of the Morton codes of the points in the node to be currently decoded to be decoded is greater than a preset multiple of the first numerical value. The decoding control method according to claim 8.

15. A coding control device, comprising a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, it realizes the steps of the coding control method according to any one of claims 1 to 7. A coding control device.

16. A decoding control device, comprising a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, it realizes the steps of the decoding control method according to any one of claims 8 to 14. A decoding control device.

Citation Information

Patent Citations

  • Point cloud encoding and decoding method and device

    CN112514397A