Point cloud coding method, decoding method and device
By determining the sparse density information in point cloud encoding and starting the isolated point encoding mode, the problem of node selection in the traditional encoding mode is solved, and more efficient encoding performance is achieved.
Patent Information
- Application Number
- JP2023567248
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-11
- Filing Date
- 2022-06-09
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2042-06-09
AI Technical Summary
In the traditional isolated point encoding mode, it is difficult to quickly and efficiently select nodes that need to be encoded.
By determining the sparse density information of the target point cloud, the orphan point encoding mode is initiated when the target point cloud is identified as a sparse point cloud and the node satisfies the orphan point encoding condition.
It is possible to quickly select nodes suitable for isolated point encoding, thereby effectively improving coding performance.
Smart Images

Figure 0007660713000004 
Figure 0007660713000005 
Figure 0007660713000006
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to Chinese Patent Application No. 202110656048.8 filed in China on June 11, 2021, the entire contents of which are incorporated herein by reference.
[0002] The present invention relates to the technical field of point cloud processing, and more particularly to a point cloud coding method, a decoding method and an apparatus therefor. [Background technology]
[0003] In the Audio Video coding Standard (AVS) Point cloud coding reference software model (PCRM) V3.0, if certain judgment conditions are met, the isolated point coding mode is entered directly. Specifically, if the isolated point coding mode identifier in the geometric header information is 1, and the sum of the number of Morton code bits to be coded of the points in the current node is greater than twice the sum of the minimum side lengths in each dimension direction of the current node, and there is only one point in the current node, the isolated point identifier singlePointFlag value is 1, which indicates that the isolated point coding mode is entered directly. For dense point clouds, there are very few nodes that satisfy the requirement of only one point, and a large number of singlePointFlags that are 0 are coded, and these code streams have no effect on the compression of the point cloud, resulting in poor performance. Summary of the Invention [Problem to be solved by the invention]
[0004] The embodiments of the present application provide a point cloud coding method, a decoding method and an apparatus that can solve the problem that it is difficult to quickly and effectively select appropriate nodes to be coded in the conventional isolated point coding mode. [Means for solving the problem]
[0005] According to a first aspect, there is provided a point cloud coding processing method, the method comprising: determining sparsity information of the target point cloud; initiating an isolated point coding mode if the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0006] According to a second aspect, there is provided a point cloud decoding method, the method comprising: determining sparsity information of the target point cloud; Initiating an outlier decoding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an outlier decoding condition.
[0007] According to a third aspect, there is provided a point cloud coding processing apparatus, the apparatus comprising: a first determination module for determining sparsity information of the target point cloud; and a first processing module for initiating an isolated point coding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0008] According to a fourth aspect, there is provided a point cloud decoding processing apparatus, the apparatus comprising: a second determination module for determining sparsity information of the target point cloud; and a second processing module for initiating an isolated point decoding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition.
[0009] According to a fifth aspect, there is provided a point cloud coding processing apparatus comprising a processor, a memory and a program or instructions stored in the memory and operable to run on the processor, the program or instructions being operable, when executed by the processor, to implement the steps of the method according to the first aspect.
[0010] According to a sixth aspect, there is provided a point cloud coding processing apparatus, the apparatus including a processor and a communication interface, wherein the processor is used for determining sparsity information of a target point cloud, and initiating an isolated point coding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0011] According to a seventh aspect, there is provided a point cloud decoding processing apparatus, the apparatus comprising a processor, a memory, and a program or instructions stored in the memory and operable to run on the processor, the program or instructions being operable, when executed by the processor, to implement the steps of the method according to the second aspect.
[0012] According to an eighth aspect, there is provided a point cloud decoding processing apparatus, the apparatus including a processor and a communication interface, wherein the processor is used for determining sparsity information of a target point cloud, and initiating an isolated point decoding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition.
[0013] According to a ninth aspect, there is provided a readable storage medium having a program or instructions stored thereon, the program or instructions being operable, when executed by a processor, to effectuate steps of the method according to the first aspect or to effectuate steps of the method according to the second aspect.
[0014] According to a tenth aspect, there is provided a chip, the chip including a processor and a communication interface, the communication interface coupled to the processor, the processor running a program or instructions to implement the method of the first aspect or used to implement the method of the second aspect.
[0015] According to an eleventh aspect, there is provided a computer program product stored on a non-transitory storage medium, the computer program product being executed by at least one processor to implement the steps of the method according to the first or second aspect. Effect of the Invention
[0016] In the embodiment of the present application, first determine the sparsity information of the target point cloud, and if the sparsity information indicates that the target point cloud is a sparse point cloud and the nodes to be coded corresponding to the target point cloud satisfy the isolated point coding condition, start the isolated point coding mode. In this way, the nodes suitable for isolated point coding can be quickly selected according to the sparsity information and the isolated point coding condition, so as to effectively guarantee the coding performance. [Brief description of the drawings]
[0017] [Figure 1] 1 illustrates a schematic diagram of the point cloud AVS encoder framework. [Diagram 2] 1 illustrates one flowchart of a point cloud coding processing method according to an embodiment of the present application. [Diagram 3] 2 illustrates a second flowchart of a point cloud coding processing method according to an embodiment of the present application. [Figure 4] 1 illustrates a flowchart of a point cloud decoding processing method according to an embodiment of the present application. [Diagram 5] FIG. 2 illustrates a module schematic diagram of a point cloud coding processing device according to an embodiment of the present application. [Figure 6] FIG. 2 illustrates one example of a structural block diagram of a point cloud coding processing device according to an embodiment of the present application. [Figure 7] FIG. 2 illustrates a second structural block diagram of the point cloud coding processing apparatus according to the embodiment of the present application. [Figure 8] 1 illustrates a module schematic diagram of a point cloud decoding processing device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] 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 only some of the embodiments of the present application, and not all of the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art are within the scope of protection of the present application.
[0019] The terms "first," "second," etc. in the specification and claims of this application are intended to distinguish between similar objects and are not intended to describe a particular order or sequence. It is to be understood that terms used in this manner are interchangeable where appropriate. Thus, the embodiments of this application may be performed in an order other than that shown or described herein. Furthermore, the objects distinguished by "first" and "second" are generally of the same type, and the number of objects is not limited, e.g., the first object may be one or more. In addition, "and / or" in the specification and claims represents at least one of the objects connected, and the character " / " generally represents an "or" relationship between the related objects.
[0020] The encoder corresponding to the point cloud coding method and the decoder corresponding to the point cloud decoding method in the embodiment of the present application may both be a terminal, and the terminal may be called a terminal device or a user terminal (User Equipment, UE). The terminal may be a terminal side device such as a mobile phone, a tablet personal computer, a laptop computer (or called a notebook computer), a personal digital assistant (PDA), a palmtop computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile Internet device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, a vehicle user equipment (VUE), a pedestrian user equipment (PUE), etc., and the wearable device includes a smart watch, a bracelet, an earphone, a pair of glasses, etc. It should be noted that the specific type of the terminal in the embodiment of the present application is not limited.
[0021] In order to enable those skilled in the art to better understand the embodiments of the present application, the AVS codec framework is first described as follows.
[0022] As shown in Figure 1, 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, the geometric information is transformed to ensure that all points in the point cloud are contained in one bounding box. Then, quantization is performed. This quantization step mainly plays the role of scaling, and in order to quantize and round the geometric information of some points so that they are the same, it is decided whether to remove duplicate points based on the parameters, and the process of quantization and removing duplicate points belongs to the pre-processing process. Then, the bounding box is divided (in an octree, quadtree, or binary tree) in the order of breadth-first traversal, and the place code of each node is coded. In the geometric coding framework based on the octree, the bounding box is divided sequentially to obtain subcubes, and the non-empty subcubes (containing points in the point cloud) are continued to be divided, and the division is stopped when the leaf node obtained by dividing becomes a 1x1x1 unit cube. Next, the number of points contained in the leaf node is coded, and finally the coding of the geometric octree is completed, and a binary code stream is generated. In the process of geometric decoding based on octree, the decoding end obtains the place code of each node through continuous analysis according to the order of breadth-first traversal, and then continuously divides the nodes in sequence. When a 1x1x1 unit cube is obtained, the division is stopped and the points contained in each leaf node are obtained through analysis, and finally the geometric reconstruction point cloud information is recovered.
[0023] After the geometric coding is completed, the geometric information is reconstructed. Currently, attribute coding mainly codes color and reflectance information. First, it is determined whether to convert the color space. If it is, the color information is converted from the Red Green Blue (RGB) color space to the YUV color space. Then, the reconstructed point cloud is recolored using the original point cloud to associate the uncoded attribute information with the reconstructed geometric information. Color information coding is divided into two modules: attribute prediction and attribute conversion. The attribute prediction process first sorts the point cloud and then performs differential prediction. There are two sorting methods: Morton sorting and Hilbert sorting. Hilbert sorting is performed on the cat1A sequence and cat2 sequence, and Morton sorting is performed on the cat1B sequence and cat3 sequence. Attribute prediction is performed on the sorted point cloud using a differential method, and finally, the prediction residual is quantized and entropy coded to generate a binary code stream. The attribute transformation process involves first performing wavelet transformation on the point cloud attributes, then quantizing the transformation coefficients, then inverse quantization and inverse wavelet transformation to obtain the attribute reconstruction values, and then calculating the difference between the original attributes and the attribute reconstruction values to obtain the attribute residuals, which are then quantized. Finally, the quantized transformation coefficients and the attribute residuals are entropy coded to generate a binary code stream.
[0024] In the following, the point cloud coding processing method according to the embodiments of the present application will be described in detail through several embodiments in conjunction with the drawings.
[0025] As shown in FIG. 2, an embodiment of the present application provides a point cloud coding processing method, which includes the following steps:
[0026] Step 201: Determine sparsity information of the target point cloud.
[0027] In this step, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.
[0028] Optionally, the target point cloud is a point cloud after pre-processing the target point cloud to be coded, the pre-processing including at least one of coordinate translation, quantization, and duplicate point removal.
[0029] Here, by determining the sparseness information of the target point cloud, it becomes easier to subsequently determine whether to initiate the isolated point coding mode based on this sparseness information, i.e., to determine whether to initiate the isolated point coding mode in conjunction with the target point cloud's own features.
[0030] Step 202: Start an isolated point coding mode if the sparsity information indicates that the target point cloud is a sparse point cloud and the nodes to be coded corresponding to the target point cloud satisfy an isolated point coding condition.
[0031] As an alternative implementation, the isolated point coding conditions include: an isolated point direct coding mode identifier in the geometric header information corresponding to the target point cloud (the target point cloud is a point cloud sequence) or in the geometric slice header information (the target point cloud is a point cloud slice) is a first preset value, for example, the first preset value is 1; A sum of the number of Morton code bits to be coded of a first target point is greater than a preset multiple (e.g., two) of a second numerical value, the first target point includes a point in the target point cloud located in a spatial block corresponding to a node to be currently coded, the second numerical value is a number of first target edge lengths in the spatial block corresponding to the node to be currently coded, the first target edge length includes an edge length in a preset direction, and the first target edge length is smaller than a minimum edge length in the preset direction, where the preset direction includes at least one of an X direction, a Y direction, and a Z direction.
[0032] For example, if the sparseness information indicates that the average occupied volume of each point in the target point cloud is greater than a predetermined threshold, the target point cloud is determined to be a sparse point cloud, and if it is determined that the target point cloud satisfies the isolated point coding condition, an isolated point coding mode is initiated.
[0033] In this implementation, the isolated point coding mode includes coding singlePointFlag, for example, if there is only one point in the spatial block corresponding to the node currently to be coded, the singlePointFlag value is 1, otherwise, the singlePointFlag value is 0, and when the singlePointFlag value is 1, coding the geometric coordinates of the point in the spatial block corresponding to the node currently to be coded.
[0034] As another alternative implementation, the isolated point coding conditions include: an isolated point direct coding mode identifier in the geometric header information corresponding to the target point cloud (the target point cloud is a point cloud sequence) or in the geometric slice header information (the target point cloud is a point cloud slice) is a first preset value, for example, the first preset value is 1; a sum of the number of Morton code bits to be coded of a first target point is greater than a preset multiple (e.g., two) of a second numerical value, the first target point includes a point in the target point cloud located in a spatial block corresponding to a node to be currently coded, the second numerical value is a number of first target edge lengths in the spatial block corresponding to the node to be currently coded, the first target edge length includes an edge length in a preset direction, and the first target edge length is smaller than a minimum edge length in the preset direction, where the preset direction includes at least one of an X direction, a Y direction, and a Z direction; There is only one point in the spatial block that corresponds to the node currently to be coded.
[0035] In this implementation, the outlying point coding mode involves coding the geometric coordinates of the point within the spatial block that corresponds to the node currently to be coded.
[0036] The point cloud coding processing method of the embodiment of the present application first determines the sparseness information of the target point cloud, and when the sparseness information indicates that the target point cloud is a sparse point cloud and the target point cloud satisfies the isolated point coding condition, starts the isolated point coding mode. In this way, the nodes that need to be isolated point coded can be quickly selected according to the sparseness information and the isolated point coding condition, so as to effectively guarantee the coding performance.
[0037] Optionally, determining sparsity information of the target point cloud comprises: Determining sparsity information for the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0038] The target volume corresponding to the target point cloud may refer to the volume of a spatial block corresponding to the target point cloud, for example the volume of a point cloud slice bounding box.
[0039] Here, the average occupied volume of each point in the target point cloud can be obtained based on the target volume corresponding to the target point cloud and the number of target points included in the target point cloud, and further, the sparse / dense information of the target point cloud can be determined based on the average occupied volume of each point in the target point cloud.
[0040] Further optionally, determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud includes: Dividing the target volume by the target point count to obtain a first number; and determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value.
[0041] Here, the first numerical value is used to indicate the average occupied volume of each point in the target point cloud, and sparse / dense information of the target point cloud is determined based on the relationship between the average occupied volume of each point in the target point cloud and a predetermined threshold value.
[0042] Optionally, determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value includes: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than the preset threshold value; and determining that the target point cloud is a dense point cloud if the first numerical value is equal to or less than the preset threshold value.
[0043] Here, when the average occupied volume of each point in the target point cloud is greater than a predetermined threshold, the sparsity information of the target point cloud is determined to be a sparse point cloud, and when the average occupied volume of each point in the target point cloud is equal to or less than a predetermined threshold, the sparsity information of the target point cloud is determined to be a dense point cloud.
[0044] In one embodiment of the present application, first, the size in three dimensions, x, y, and z, of a spatial block (bounding box) corresponding to a target point cloud is obtained, and the volume of this bounding box, i.e., the target volume, is calculated based on the size in the three dimensions, x, y, and z, and is defined as V. Next, the number of points in this target point cloud is obtained and defined as N. If the first numerical value is represented by P, then P=V÷N. After obtaining P, P is compared with a preset threshold Th. If the comparison result is represented by a variable S, the value of S is as follows: JPEG0007660713000001.jpg1330 After obtaining the value of S, take it as a condition for starting the isolated point coding mode, and obtain a First Input First Output (FIFO) node queue according to the node whose corresponding space block in the already constructed tree structure is occupied, as shown in FIG. 3 (assuming that the above isolated point decoding conditions include three conditions), and enter the isolated point coding mode only if the value of S is 1 and the above isolated point coding conditions are satisfied, otherwise enter the octree coding mode.
[0045] Optionally, the method of the present application further comprises: adding the preset threshold or an index of the preset threshold to geometric header information; Or, the method further includes adding the preset threshold or an index of the preset threshold to geometric slice header information; Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0046] In the embodiment of the present application, the preset threshold may be a threshold previously agreed upon between the coding end and the decoding end, and the preset threshold may not be coded. Or, the preset threshold may be a value previously set at the coding end. In this case, the coding end codes the preset threshold and adds it to the geometric header information (the target point cloud is a point cloud sequence) or to the geometric slice header information (the target point cloud is a point cloud slice). Or, the preset threshold may be one threshold in a preset threshold list, and the same preset threshold list is set at the coding end and the decoding end, and the coding end codes an index of a preset threshold selected by a user in the preset threshold list, and adds the coded index of the preset threshold to the geometric header information (the target point cloud is a point cloud sequence) or to the geometric slice header information (the target point cloud is a point cloud slice), so that the decoding end decodes the index to obtain the corresponding preset threshold, and determines whether the target point cloud is a sparse point cloud based on the preset threshold.
[0047] Optionally, prior to determining whether the target point cloud is a sparse point cloud, The method further includes obtaining the target volume and the number of target points based on geometric header information or geometric slice header information corresponding to the target point cloud.
[0048] When the target point cloud is a point cloud sequence, the target volume and the number of target points are obtained from corresponding geometric header information; when the target point cloud is a point cloud slice, the target volume and the number of target points are obtained from corresponding geometric slice header information.
[0049] Optionally, after determining the sparsity information of the target point cloud, The method further includes adding a first identifier to geometric header information or geometric slice header information corresponding to the target point cloud, the first identifier indicating sparsity information of the target point cloud.
[0050] Specifically, when the first identifier is a first value (e.g., 1), it indicates that the sparsity information of the target point cloud is a sparse point cloud, and when the first identifier is a second value (e.g., 0), it indicates that the sparsity information of the target offset is a dense point cloud.
[0051] Here, after the coding end determines that the sparsity information of the target point cloud is a sparse point cloud, it codes a first identifier, and adds the coded first identifier to geometric header information (the target point cloud is a point cloud sequence) or geometric slice header information (the target point cloud is a point cloud slice), thereby facilitating the decoding end to directly determine the sparsity information of the target point cloud based on the first identifier without determining the sparsity information.
[0052] It should be noted that there are two performance indices for evaluating point cloud compression: the first is the degree of distortion of the point cloud, and the higher the degree of distortion, the worse the objective quality of the point cloud reconstruction; the second is the size of the bitstream after compression. For lossless compression, i.e., when there is no distortion in the point cloud, only the size of the bitstream after point cloud compression is considered, but for lossy compression, both aspects need to be considered. In both cases, the size of the bitstream can be measured by the number of bits output after coding, but for the evaluation of the degree of distortion of the point cloud, PCRM provides two corresponding distortion evaluation algorithms.
[0053] In general, to evaluate the performance of a compression algorithm, the performance difference between two algorithms is generally compared using a rate-distortion (RD) curve. The ideal goal of point cloud compression is to make the code stream smaller and increase the Peak Signal-to-Noise Ratio (PSNR), which is an index that measures objective quality. However, this situation rarely occurs, and the general situation is that the code stream is lower than the original method but the PSNR, i.e., the quality of the point cloud, decreases, or the PSNR is higher but the code stream increases. In these two cases, an index that comprehensively considers the code stream and PSNR is needed to evaluate the quality of a new method. The AVS point cloud group comprehensively evaluates the coding rate and objective quality of a point cloud compression algorithm using the average coding rate difference ratio (Bjontegaard-Delta-Rate, BD-Rate) and subdivides it into two aspects of geometry and attributes, namely BD-GeomRate and BD-AttrRate. When the BD-Rate value is a negative number, it indicates that the new method has improved performance compared to the original method, while when the BD-Rate value is a positive number, it indicates that the new method has deteriorated performance compared to the original method. Meanwhile, there are two methods and results for calculating PSNR depending on whether the error is the root mean square error or the Hausdorff distance, and there are two corresponding BD-Rates. When the root mean square error is used for calculation, it is D1, and when the Hausdorff distance is used for calculation, it is D1-H. Table 1 shows the result of comparing the performance of the method of the embodiment of the present application with that of PCRM V3.0 under lossy conditions. As can be seen, regardless of whether the BD-GeomRate calculated using D1 or the BD-GeomRate calculated using D1-H is a negative value, that is, the coding performance can be effectively improved by adopting the method of the embodiment of the present application.
[0054] [Table 1]
[0055] In the embodiment of the present application, first determine the sparsity information of the target point cloud, and then start the isolated point coding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and the target point cloud satisfies the isolated point coding condition. In this way, the nodes that need to be isolated point coded can be quickly selected according to the sparsity information and the isolated point coding condition, so as to effectively guarantee the coding performance.
[0056] As shown in FIG. 4, an embodiment of the present application further provides a point cloud decoding processing method, which includes the following steps:
[0057] Step 401: Determine sparsity information of the target point cloud.
[0058] In this step, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.
[0059] Here, by determining the sparseness information of the target point cloud, it becomes easier to subsequently determine whether to initiate the isolated point decoding mode based on this sparseness information, i.e., to determine whether to initiate the isolated point decoding mode in conjunction with the target point cloud's own features.
[0060] Step 402: Start an outlier decoding mode if the sparseness information indicates that the target point cloud is a sparse point cloud and the nodes to be decoded corresponding to the target point cloud satisfy an outlier decoding condition.
[0061] As an alternative implementation, the outlier decoding conditions include: an isolated point direct decoding mode identifier in the geometric header information corresponding to the target point cloud (the target point cloud is a point cloud sequence) or in the geometric slice header information (the target point cloud is a point cloud slice) is a second preset value, for example, the second preset value is 1; A sum of the number of Morton code bits to be decoded of the second target points is greater than a preset multiple (e.g., two) of a third numerical value, the second target points include points in the target point cloud located in a space block corresponding to a node to be currently decoded, the third numerical value is a number of second target edge lengths in the space block corresponding to the node to be currently decoded, the second target edge lengths include edge lengths in a preset direction, and the second target edge lengths are smaller than a minimum edge length in the preset direction, where the preset direction includes at least one of an X direction, a Y direction, and a Z direction.
[0062] In this implementation, the isolated point decoding module includes: decoding singlePointFlag; and when the value of singlePointFlag is 1, decoding the geometric coordinates of the point in the spatial block corresponding to the node currently to be coded.
[0063] As another alternative implementation manner, the outlier decoding conditions include: an isolated point direct decoding mode identifier in the geometric header information corresponding to the target point cloud (the target point cloud is a point cloud sequence) or in the geometric slice header information (the target point cloud is a point cloud slice) is a second preset value, for example, the second preset value is 1; a sum of the number of Morton code bits to be decoded of the second target points is greater than a preset multiple (e.g., two) of a third numerical value, the second target points include points in the target point cloud located in a spatial block corresponding to a node to be currently decoded, the third numerical value is a number of second target edge lengths in the spatial block corresponding to the node to be currently decoded, the second target edge lengths include edge lengths in a preset direction, and the second target edge lengths are smaller than a minimum edge length in the preset direction, where the preset direction includes at least one of an X direction, a Y direction, and a Z direction; There is only one point in the spatial block that corresponds to the node currently to be decoded.
[0064] In this implementation, the outlying point decoding mode involves decoding the geometric coordinates of the point within the spatial block that corresponds to the node currently to be decoded.
[0065] The point cloud decoding processing method of the embodiment of the present application first determines the sparsity information of the target point cloud, and when the sparsity information indicates that the target point cloud is a sparse point cloud and the node to be decoded corresponding to the target point cloud satisfies the isolated point decoding condition, starts the isolated point decoding mode. In this way, the node suitable for performing isolated point decoding can be quickly selected according to the sparsity information and the isolated point decoding condition, so as to effectively guarantee the decoding performance.
[0066] As a first selective realization method, determining the sparse / dense information of the target point cloud is: Determining sparsity information for the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0067] The target volume corresponding to the target point cloud may refer to the volume of a spatial block corresponding to the target point cloud, for example the volume of a point cloud slice bounding box.
[0068] Here, the average occupied volume of each point in the target point cloud can be obtained based on the target volume corresponding to the target point cloud and the number of target points included in the target point cloud, and further, the sparse / dense information of the target point cloud can be determined based on the average occupied volume of each point in the target point cloud.
[0069] Optionally, determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud includes: Dividing the target volume by the target point count to obtain a first number; and determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value.
[0070] Here, the first numerical value is used to indicate the average occupied volume of each point in the target point cloud, and sparse / dense information of the target point cloud is determined based on the relationship between the average occupied volume of each point in the target point cloud and a predetermined threshold value.
[0071] Optionally, determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value includes: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than a preset threshold value; and determining that the target point cloud is a dense point cloud when the first numerical value is equal to or smaller than a preset threshold value.
[0072] Here, when the average occupied volume of each point in the target point cloud is greater than a predetermined threshold, the sparsity information of the target point cloud is determined to be a sparse point cloud, and when the average occupied volume of each point in the target point cloud is equal to or less than a predetermined threshold, the sparsity information of the target point cloud is determined to be a dense point cloud.
[0073] In one embodiment of the present application, first, the size in three dimensions, x, y, and z, of a spatial block (bounding box) corresponding to a target point cloud is obtained, and the volume of this bounding box, i.e., the target volume, is calculated based on the size in the three dimensions, x, y, and z, and is defined as V. Next, the number of points in this target point cloud is obtained and defined as N. If the first numerical value is represented by P, then P=V÷N. After obtaining P, P is compared with a preset threshold Th. If the comparison result is represented by a variable S, the value of S is as follows: JPEG0007660713000003.jpg1330 After obtaining the value of S, it is taken as a condition for starting the isolated point decoding mode. Only if the value of S is 1 and satisfies the above isolated point decoding condition, enter the isolated point decoding mode; otherwise, access the octree decoding mode.
[0074] Optionally, before determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value, obtaining the preset threshold value or an index of the preset threshold value in geometric header information corresponding to the target point cloud; Or, the method further includes obtaining the preset threshold value or an index of the preset threshold value in geometric slice header information corresponding to the target point cloud; Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0075] In an embodiment of the present application, the preset threshold may be a threshold previously agreed upon between the coding end and the decoding end. Or, the preset threshold may be a value previously set at the coding end. In this case, the coding end codes the preset threshold and adds it to the geometric header information (the target point cloud is a point cloud sequence) or the geometric slice header information (the target point cloud is a point cloud slice), and the decoding end decodes the geometric header information or the geometric slice header information to obtain the preset threshold. Alternatively, the preset threshold may be a threshold in a preset threshold list, and the same preset threshold list is set at the coding end and the decoding end, and the coding end codes an index of the preset threshold selected by the user in the preset threshold list, and adds the coded index of the preset threshold to geometric header information (the target point cloud is a point cloud sequence) or geometric slice header information (the target point cloud is a point cloud slice), and the decoding end decodes the index to obtain a corresponding preset threshold, and determines whether the target point cloud is a sparse point cloud based on the preset threshold.
[0076] Optionally, prior to determining whether the target point cloud is a sparse point cloud, The method further includes obtaining the target volume and the number of target points based on geometric header information or geometric slice header information corresponding to the target point cloud.
[0077] When the target point cloud is a point cloud sequence, the target volume and the number of target points are obtained from corresponding geometric header information; when the target point cloud is a point cloud slice, the target volume and the number of target points are obtained from corresponding geometric slice header information.
[0078] As a second alternative realization method, determining the sparseness information of the target point cloud is: If a first identifier is present in geometric header information or geometric slice header information corresponding to the target point cloud, determining sparsity information for the target point cloud based on the first identifier.
[0079] Specifically, when the first identifier is a first value (e.g., 1), it indicates that the sparsity information of the target point cloud is a sparse point cloud, and when the first identifier is a second value (e.g., 0), it indicates that the sparsity information of the target offset is a dense point cloud.
[0080] In this implementation, the decoding end can directly decode this first identifier without judging the sparseness information based on the target volume and the number of target points of the target point cloud, and determine whether the sparseness information of the target point cloud is a sparse point cloud or a dense point cloud.
[0081] The point cloud decoding processing method of the embodiment of the present application first determines the sparsity information of the target point cloud, and when the sparsity information indicates that the target point cloud is a sparse point cloud and the node to be decoded corresponding to the target point cloud satisfies the isolated point decoding condition, starts the isolated point decoding mode. In this way, the node suitable for performing isolated point decoding can be quickly selected according to the sparsity information and the isolated point decoding condition, so as to effectively guarantee the decoding performance.
[0082] It should be noted that in the point cloud coding processing method according to the embodiment of the present application, the execution body can be a point cloud coding processing device, or a control module for executing the point cloud coding processing method in the point cloud coding processing device. In the embodiment of the present application, the point cloud coding processing device according to the embodiment of the present application is taken as an example to execute the point cloud coding processing method by the point cloud coding processing device to describe the point cloud coding processing device according to the embodiment of the present application.
[0083] As shown in FIG. 5 , an embodiment of the present application further provides a point cloud coding processing device 500, which includes: a first determination module 501 for determining sparsity information of a target point cloud; and a first processing module 502 for initiating an isolated point coding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0084] Optionally, the first determination module is adapted to determine sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0085] Optionally, the first determination module: a first determination submodule for dividing the target volume by the target point count to obtain a first numerical value; and a second determining sub-module for determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value.
[0086] Optionally, the second determination submodule: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than the preset threshold value; and determining that the target point cloud is a dense point cloud if the first numerical value is less than or equal to the preset threshold.
[0087] Optionally, the device of the present application comprises: adding the preset threshold or an index of the preset threshold to geometric header information; Or, a first coding module for adding the preset threshold or an index of the preset threshold to geometric slice header information; Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0088] Optionally, the device of the present application comprises: Before the first determination module determines whether the target point cloud is a sparse point cloud, the first determination module further includes a first acquisition module for acquiring the target volume and the target point count based on geometric header information or geometric slice header information corresponding to the target point cloud.
[0089] Optionally, the device of the present application comprises: The method further includes a second coding module for adding a first identifier to geometric header information or geometric slice header information corresponding to the target point cloud, after the first determination module determines the sparsity information of the target point cloud, for indicating the sparsity information of the target point cloud.
[0090] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
[0091] In the embodiment of the present application, first determine the sparsity information of the target point cloud, and when the sparsity information indicates that the target point cloud is a sparse point cloud and the node to be decoded corresponding to the target point cloud satisfies the isolated point decoding condition, start the isolated point decoding mode. In this way, the node suitable for performing isolated point decoding can be quickly selected according to the sparsity information and the isolated point decoding condition, so as to effectively guarantee the decoding performance.
[0092] The point cloud coding processing device in the embodiments of the present application may be a device, a device having an operating system, or an electronic device, or may be a component, an integrated circuit, or a chip in a terminal, which may be a mobile terminal or a non-mobile terminal.
[0093] The point cloud coding processing device according to the embodiment of the present application can realize each process realized by the embodiment of the method of Figures 2 to 3 and achieve the same technical effects, and will not be further described here to avoid repetition of description.
[0094] Optionally, as shown in Fig. 6, an embodiment of the present application further provides a point cloud coding processing device, which includes a processor 601, a memory 602, and a program or instruction stored in the memory 602 and operable on the processor 601. When the program or instruction is executed by the processor 601, each process of the embodiment of the point cloud coding processing method can be realized, and the same technical effect can be achieved. In order to avoid repetition, no further description will be given here.
[0095] An embodiment of the present application further provides a point cloud coding processing device, including a processor and a communication interface, wherein the processor is used to determine sparseness information of a target point cloud, and initiate an isolated point coding mode when the sparseness information indicates that the target point cloud is a sparse point cloud, and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0096] FIG. 7 is a schematic diagram of a hardware structure for realizing a point cloud coding processing device of an embodiment of the present application, which includes at least some components such as, but not limited to, a radio frequency unit 701, a network module 702, an audio output unit 703, an input unit 704, a sensor 705, a display unit 706, a user input unit 707, an interface unit 708, a memory 709, and a processor 710.
[0097] As can be understood by those skilled in the art, the point cloud coding processing device 700 may further include a power source (e.g., a battery) for powering each component, and the power source may be logically connected to the processor 710 by a power management system, so that the power management system can realize functions such as charging and discharging management and power consumption management. The structure shown in Figure 7 does not constitute a limitation on the point cloud coding processing device, and the point cloud coding processing device may include more or less components than the number of components shown, or a combination of some components, or a different arrangement of components, and will not be further described here.
[0098] It should be understood that in the embodiment of the present application, the input unit 704 may include a graphics processor (Graphics Processing Unit, GPU) 7041 and a microphone 7042, and the graphics processor 7041 processes image data of still or video images obtained by an image capture device (e.g., a camera) in a video capture mode or an image capture mode. The display unit 706 may include a display panel 7061, and the display panel 7061 may be configured in the form of a liquid crystal display, an organic light emitting diode, and the like. The user input unit 707 includes a touch panel 7071 and other input devices 7072. The touch panel 7071 is also called a touch screen. The touch panel 7071 may include two parts: a touch detection device and a touch controller. The other input devices 7072 may include, but are not limited to, a physical keyboard, function keys (e.g., volume control buttons, switch buttons, etc.), a trackball, a mouse, and a control lever, which will not be described further herein.
[0099] In the embodiment of the present application, the radio frequency unit 701 generally 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.
[0100] The memory 709 may be used to store software programs or instructions and various data. The memory 709 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, an application program or instruction required for at least one function (e.g., a sound playback function, an image playback function, etc.), and the like. The memory 709 may include a high-speed random access memory or 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 device.
[0101] The processor 710 may include one or more processing units. Optionally, the processor 710 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, and application programs or instructions, and the modem processor mainly processes wireless communication, such as a baseband processor. As can be understood, the modem processor does not have to be integrated into the processor 710.
[0102] Optionally, the processor 710 is used to determine sparsity information of the target point cloud, and initiate an isolated point coding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition.
[0103] Optionally, the processor 710 is adapted to determine sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0104] Optionally, the processor 710 divides the target volume by the target point count to obtain a first numerical value; and determining sparse / dense information of the target point cloud based on a relationship between the first numerical value and a preset threshold value.
[0105] Optionally, the processor 710 may: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than the preset threshold value; and determining that the target point cloud is a dense point cloud if the first numerical value is less than or equal to the preset threshold.
[0106] Optionally, the processor 710 adds the preset threshold or an index of the preset threshold to geometric header information; or for adding said preset threshold or an index of said preset threshold to geometric slice header information, Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0107] Optionally, the processor 710 is used to obtain the target volume and the target point count based on geometric header information or geometric slice header information corresponding to the target point cloud before determining whether the target point cloud is a sparse point cloud.
[0108] Optionally, after determining the sparsity information of the target point cloud, the processor 710 is used to add a first identifier to the geometric header information or the geometric slice header information corresponding to the target point cloud to indicate the sparsity information of the target point cloud.
[0109] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
[0110] The point cloud coding processing device of the embodiment of the present application first determines the sparseness information of the target point cloud, and then starts the isolated point coding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and the target point cloud satisfies the isolated point coding condition. In this way, the node suitable for performing isolated point coding can be quickly selected according to the sparseness information and the isolated point coding condition, so as to effectively ensure the coding performance.
[0111] It should be noted that in the point cloud decoding processing method according to the embodiment of the present application, the execution body can be a point cloud decoding processing device, or a control module for executing the point cloud decoding processing method in the point cloud decoding processing device. In the embodiment of the present application, the point cloud decoding processing device according to the embodiment of the present application is described by taking the point cloud decoding processing device executing the point cloud decoding processing method as an example.
[0112] As shown in FIG. 8 , the embodiment of the present application further provides a point cloud decoding processing device 800, which includes: a second determination module 801 for determining sparsity information of the target point cloud; and a second processing module 802 for initiating an isolated point decoding mode when the sparseness information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition.
[0113] Optionally, the second determination module is adapted to determine sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0114] Optionally, the second determination module: a third determination sub-module for dividing the target volume by the target point count to obtain a first numerical value; and a fourth determining sub-module for determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value.
[0115] Optionally, the fourth determination submodule: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than a preset threshold value; and determining that the sparse information of the target point cloud is a dense point cloud if the first numerical value is equal to or less than a preset threshold.
[0116] Optionally, the device of the present application comprises: Before the fourth determination submodule determines sparsity information of the target point cloud based on the relationship between the first numerical value and a preset threshold, a second acquisition module is further included for acquiring the preset threshold or an index of the preset threshold in geometric header information corresponding to the target point cloud, or acquiring the preset threshold or an index of the preset threshold in geometric slice header information corresponding to the target point cloud; Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0117] Optionally, the device of the present application comprises: Before the second determination module determines whether the target point cloud is a sparse point cloud, the second determination module further includes a third acquisition module for acquiring the target volume and the target point count based on geometric header information or geometric slice header information corresponding to the target point cloud.
[0118] Optionally, the second determination module is used to determine sparsity information of the target point cloud based on a first identifier if a first identifier is present in geometric header information or geometric slice header information corresponding to the target point cloud.
[0119] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
[0120] The point cloud decoding processing device of the embodiment of the present application first determines the sparsity information of the target point cloud, and when the sparsity information indicates that the target point cloud is a sparse point cloud and the target point cloud satisfies the isolated point decoding condition, starts the isolated point decoding mode. In this way, the node suitable for performing isolated point decoding can be quickly selected according to the sparsity information and the isolated point decoding condition, so as to effectively guarantee the decoding performance.
[0121] The point cloud decoding processing device in the embodiments of the present application may be a device, a device having an operating system or an electronic device, or may be a component, an integrated circuit or a chip in a terminal. The device or electronic device may be a mobile terminal or a non-mobile terminal.
[0122] The point cloud decoding processing device according to the embodiment of the present application can realize each process realized by the embodiment of the method of Figure 4 and achieve the same technical effect, and will not be further described here to avoid repetition of description.
[0123] Optionally, the embodiment of the present application further provides a point cloud decoding processing device (the structure of which can be seen in FIG. 6), which includes a processor, a memory, and a program or instruction stored in the memory and operable on the processor, and when the program or instruction is executed by the processor, each process of the embodiment of the point cloud decoding processing method can be realized, and the same technical effect can be achieved. In order to avoid repetition, no further description will be given here.
[0124] An embodiment of the present application further provides a point cloud decoding processing device, including a processor and a communication interface, wherein the processor is used to determine sparseness information of a target point cloud, and initiate an isolated point decoding mode when the sparseness information indicates that the target point cloud is a sparse point cloud, and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition.
[0125] An embodiment of the present application further provides a point cloud decoding processing device, the hardware structure schematic diagram of which can be referred to in FIG. 7, and the point cloud decoding processing device includes at least some components such as, but not limited to, a radio frequency unit, a network module, an audio output unit, an input unit, a sensor, a display unit, a user input unit, an interface unit, a memory, and a processor.
[0126] As can be understood by those skilled in the art, the point cloud decoding processing device may further include a power source (e.g., a battery) for powering each component, and the power source may be logically connected to the processor by a power management system. Thus, the power management system can realize functions such as charging and discharging management and power consumption management. The structure shown in Figure 7 does not constitute a limitation on the point cloud decoding processing device, and the point cloud decoding processing device may include more or less components than the number of components shown, or a combination of some components, or a different arrangement of components, and will not be further described here.
[0127] It should be understood that in the embodiment of the present application, the input unit may include a graphics processor (Graphics Processing Unit, GPU) and a microphone, and the graphics processor processes image data of still or video images captured by an image capture device (e.g., a camera) in a video capture mode or an image capture mode. The display unit may include a display panel, and the display panel may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit includes a touch panel and other input devices. The touch panel is also called a touch screen. The touch panel may include two parts: a touch detection device and a touch controller. The other input devices may include, but are not limited to, a physical keyboard, function keys (e.g., volume control buttons, switch buttons, etc.), a trackball, a mouse, and a control lever, which will not be described further herein.
[0128] In the embodiments of the present application, the radio frequency unit generally 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.
[0129] The memory may be used to store software programs or instructions and various data. The memory 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, an application program or instruction required for at least one function (e.g., a sound playback function, an image playback function, etc.), and the like. The memory may include a high-speed random access memory or 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 device.
[0130] The processor may include one or more processing units. Optionally, the processor may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, and application programs or instructions, and the modem processor mainly processes wireless communication, such as a baseband processor. As can be understood, the modem processor does not have to be integrated into the processor.
[0131] Optionally, the processor is used to determine sparsity information of a target point cloud, and to initiate an isolated point decoding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition.
[0132] Optionally, the processor is adapted to determine sparsity information for the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud.
[0133] Optionally, the processor is used to divide the target volume by the number of target points to obtain a first numerical value, and determine sparsity information of the target point cloud based on a relationship between the first numerical value and a predetermined threshold value.
[0134] Optionally, the processor: determining that the target point cloud is a sparse point cloud when the first numerical value is greater than a preset threshold value; and determining that the sparse information of the target point cloud is a dense point cloud if the first numerical value is equal to or less than a preset threshold.
[0135] Optionally, the processor is used to obtain the preset threshold or an index of the preset threshold in geometric header information corresponding to the target point cloud before determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold, or to obtain the preset threshold or an index of the preset threshold in geometric slice header information corresponding to the target point cloud; Here, the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
[0136] Optionally, the processor is adapted to obtain the target volume and the target point count based on geometric header information or geometric slice header information corresponding to the target point cloud before determining whether the target point cloud is a sparse point cloud.
[0137] Optionally, the processor is used to determine sparsity information of the target point cloud based on a first identifier if the first identifier is present in geometric header information or geometric slice header information corresponding to the target point cloud.
[0138] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
[0139] The point cloud decoding processing device of the embodiment of the present application first determines the sparsity information of the target point cloud, and when the sparsity information indicates that the target point cloud is a sparse point cloud and the target point cloud satisfies the isolated point decoding condition, starts the isolated point decoding mode. In this way, the node suitable for performing isolated point decoding can be quickly selected according to the sparsity information and the isolated point decoding condition, so as to effectively guarantee the decoding performance.
[0140] The embodiments of the present application further provide a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, each process of the above-mentioned point cloud coding processing method or point cloud decoding processing method embodiment can be realized, and the same technical effect can be achieved. In order to avoid repetition, no further description will be given here.
[0141] Wherein, the processor is the processor in the point cloud coding processing device or the point cloud decoding processing device 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.
[0142] The embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled with the processor, the processor runs a program or instruction, and is used to realize each process of the embodiment of the point cloud decoding processing method or the point cloud coding processing method, and can achieve the same technical effect. In order to avoid repetition, no further description will be given here.
[0143] It should be understood that the chips referred to in the embodiments of the present application may be referred to as system level chips, system chips, chip systems, or systems on chips.
[0144] The embodiments of the present application further provide a computer program product, the computer program product being stored in a non-transitory storage medium, the computer program product being executed by at least one processor to realize the above point cloud coding processing method or each process of the embodiments of the point cloud coding processing method, and to achieve the same technical effects. In order to avoid repetition, no further description will be given here.
[0145] It should be explained that in this specification, the terms "comprise", "include", "includes" or any other variants thereof are intended to cover the non-exclusive "comprise", whereby a process, method, article or apparatus that includes a set of elements includes not only those elements, but also other elements not expressly listed or inherent to such process, method, article or apparatus. Absent any further limitations, an element limited by the phrase "comprises one or more" does not preclude the presence of other identical elements in the process, method, article or apparatus that includes the element. It should be pointed out that the scope of the method and apparatus in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may include performing functions in an essentially simultaneous manner or in the reverse order based on the functions involved, for example, the described method can be performed in a different order than described, and various steps can be added, omitted or combined. Also, features described with reference to some examples can be combined in other examples.
[0146] From the above description of the embodiments, it is clear to those skilled in the art that the methods of the above embodiments can be realized in the form of software and a necessary general-purpose hardware platform. Of course, they can also be realized in hardware, but in many cases the former is a more preferred embodiment. In light of this understanding, the technical proposal of the present application may be substantially embodied in the form of a computer software product, which is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) and includes some instructions for causing a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the embodiments of the present application.
[0147] The above describes the embodiments of the present application in conjunction with the drawings, but the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not limiting. Those skilled in the art can take the suggestions of this application and make many forms without departing from the spirit and scope of the claims of this application, all of which belong to the protection scope of this application.
Claims
1. A point cloud coding processing method applied to a coding end, comprising: determining sparsity information of the target point cloud; starting an isolated point coding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be coded corresponding to the target point cloud satisfies an isolated point coding condition; Determining sparsity information of the target point cloud includes: determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud; Determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud, Dividing the target volume by the target point count to obtain a first number; determining density information of the target point cloud based on a relationship between the first numerical value and a preset threshold value; After determining that the sparseness information of the target point cloud is a sparse point cloud, the point cloud coding processing method includes: A point cloud coding processing method, further comprising: coding a first identifier; and adding the coded first identifier to geometric header information or geometric slice header information corresponding to the target point cloud, wherein the first identifier is used to indicate sparsity information of the target point cloud.
2. Determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value, determining that the target point cloud is a sparse point cloud when the first numerical value is greater than the preset threshold value; The point cloud coding processing method according to claim 1 , further comprising at least one of: determining that the target point cloud is a dense point cloud when the first numerical value is equal to or less than the preset threshold value.
3. adding the preset threshold value or an index of the preset threshold value to geometric header information; Or, the method further includes adding the preset threshold or an index of the preset threshold to geometric slice header information; The point cloud coding processing method according to claim 1 , wherein the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
4. Prior to determining whether the target point cloud is a sparse point cloud, The point cloud coding processing method of claim 1 , further comprising: obtaining the target volume and the target point number based on geometric header information or geometric slice header information corresponding to the target point cloud.
5. A point cloud decoding processing method applied to a decoding end, comprising: determining sparsity information of the target point cloud; starting an isolated point decoding mode when the sparsity information indicates that the target point cloud is a sparse point cloud and a node to be decoded corresponding to the target point cloud satisfies an isolated point decoding condition; Determining sparsity information of the target point cloud includes: determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud; Determining sparsity information of the target point cloud based on a target volume corresponding to the target point cloud and a number of target points included in the target point cloud, Dividing the target volume by the target point count to obtain a first number; determining density information of the target point cloud based on a relationship between the first numerical value and a preset threshold value; Determining sparsity information of the target point cloud further comprises: When a first identifier exists in the geometric header information or the geometric slice header information corresponding to the target point cloud, the decoding end directly decodes the first identifier to determine sparsity information of the target point cloud without determining sparsity information based on the target volume and the target point number of the target point cloud; A decoding processing method, wherein the first identifier is coded and added to geometric header information or geometric slice header information corresponding to the target point cloud after a coding end determines that the sparsity information of the target point cloud is a sparse point cloud, and the first identifier is used to indicate the sparsity information of the target point cloud.
6. Determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value, determining that the target point cloud is a sparse point cloud when the first numerical value is greater than a preset threshold value; 6. The point cloud decoding processing method according to claim 5, further comprising at least one of: determining that the sparse information of the target point cloud is a dense point cloud when the first numerical value is equal to or smaller than a preset threshold value.
7. before determining sparsity information of the target point cloud based on a relationship between the first numerical value and a preset threshold value, obtaining the preset threshold value or an index of the preset threshold value in geometric header information corresponding to the target point cloud; Or, the method further includes obtaining the preset threshold value or an index of the preset threshold value in geometric slice header information corresponding to the target point cloud; The point cloud decoding processing method of claim 5 , wherein the index of the preset threshold corresponds to one threshold in a preset threshold list, and the preset threshold list includes at least one threshold.
8. Before determining whether the target point cloud is a sparse point cloud, The point cloud decoding processing method of claim 5 , further comprising: obtaining the target volume and the target point number according to geometric header information or geometric slice header information corresponding to the target point cloud.
9. A point cloud coding processing device comprising a processor, a memory, and a program or instructions stored in the memory and capable of running on the processor, wherein when the program or instructions are executed by the processor, the point cloud coding processing device realizes the steps of a point cloud coding processing method described in any one of claims 1 to 4.
10. A point cloud decoding processing device comprising a processor, a memory, and a program or instructions stored in the memory and capable of running on the processor, wherein when the program or instructions are executed by the processor, the point cloud decoding processing device realizes the steps of a point cloud decoding processing method described in any one of claims 5 to 8.
11. A readable storage medium on which a program or instructions are stored, which, when executed by a processor, realizes the steps of a point cloud coding processing method described in any one of claims 1 to 4.
12. A readable storage medium on which a program or instructions are stored, which, when executed by a processor, realizes the steps of a point cloud decoding processing method described in any one of claims 5 to 8.
Citation Information
Patent Citations
Methods and devices using direct coding in point cloud compression
US20200396489A1
Three-dimensional data coding method, three-dimensional data decoding method, three-dimensional data coding device, and three-dimensional data decoding device
WO2017104115A1
Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2019142834A1
Information processing device and method
WO2020262019A1